反馈问题

本页章节 选择要查看的部分

OpenCode

开源 AI 编程代理,在终端 TUI、桌面端或 IDE 里用自然语言读写代码、跑命令与多会话协作。

开发工具000更新日期 2026/10/23 11:24:25

工具信息

支持平台macOS / Windows / Linux
版本v2
收录时间2026/10/23 11:23:24

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 等工具调用结果,不需要切换到另一个窗口就能判断代理在做什么。

OpenCode 终端界面:对话区展示内联工具调用结果,底部显示当前代理、模型与快捷键
OpenCode 终端界面:对话区展示内联工具调用结果,底部显示当前代理、模型与快捷键

会话中的操作方式

输入框下方常驻显示当前代理与模型状态(截图中为 Build、Claude Opus 4.5、OpenCode Zen),旁边给出 tab agents、ctrl+p commands 等快捷键提示,按 Tab 即可切换代理。常用动作以斜杠命令完成:/connect 接入模型提供商、/init 生成 AGENTS.md、/models 切换模型、/sessions 恢复历史会话、/compact 压缩上下文、/share 生成分享链接、/undo 与 /redo 回滚改动。

完整使用流程

官方文档把上手拆成「装客户端 → 接模型 → 初始化项目 → 提需求」四步,下面按可验证的顺序展开。

  1. 前提准备:准备一个现代终端模拟器;如果要使用商业模型,需要一个模型提供商的 API Key,或可登录的 Copilot / ChatGPT 订阅账号。想完全离线可以改用本地模型。
  2. 安装:任选一种官方渠道(见下),安装脚本会把程序放到 $HOME/.opencode/bin。旧版本(0.1.x 之前)需先卸载再装。
  3. 接入模型:在项目目录运行 opencode,在 TUI 里执行 /connect 选择提供商并粘贴 API Key;也可以用 opencode auth login 在终端完成,凭据写入 ~/.local/share/opencode/auth.json,同时支持环境变量与项目 .env。
  4. 初始化项目:在会话里执行 /init,它会扫描仓库并生成或改进 AGENTS.md,把构建、测试命令与项目约定固化下来,官方建议提交进版本库共享给团队。
  5. 完成一个任务:先按 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 生成或辅助整理,内容仅供参考,请以官方资料为准。