OpenCode 可以直接用你的 Claude Code 登录了,但有两个破坏性变更得先看
如果你同时养着 Claude Code 和另一个终端 agent 的订阅,这条直接省钱。
发生了什么
10 月 30 日一天里三个版本:
- v2.2.3(当天上午):新增 Claude Agent provider——装上 Claude Code、跑
claude auth login,在/connect里选 Claude Agent,就用你的 Claude Code 登录和它带的模型。同一版还修了桌面端长会话的渲染问题。 - v2.2.4(当天下午):桌面端终端改成跟会话绑定,服务重启后仍保留滚动缓冲;新增可选 artifacts(
opencode.json里开"experimental": { "artifacts": true },agent 就能发布/更新/托管 HTML 或静态文件);选 Claude Agent 时给出引导流程,帮你装 Claude Code、跑登录、验证连接;日程(experimental.schedules)在多进程下只触发一次。 - v2.2.5:worktree 和基线分支快捷键、
compaction.buffer改成按百分比、名为bash的工具调用真正走 shell、MCP 走 stdio 超过 10 MiB 不再断连。
两个破坏性变更,一个比一个容易踩
一、TUI 插件必须 OpenTUI 0.8
@opencode/plugin 现在要求 @opentui/core 和 @opentui/solid 都是 0.8.0 以上。0.8 里 ScrollBox 的 wrapper、viewport、content 和滚动条从 renderable 变成了 facade 对象;自定义 RenderContext 必须实现 clock 和 onAnimationTick。
写过自己 TUI 插件的人:升级后大概率白屏或者滚动失效,原因就在这里。
二、管理策略的 action 名字换了
integration.use 现在只管”能用哪些集成账号”。MCP 服务、技能、插件分别由新增的 mcp.use、skill.use、plugin.use 控制。
旧规则里带 mcp:、skill:、plugin: 前缀的会被自动转换,但一条光秃秃的 integration.use 规则不再管 MCP、技能和插件。也就是说:如果你以前靠一条 integration.use 就把所有东西锁住了,升级之后这道锁对 MCP 和插件是失效的。
这条是安全边界的变化,不是功能变化。团队环境里升级前必须核对。
对你有什么用
最直接的是钱:Claude Code 的订阅(Pro 20 美元、Max 100、Ultra 200)可以同时喂给 OpenCode 用,不用再给第二个终端 agent 单独付费。
第二是可替代性。同一份订阅可以在两个客户端之间切换,哪天某个客户端改规则、砍额度、下架功能,你不是只能忍着——上个月教程里那句”别把工作流绑死在一家公司的 harness 上”,现在有了便宜的实现方式。
第三是 artifacts。把 experimental.artifacts 打开,agent 产出的 HTML、静态页面可以直接在会话里发布和预览,做原型的时候省掉一次手动起服务。
泼冷水
- 这不是官方支持的用法。 OpenCode 读的是 Claude Code 本地登录态,Anthropic 没有为这个场景背书。条款会不会变、会不会封,都不由你决定。把它当”临时省一笔”,别当”长期架构”。
- artifacts 和 schedules 都还是 experimental。 配置里带 experimental 字样,就意味下次更新可能改名或者删掉。生产流程别建在上面。
- 三个版本挤在一天里发,稳定性要观察。 v2.2.5 修的是 2.2.4 带出来的问题(MCP 大消息断连、压缩缓冲)。愿意稳一点的,直接停在 2.2.5,别在 2.2.3/2.2.4 中间晃。
- 策略改名这条只影响有管理策略的人。 一个人用、没写过 policy 文件的,可以完全忽略——但如果你是给客户部署、或者团队里有统一配置,这条是必查项。
具体建议
- 先备份
opencode.json和你的~/.config/opencode目录,再升级。策略文件写错了,症状是”某些工具突然不可用”,很难往配置上想。 - 如果你有策略文件,搜一遍
integration.use。凡是原本想锁 MCP/技能/插件的,补上mcp.use、skill.use、plugin.use三条,别指望自动转换。 - 自建 TUI 插件的,先把
@opentui/core和@opentui/solid升到 0.8.0+,然后按新签名改 ScrollBox 和RenderContext(补clock和onAnimationTick),再启动。 - 想试 Claude Agent 的:装 Claude Code →
claude auth login→ OpenCode 里/connect选 Claude Agent。跑通之后先用一周真实任务,再决定要不要退掉另一份订阅——别当天就退。