OpenCode 命令速查表 - 开源 TUI AI 编码代理全参数
OpenCode 的定位是开源、可自托管的终端编码代理:形态对标 Claude Code 的 TUI,但 provider 与 model 可自由切换,也能通过 MCP 挂载外部工具,所以它真正的取舍点不是"能力更强",而是"是否愿意被单一厂商的接口与订阅绑定"。判断该不该用它,看你的模型来源是否分散:只有一家官方订阅时用官方 CLI 更省事;有本地模型、多家 API 或需要内网自托管时,OpenCode 的价值才成立。上手后真正要配置的是三处:用 -m provider/model 固化模型选择避免每次重选;把重复的工作流固化成子代理而不是每次复述长指令;用 MCP 接入文件、数据库或部署工具,让代理拿到项目外部的事实。本表也覆盖会话续接与派生——同一份上下文派生新分支做另一种尝试,比清空重开会话更省 token 也更可比对。
启动与运行 5
opencodeopencode "重构 auth 模块"opencode -copencode -s abc123opencode --forkCLI 标志位 5
opencode -m anthropic/claude-sonnet "任务"opencode --agent build "实现登录页"opencode --prompt "解释这个函数"opencode --port 4096opencode --hostname 0.0.0.0子命令 · agent / auth 5
opencode agent create <name>opencode agent listopencode auth loginopencode auth listopencode auth logout子命令 · github / mcp 5
opencode github installopencode github runopencode mcp add <name> <url>opencode mcp listopencode mcp auth服务与运行时 5
opencode run "任务"opencode serveopencode webopencode attachopencode upgrade交互斜杠命令 8
/help/sessions/share /unshare/compact /summarize/models /themes/init/undo /redo/exit /quit /q提示
- 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日,内容持续校对官方文档。