OpenCode 命令速查表 - 开源 TUI AI 编码代理全参数

OpenCode 的定位是开源、可自托管的终端编码代理:形态对标 Claude Code 的 TUI,但 provider 与 model 可自由切换,也能通过 MCP 挂载外部工具,所以它真正的取舍点不是"能力更强",而是"是否愿意被单一厂商的接口与订阅绑定"。判断该不该用它,看你的模型来源是否分散:只有一家官方订阅时用官方 CLI 更省事;有本地模型、多家 API 或需要内网自托管时,OpenCode 的价值才成立。上手后真正要配置的是三处:用 -m provider/model 固化模型选择避免每次重选;把重复的工作流固化成子代理而不是每次复述长指令;用 MCP 接入文件、数据库或部署工具,让代理拿到项目外部的事实。本表也覆盖会话续接与派生——同一份上下文派生新分支做另一种尝试,比清空重开会话更省 token 也更可比对。

AI 命令行·共 33 条命令·最后更新 2026-08-21

启动与运行 5

opencode
启动默认交互式 TUI
opencode "重构 auth 模块"
带初始提示启动会话
opencode -c
继续最近一次会话(--continue)
opencode -s abc123
按会话 ID 恢复指定会话(--session)
opencode --fork
从当前会话派生新分支

CLI 标志位 5

opencode -m anthropic/claude-sonnet "任务"
指定 provider/model 运行(--model)
opencode --agent build "实现登录页"
指定子代理执行(--agent)
opencode --prompt "解释这个函数"
非交互单次提示后退出
opencode --port 4096
指定服务端口
opencode --hostname 0.0.0.0
绑定监听地址

子命令 · agent / auth 5

opencode agent create <name>
创建自定义子代理
opencode agent list
列出已配置子代理
opencode auth login
交互式登录 provider
opencode auth list
列出已认证 provider
opencode auth logout
退出登录

子命令 · github / mcp 5

opencode github install
安装 GitHub 集成
opencode github run
运行 GitHub 相关任务
opencode mcp add <name> <url>
添加 MCP 服务器
opencode mcp list
列出已配置 MCP 服务器
opencode mcp auth
认证某个 MCP 服务器

服务与运行时 5

opencode run "任务"
单次运行并退出(适合自动化)
opencode serve
启动后台服务
opencode web
打开 Web UI
opencode attach
附加到运行中的会话
opencode upgrade
升级到最新版本

交互斜杠命令 8

/help
列出所有可用命令
/sessions
打开会话选择器
/share /unshare
分享 / 取消分享当前会话
/compact /summarize
压缩 / 总结上下文释放窗口
/models /themes
切换模型 / 主题
/init
为项目生成配置
/undo /redo
撤销 / 重做上一步
/exit /quit /q
退出 TUI

提示

  • OpenCode 是开源 Claude Code 风格 TUI,provider/model 用 -m provider/model 指定,可换 Anthropic/OpenAI/本地模型,避免被单一厂商锁定。
  • 自动化任务用 opencode run "..." 单次执行后退出,配合 CI 做代码生成/审查,比常驻 TUI 更省资源。
  • 把常用工作流固化成子代理(opencode agent create),用 --agent 调用,比每次在提示词里重复指令更稳。
  • 会话分享用 /share 生成只读链接,适合把 Agent 的解法发给同事评审,不暴露本地环境。
  • 派生会话(--fork)适合对比改法:让一个分支改实现、另一个只改测试,比较结果后再合,避免"改完发现方向要换"的整段返工。
  • MCP 服务器配置生效后先用一个只读服务器做连通性验证,能快速区分"是模型没听懂"还是"工具根本没挂上"。
  • opencode run 单次执行后自动退出,可配合 --print-logs 在 CI 里排查 Agent 为何没有改动文件,而不是只看空结果。

常见问题

opencode 和 opencode run 有什么区别?

直接跑 opencode 启动交互式 TUI,人在回路里逐轮确认;opencode run "任务" 是单次执行后退出,适合写进脚本或 Makefile。如果需要在多台机器或后台持续提供服务,用 opencode serve 起常驻服务,再用 opencode attach 附加到运行中的会话。

怎么指定用哪个 provider 的模型?

用 -m 加 provider/model 前缀,例如 opencode -m anthropic/claude-sonnet "任务"。前缀决定路由到哪个供应商,这与 LiteLLM 的写法一致。交互中用 /models 可以随时切换已配置的模型,/themes 切主题。改模型比重启会话方便得多。

会话太多导致上下文混乱怎么办?

opencode -c 继续最近一次会话,-s <id> 恢复指定会话,--fork 从当前会话派生新分支去做别的任务。交互中 /sessions 打开会话选择器切换,/compact 压缩当前会话释放窗口,/summarize 做一次总结。原则是不同任务开不同会话,别让几个不相干的改动混在一条上下文里。

怎么用 OpenCode 起一个后台服务?

opencode serve 启动常驻服务,配合 --port 4096 和 --hostname 0.0.0.0 指定监听地址与端口,之后用 opencode attach 附加到运行中的会话。这样服务与会话解耦:进程常驻、界面可随时断开重连,长任务不会因为关掉终端而中断。opencode web 则会直接打开 Web UI。

怎么配置子代理?

opencode agent create <name> 创建自定义子代理,之后用 opencode agent list 查看已配置的。运行时用 --agent build 指定让哪个子代理执行任务。子代理适合把「大任务」拆成职责明确的几块,比如一个负责实现、一个负责审查,各自的提示词可以聚焦而不必塞进一个上下文里。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年8月21日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们