OpenCode 是什么?
OpenCode 是当前最值得认真看的一款开源 AI 编程 Agent。
- 定位:100% 开源的 AI 编程终端,跟 Claude Code、Codex CLI 同台对位
- 双主代理:内置
build(写)和plan(只读),Tab 键切换 - 子代理机制:复杂搜索 / 多步任务交给
@general子代理 - 多端入口:终端、桌面 App、IDE 插件一套命令通吃
- 选型结论:想换模型就选 OpenCode,锁定 Claude 就用 Claude Code
一句话定义
OpenCode 是 sst 维护的开源 AI 编程 Agent,跑在你的终端里,也能装成桌面 App。模型可换、Provider 可换、UI 可换——这是它和 Claude Code、Codex CLI 最大的区别:后两者都和自家模型强绑定,OpenCode 什么都不绑。
它不是「开源版 Claude Code」——它有自己的设计哲学:把 Agent 当成可插拔的状态机,把 Provider 当成可替换的电池。这套思路决定了后面所有特性(双代理、子代理、命令扩展)该怎么用。
和 Claude Code 的本质区别
很多人第一次接触 OpenCode,会下意识拿它和 Claude Code 比。但这两个东西的产品定位根本不在一个赛道:
| 维度 | Claude Code | OpenCode |
|---|---|---|
| 厂商 | Anthropic | sst / 社区 |
| 开源 | 否 | 100% 开源 |
| 模型 | 锁 Anthropic | 任意 Provider |
| UI | 终端 / IDE 插件 | 终端 / Desktop / IDE |
| 命令扩展 | 私有协议 | Markdown 文件 |
| 切换 Agent | 单独启动 | Tab 键 |
结论很直白:你愿意被一家厂商绑死,就用 Claude Code;你想换模型、跑本地、定制工作流,OpenCode 是当前最干净的选择。
别再说「OpenCode 是 Claude Code 的替代品」——它是给「不想被绑死」的人准 备的另一条路。
核心架构:build + plan + general 三件套
OpenCode 启动后默认有 三 个 Agent,职责严格分开:
build:默认主代理
全权限 Agent,能改文件、能跑命令、能调工具。新会话开起来就是它。日常写代码、跑测试、改配置都走它。
plan:只读主代理
拒绝任何写操作——改文件、跑命令前必须显式问你要权限。适合做架构评审、读陌生代码库、写方案稿。我一般在「先看别动」的场景切过去,避免 Agent 顺手改了不该改的东西。
按 Tab 键在 build / plan 之间切,状态在同一个会话里保留。
@general:子代理
复杂搜索(grep 全仓、找引用、追调用链)和多步任务(重构、批量改名)用 @general 显式调起。子代理跑 完结果回灌主代理,主代理接着推。
最佳实践:build 管推进、plan 管评审、@general 管跑腿——三件套各司其职,不要把搜索任务全压给 build,上下文容易炸。
Provider 配置:模型无关才是真价值
OpenCode 的 config 让你声明任意 Provider:Anthropic、OpenAI、Google、Azure、Ollama 本地模型、甚至自建的 OpenAI 兼容端点都接。配置写在项目根的 opencode.json 或全局 ~/.config/opencode/config.json,切换项目时跟着切走。
更狠的是——同一个会话里可以混用不同模型:主代理用 Claude Opus 做推理,工具调用模型用本地 Qwen 跑,省钱。
常见误区:别把所有 Provider 都塞进 config。Provider 越多冷启动越慢、模型路由越乱。一个项目 ≤ 3 个 Provider 是健康状态。
5 分钟上手
# macOS / Linux 一键装
curl -fsSL https://opencode.ai/install | bash
# 进项目
cd your-project
opencode
# 第一次跑 /init,让它生成项目约定
/init
/init 会扫目录结构生成 AGENTS.md(或 CLAUDE.md),把技术栈、目录约定、测试命令写进去。下次新会话不用每次复述背景。
更多命令(/compact、/clear、/undo、自定义命令)看我之前整理的《OpenCode 常用命令》。
选型决策树
别纠结,直接对号入座:
- 只用 Claude 模型 + 想要官方体验 → Claude Code,省事
- 想换模型 / 跑本地 / 自定义工作流 → OpenCode,本篇主角
- 要 VSCode 侧边栏深度集成 → Cursor / Continue
- 只写小脚本 / 不想折腾 → Codex CLI 也行
如果团队里有人用 Claude、有人用 GPT、还有人跑本地模型——OpenCode 几乎是唯一能让所有人用同一套命令体系的工具,配置文件一拉就能复用。
写在最后
OpenCode 不是一个「更好的 Claude Code」——它是给不愿被锁死的人留的另一扇门。
当你开始想「这个工作流能不能沉淀成命令」「这个模型能不能换便宜点的」「这个工具能不能接我自己的服务」的时候,OpenCode 的价值才会真正显出来。
相关阅读: