Skip to main content

OpenCode 是什么?

· 5 min read

OpenCode 是当前最值得认真看的一款开源 AI 编程 Agent。

  1. 定位100% 开源的 AI 编程终端,跟 Claude Code、Codex CLI 同台对位
  2. 双主代理:内置 build(写)和 plan(只读),Tab 键切换
  3. 子代理机制:复杂搜索 / 多步任务交给 @general 子代理
  4. 多端入口:终端、桌面 App、IDE 插件一套命令通吃
  5. 选型结论想换模型就选 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 CodeOpenCode
厂商Anthropicsst / 社区
开源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 的价值才会真正显出来。

相关阅读: