OpenCode 命令功能:从创建到使用的完整指南

196 次阅读

OpenCode 命令功能:从创建到使用的完整指南

OpenCode 是一个开源的 AI 编码助手,能在终端、IDE 或桌面应用中运行。它的命令系统是核心功能之一,通过内置命令和自定义命令,你可以快速自动化开发工作流。本文将详细介绍 OpenCode 的命令功能——从内置命令到自定义命令的创建和使用。

快速上手:内置命令让你秒懂怎么用

启动 OpenCode 的两种方式

在开始使用命令之前,你需要知道怎么打开 OpenCode:

  • Mac 用户:按 Cmd+Esc 在分屏终端中打开,按 Cmd+Shift+Esc 开启新会话
  • Windows/Linux 用户:按 Ctrl+Esc 在分屏终端中打开,按 Ctrl+Shift+Esc 开启新会话

这些快捷键让你在写代码的时候,随时能把 OpenCode 叫出来,不用切换窗口,效率直接拉满。

7 个必知的内置命令

OpenCode 自带了一些常用命令,你可以直接在对话框里输入使用:

  1. /init:初始化项目配置,让 OpenCode 理解你的项目结构
  2. /undo/redo:撤销和重做操作,改错了不用慌
  3. /share:生成公开链接,把你和 OpenCode 的对话分享给团队成员
  4. /unshare:取消分享,删除公开访问权限
  5. /help:查看帮助文档,忘记命令就用它
  6. /models:切换 LLM 模型,比如选择 GLM-4.7 或其他模型

这些命令覆盖了日常开发的基本需求。比如你在调试一个复杂问题,想让同事帮忙看看,直接 /share 就能生成链接,对方点开就能看到完整的对话历史和上下文。

命令行工具(CLI)

除了在界面里用命令,OpenCode 还提供了命令行工具:

bash
# 启动 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/ 文件夹中(项目级)或全局配置目录(全局级)。

json
{
  "name": "test",
  "description": "为当前文件生成单元测试",
  "prompt": "请为 {{file}} 生成完整的单元测试,覆盖所有主要功能",
  "args": {
    "file": {
      "type": "string",
      "required": true,
      "description": "要测试的文件路径"
    }
  }
}

方式二:Markdown 文件

更适合需要详细说明的复杂命令。

markdown
---
name: review
description: 代码审查检查清单
---

请对以下代码进行审查,重点关注:

1. 代码规范和风格一致性
2. 潜在的性能问题
3. 安全漏洞(SQL 注入、XSS 等)
4. 错误处理是否完善
5. 是否有重复代码可以抽取

{{code}}

全局 vs 项目级配置

  • 全局配置:适用于所有项目的通用命令,比如代码格式化、文档生成
  • 项目级配置:针对特定项目的命令,比如特定框架的脚手架生成

项目级配置会覆盖全局配置中的同名命令,这样你可以为不同项目定制不同的行为。

实战应用:命令能帮你做什么

GitHub 工作流集成

OpenCode 最酷的功能之一是和 GitHub 的深度集成。你只需要在 issue 或 PR 的评论里提到 /opencode/oc,它就会:

  1. 读取整个讨论线程,理解问题背景
  2. 自动创建新分支
  3. 实现代码更改
  4. 提交 PR 等待你审查

举个例子,你在 issue 里写:

shell
/opencode 这个登录接口需要添加 rate limiting,防止暴力破解

OpenCode 会自动分析代码,找到登录接口,添加限流逻辑,然后提交 PR。你只需要审查代码,确认没问题就合并。

工具系统扩展

OpenCode 内置了一些实用工具,你也可以通过 MCP(Model Context Protocol)服务器集成自定义工具:

内置工具示例:

  • websearch:使用 Exa AI 进行网络搜索,查找最新的技术文档或解决方案
  • question:在执行过程中向你提问,确认关键决策
  • write:创建新文件或覆盖现有文件

这些工具的行为可以通过权限配置来控制,确保 OpenCode 不会在未经允许的情况下修改重要文件。

自动化工作流案例

案例 1:API 开发流程

创建一个命令,自动生成 API 端点、对应的测试和文档:

bash
/api-scaffold user-profile GET /api/users/:id

这个命令会:

  1. 生成路由处理函数
  2. 创建数据模型
  3. 编写单元测试
  4. 更新 API 文档

案例 2:代码审查自动化

在提交 PR 前,运行自定义的审查命令:

bash
/pre-commit-check

这个命令会:

  1. 检查代码风格
  2. 运行静态分析
  3. 执行测试套件
  4. 生成审查报告

最佳实践:让命令更好用

命令设计原则

  1. 命名清晰:用动词开头,比如 /generate-test 而不是 /test
  2. 单一职责:一个命令只做一件事,复杂流程用多个命令组合
  3. 提供默认值:让常用参数有合理的默认值,减少输入
  4. 添加描述:详细的 description 能帮助团队成员快速理解命令用途

常见使用场景

场景 1:快速原型开发

当你需要快速验证一个想法时,用命令生成基础代码框架,然后手动调整细节。

场景 2:团队协作

把团队的编码规范、审查标准封装成命令,确保每个人都遵循相同的标准。

场景 3:重复性任务

数据库迁移、配置文件生成、日志分析等重复性工作,用命令一键完成。

注意事项

  • 权限控制:对于会修改文件或执行 shell 命令的工具,务必配置好权限
  • 版本管理:把自定义命令配置文件纳入版本控制,方便团队共享
  • 测试验证:新建的命令先在测试项目里验证,确保没问题再用到生产代码
  • 文档维护:为复杂命令编写使用文档,包括参数说明和示例

写在最后

OpenCode 的命令系统让 AI 编码助手从"对话工具"变成了"工作流引擎"。通过内置命令,你能快速上手;通过自定义命令,你能打造适合自己团队的开发流程。

如果你还在手动重复那些枯燥的编码任务,不妨试试 OpenCode。从简单的 /init 开始,慢慢探索自定义命令的可能性,你会发现开发效率能提升不止一个档次。

现在就打开终端,按下 Cmd+Esc(或 Ctrl+Esc),让 OpenCode 成为你的编码搭档吧。


参考资料:

感谢阅读,如果觉得有用欢迎分享
返回 AI工具配置