OpenCode 命令功能:从创建到使用的完整指南
OpenCode 是一个开源的 AI 编码助手,能在终端、IDE 或桌面应用中运行。它的命令系统是核心功能之一,通过内置命令和自定义命令,你可以快速自动化开发工作流。本文将详细介绍 OpenCode 的命令功能——从内置命令到自定义命令的创建和使用。
快速上手:内置命令让你秒懂怎么用
启动 OpenCode 的两种方式
在开始使用命令之前,你需要知道怎么打开 OpenCode:
- Mac 用户:按
Cmd+Esc在分屏终端中打开,按Cmd+Shift+Esc开启新会话 - Windows/Linux 用户:按
Ctrl+Esc在分屏终端中打开,按Ctrl+Shift+Esc开启新会话
这些快捷键让你在写代码的时候,随时能把 OpenCode 叫出来,不用切换窗口,效率直接拉满。
7 个必知的内置命令
OpenCode 自带了一些常用命令,你可以直接在对话框里输入使用:
/init:初始化项目配置,让 OpenCode 理解你的项目结构/undo和/redo:撤销和重做操作,改错了不用慌/share:生成公开链接,把你和 OpenCode 的对话分享给团队成员/unshare:取消分享,删除公开访问权限/help:查看帮助文档,忘记命令就用它/models:切换 LLM 模型,比如选择 GLM-4.7 或其他模型
这些命令覆盖了日常开发的基本需求。比如你在调试一个复杂问题,想让同事帮忙看看,直接 /share 就能生成链接,对方点开就能看到完整的对话历史和上下文。
命令行工具(CLI)
除了在界面里用命令,OpenCode 还提供了命令行工具:
# 启动 TUI 界面
opencode
# 管理 agents
opencode agent create
opencode agent list
# 连接到运行中的 OpenCode 后端
opencode attach [url]
# 管理凭证和登录
opencode auth login
opencode auth list
opencode auth logout
# 在 GitHub 仓库中安装 GitHub agent
opencode github install
这些 CLI 命令让你可以在脚本里调用 OpenCode,或者在 CI/CD 流程中集成它。
自定义命令:打造你的专属工作流
内置命令虽然好用,但每个团队的工作流程都不一样。这时候自定义命令就派上用场了。
什么是自定义命令?
自定义命令本质上是可复用的提示模板。你可以把常用的操作封装成命令,比如:
- 生成单元测试
- 代码审查检查清单
- API 文档生成
- 数据库迁移脚本创建
这些命令可以引用文件、执行 shell 命令、接受参数,甚至链式调用多个步骤来自动化复杂的工作流。
创建方式:JSON 或 Markdown
OpenCode 支持两种方式定义自定义命令:
方式一:JSON 配置文件
通常放在项目根目录的 .opencode/commands/ 文件夹中(项目级)或全局配置目录(全局级)。
{
"name": "test",
"description": "为当前文件生成单元测试",
"prompt": "请为 {{file}} 生成完整的单元测试,覆盖所有主要功能",
"args": {
"file": {
"type": "string",
"required": true,
"description": "要测试的文件路径"
}
}
}
方式二:Markdown 文件
更适合需要详细说明的复杂命令。
---
name: review
description: 代码审查检查清单
---
请对以下代码进行审查,重点关注:
1. 代码规范和风格一致性
2. 潜在的性能问题
3. 安全漏洞(SQL 注入、XSS 等)
4. 错误处理是否完善
5. 是否有重复代码可以抽取
{{code}}
全局 vs 项目级配置
- 全局配置:适用于所有项目的通用命令,比如代码格式化、文档生成
- 项目级配置:针对特定项目的命令,比如特定框架的脚手架生成
项目级配置会覆盖全局配置中的同名命令,这样你可以为不同项目定制不同的行为。
实战应用:命令能帮你做什么
GitHub 工作流集成
OpenCode 最酷的功能之一是和 GitHub 的深度集成。你只需要在 issue 或 PR 的评论里提到 /opencode 或 /oc,它就会:
- 读取整个讨论线程,理解问题背景
- 自动创建新分支
- 实现代码更改
- 提交 PR 等待你审查
举个例子,你在 issue 里写:
/opencode 这个登录接口需要添加 rate limiting,防止暴力破解
OpenCode 会自动分析代码,找到登录接口,添加限流逻辑,然后提交 PR。你只需要审查代码,确认没问题就合并。
工具系统扩展
OpenCode 内置了一些实用工具,你也可以通过 MCP(Model Context Protocol)服务器集成自定义工具:
内置工具示例:
websearch:使用 Exa AI 进行网络搜索,查找最新的技术文档或解决方案question:在执行过程中向你提问,确认关键决策write:创建新文件或覆盖现有文件
这些工具的行为可以通过权限配置来控制,确保 OpenCode 不会在未经允许的情况下修改重要文件。
自动化工作流案例
案例 1:API 开发流程
创建一个命令,自动生成 API 端点、对应的测试和文档:
/api-scaffold user-profile GET /api/users/:id
这个命令会:
- 生成路由处理函数
- 创建数据模型
- 编写单元测试
- 更新 API 文档
案例 2:代码审查自动化
在提交 PR 前,运行自定义的审查命令:
/pre-commit-check
这个命令会:
- 检查代码风格
- 运行静态分析
- 执行测试套件
- 生成审查报告
最佳实践:让命令更好用
命令设计原则
- 命名清晰:用动词开头,比如
/generate-test而不是/test - 单一职责:一个命令只做一件事,复杂流程用多个命令组合
- 提供默认值:让常用参数有合理的默认值,减少输入
- 添加描述:详细的 description 能帮助团队成员快速理解命令用途
常见使用场景
场景 1:快速原型开发
当你需要快速验证一个想法时,用命令生成基础代码框架,然后手动调整细节。
场景 2:团队协作
把团队的编码规范、审查标准封装成命令,确保每个人都遵循相同的标准。
场景 3:重复性任务
数据库迁移、配置文件生成、日志分析等重复性工作,用命令一键完成。
注意事项
- 权限控制:对于会修改文件或执行 shell 命令的工具,务必配置好权限
- 版本管理:把自定义命令配置文件纳入版本控制,方便团队共享
- 测试验证:新建的命令先在测试项目里验证,确保没问题再用到生产代码
- 文档维护:为复杂命令编写使用文档,包括参数说明和示例
写在最后
OpenCode 的命令系统让 AI 编码助手从"对话工具"变成了"工作流引擎"。通过内置命令,你能快速上手;通过自定义命令,你能打造适合自己团队的开发流程。
如果你还在手动重复那些枯燥的编码任务,不妨试试 OpenCode。从简单的 /init 开始,慢慢探索自定义命令的可能性,你会发现开发效率能提升不止一个档次。
现在就打开终端,按下 Cmd+Esc(或 Ctrl+Esc),让 OpenCode 成为你的编码搭档吧。
参考资料: