工具信息
OpenCode 是一个以终端为主要形态的开源 AI 编程代理:在项目目录里输入 opencode,就能用自然语言让它读代码、改文件、跑命令、看测试结果,同时它也提供桌面端(Beta)和 IDE 扩展。它面向的是希望自己决定用哪个模型、并且不想把代码上下文托管给第三方的开发者,核心价值是「模型可选、会话可并行、操作可回溯」,而不是又一个封闭的代码补全插件。
核心功能
官方站点与 README 列出的能力集中在模型自由度、终端交互与工程集成三块。
- 多模型接入:通过 Models.dev 支持 75+ 家模型提供商,可直接用 Claude、GPT、Gemini,也能登录 GitHub Copilot、ChatGPT Plus/Pro 账号,或用本地模型;官方另提供经过基准测试的 OpenCode Zen 模型集合。
- 内置 build / plan 两个代理:
build具备完整读写与执行权限,plan为只读分析型代理,默认拒绝改文件、执行 bash 前需确认,适合先摸清陌生代码库;另有可用@general调用的通用子代理。 - LSP 自动加载:自动为 LLM 载入对应语言的 LSP,让改动与诊断信息更贴近真实编译环境。
- 多会话与分享:同一项目可并行开启多个代理会话,也可把某个会话生成分享链接用于讨论或排障。
- 可编排的工程化接口:TUI 之外提供
opencode run非交互执行、JSON 输出、GitHub 代理等命令行能力,便于接入脚本与 CI。
界面与体验
默认界面是常驻终端的 TUI:上方是对话区,输入框固定在下方,工具调用与代码差异直接内联在对话流里。官方截图里可以看到类似「把首页按钮改成蓝色」的指令,以及随后串行出现的 Grep、Glob、Read 等工具调用结果,不需要切换到另一个窗口就能判断代理在做什么。

会话中的操作方式
输入框下方常驻显示当前代理与模型状态(截图中为 Build、Claude Opus 4.5、OpenCode Zen),旁边给出 tab agents、ctrl+p commands 等快捷键提示,按 Tab 即可切换代理。常用动作以斜杠命令完成:/connect 接入模型提供商、/init 生成 AGENTS.md、/models 切换模型、/sessions 恢复历史会话、/compact 压缩上下文、/share 生成分享链接、/undo 与 /redo 回滚改动。
完整使用流程
官方文档把上手拆成「装客户端 → 接模型 → 初始化项目 → 提需求」四步,下面按可验证的顺序展开。
- 前提准备:准备一个现代终端模拟器;如果要使用商业模型,需要一个模型提供商的 API Key,或可登录的 Copilot / ChatGPT 订阅账号。想完全离线可以改用本地模型。
- 安装:任选一种官方渠道(见下),安装脚本会把程序放到
$HOME/.opencode/bin。旧版本(0.1.x 之前)需先卸载再装。 - 接入模型:在项目目录运行
opencode,在 TUI 里执行/connect选择提供商并粘贴 API Key;也可以用opencode auth login在终端完成,凭据写入~/.local/share/opencode/auth.json,同时支持环境变量与项目.env。 - 初始化项目:在会话里执行
/init,它会扫描仓库并生成或改进AGENTS.md,把构建、测试命令与项目约定固化下来,官方建议提交进版本库共享给团队。 - 完成一个任务:先按
Tab切到plan让代理只读分析,确认思路后切回build让它动手;也可以直接用非交互模式跑一次,例如让它在终端里回答或改代码。
# 安装(任选其一)
curl -fsSL https://opencode.ai/v2/install | bash
npm i -g @opencode/cli@latest
brew install anomalyco/tap/opencode-v2
# 非交互执行
opencode run "解释这个仓库的构建流程"
# 继续上一次会话
opencode --continue
验证结果
判断这套流程是否真正跑通,可以看三件事:会话里是否正常返回模型输出、/init 是否在仓库根目录写出 AGENTS.md、以及代理改动后 git diff 是否与你的预期一致。若改动不对,用 /undo 逐步回滚后再调整提示词;需要给同事复现时用 /share 生成链接。
亮点与差异
它的差异化不在「更会写代码」,而在把模型选择权和会话控制权交回给用户:不锁定厂商、不隐藏提示词、不托管代码。
官方明确说明 OpenCode 不存储你的任何代码或上下文数据,因此可以用于隐私敏感环境;这一点与多数只在云端保存会话的商业编码代理形成对比。
| 维度 | OpenCode | 常见商业编码代理 |
|---|---|---|
| 模型 | 75+ 提供商、可用本地模型 | 通常绑定自家模型 |
| 形态 | 终端 TUI、桌面端(Beta)、IDE 扩展 | 多为 IDE 插件或 Web |
| 数据 | 官方称不存储代码与上下文 | 会话通常存于云端 |
| 授权 | MIT 开源,可自建与二次开发 | 闭源订阅 |
典型使用场景
- 接手陌生仓库:用
plan代理只读梳理结构与调用链,再切build落地改动。 - 多任务并行:同一项目开多个会话,分别处理重构、修 bug 与写测试。
- 脚本化与 CI:用
opencode run搭配--format json、--agent、--model把代理接进自动化流程。 - 隐私敏感项目:改用本地模型,避免代码离开内网。
定价
客户端本身开源免费(MIT),费用只来自你选择的模型提供商;官方另提供 OpenCode Zen 作为经过测试的模型集合,按用量计费。
| 方案 | 价格 | 适合谁 |
|---|---|---|
| OpenCode 客户端 | 免费,MIT 开源 | 所有开发者,可自行接任意模型 |
| 自备 API Key / 订阅账号 | 按提供商计费 | 已有 Claude、GPT、Copilot 等订阅的人 |
| OpenCode Zen | 按用量付费 | 不想自己比对模型质量、想要稳定表现的人 |
| 本地模型 | 仅硬件成本 | 离线或隐私敏感场景 |
版本与维护状态
项目处于高频迭代期:官方站点称已有 208,000+ GitHub Star、950 位贡献者、13,000+ 次提交,每月被 16M 开发者使用(数据为官方宣传口径)。文档页顶部标注 OpenCode v2 已发布,老用户可用 opencode upgrade --major 升级到 v2,这说明 1.x 与 2.x 存在需要主动跨版本升级的差异。
仓库当前主分支为 dev,npm 包已切换到 @opencode/cli;早期资料中的 sst/opencode 与 opencode-ai 等地址属于历史或同名项目,安装时请以 opencode.ai 指向的仓库与命令为准。
局限与注意
- 终端门槛:主要交互依赖 TUI 与斜杠命令,不熟悉终端的用户需要一段适应期;桌面端与 IDE 扩展目前仍是 Beta/补充形态。
- 费用取决于模型:客户端免费不等于零成本,使用商业模型仍按提供商计费。
- 权限风险:
build代理默认拥有完整读写与执行权限,涉及生产配置或敏感仓库时应先切plan,或用权限配置收紧。 - 版本迁移:v1 到 v2 需显式执行升级命令,配置与用法存在变更,升级前建议先在一份克隆仓库上验证。
- 同名项目混淆:生态中存在同名或近名仓库,社区也提醒复制命令时容易装错,务必核对来源域名。
常见问题
以下问题在官方文档中有明确答案,其他细节建议查阅文档或仓库 Issues。
- 必须付费才能用吗? 不必,客户端完全免费,可以接本地模型或自己的 API Key;付费只发生在模型提供商一侧。
- 支持哪些模型? 通过 Models.dev 覆盖 75+ 提供商,含 Copilot 与 ChatGPT 订阅登录方式,也支持自托管模型。
- 会不会上传我的代码? 官方称不存储代码或上下文数据,具体细节可查看站点隐私说明与隐私政策。
- 怎么让代理更懂我的项目? 用
/init生成并维护AGENTS.md,把构建、测试命令与项目约定写清楚。 - 改坏了怎么回滚? 会话内用
/undo//redo逐步回退或重做文件改动。
产品主页与下载
官网提供终端、桌面端与 IDE 扩展三种入口,桌面端安装包在下载页按平台分发。
一句话总结
开源 AI 编程代理,在终端 TUI、桌面端或 IDE 里用自然语言读写代码、跑命令与多会话协作。
本文文字与配图由 AI 生成或辅助整理,内容仅供参考,请以官方资料为准。





