ARTICLE · 1220721
为什么 21 万星的项目,敢让自家插件全部报废?
OpenCode 2.0 正式发布:技术栈换血、架构推倒重来,代价是旧插件全部报废。
GitHub 上星标 21.4 万、Fork 近 3 万的开源项目,发布 2.0 正式版,本该是普天同庆的日子。结果官方博客开头就先给所有用户泼了盆冷水:旧插件,全部报废。
这个项目叫 OpenCode,眼下最流行的开源 AI 编程工具之一。背后的公司 Anomaly,就是做 SST(Serverless Stack,一个相当有名的开源全栈框架)出来的那支团队。3 个月 Beta 测试,前几天,2.0 稳定版正式上线。去年 6 月它才刚刚出生,一年多就把星标卷到 21 万量级,涨势吓人。
按理说,大版本升级照顾一下旧生态,是基本礼貌。OpenCode 为什么敢把自家插件"一键清零"?
看完这次改造你会发现,这不是折腾,是一次蓄谋已久的换血。
一、先换发动机,再谈别的
这次重写最劲爆的,是两样明星技术被"干掉"了:Bun 和 Tauri。
先说 Bun。它被换成了 Node.js。
Bun 是这几年很火的新一代 JS 运行时,快、新、潮。官方团队复盘时也不藏着掖着:当年选它,带点"高性能浪漫主义"。但现实很硬——整个插件生态里,绝大多数包都是围着 Node 写的。引擎再快,插件跑不起来,等于白搭。
再看桌面端。原来的 Tauri,换成了老牌的 Electron。
有意思的是,这两步棋是连着的。原来的 Tauri 车上压根没装 Node 这台发动机,业务逻辑只能另起一个进程,靠跨进程通信来回传话;换了 Electron,发动机直接内置,这笔开销就省掉了。
打个比方:Bun 那套像一辆参数漂亮的小众新车,可惜绝大多数零件都是按 Node 的尺寸造的,配件不好配;Electron 则像一辆自带引擎和全套备件的房车,零件满街都是,但块头和油耗也跟着上去了。说白了,OpenCode 是拿体积和内存,换生态兼容和架构简单——一笔明白账,不是免费午餐。
二、真正的野心,不在"换"在"拆"
换技术栈只是表面文章。2.0 真正的野心,是把整个架构拆开重组:一个后台服务常驻,终端、浏览器、桌面版,全都只是它的"界面"。
服务跟界面分离,好处立竿见影。你可以开着终端让 Agent 干活,同时在浏览器里盯着它的一举一动,两边互不打架。会话控制能力也一并加强了。
再说这次的新王牌:Code Mode。
以前让 AI 调工具,它每做一步都得回炉让模型再想一步,一步一顿。Code Mode 换了思路:让 AI 直接写一段 JavaScript,在沙箱里一口气跑完,连着调用多个 MCP 工具。MCP 是什么?你可以理解成 AI 连接外部工具的通用插座——查资料、跑命令、读写文件,都从这儿走。每个工具干完活都有回执,成没成、耗时多少毫秒,写得明明白白。官方说,它支持挂载 1000 个这样的工具服务器。
注意,这可不是录好的一段固定流程,而是当场现写的一段小程序:能判断、能循环,上一步跑出什么结果,下一步就怎么走。
新 API 也整套换成了 @opencode/client,附带 git worktrees 支持——同一个仓库开出多个工作树,AI 在隔离的分支里并行干活,互不踩脚。
还有 80 多个官方内置插件,全部支持热重载:改完即生效,不用重启。
三、升级前,先看这份"疼痛清单"
好处说完了,该算代价了。官方博客把话挑得很明:这次发布,对插件生态就是一次"重大破坏"。三项破坏性变更,条条见血。
第一,插件 API 彻底重做。所有 1.x 插件在新版本里直接无法加载,一个都跑不了。
第二,服务端 API 全面改用新规范。你之前做的所有集成——不好意思,全部重写。
第三,配置文件 tui.json 改名成了 cli.json。名字看着事儿小,忘了改,配置直接失效。
三项里最狠的还是第一条:生态里那么多开发者的心血,一夜之间归零重启。
另外还有两个功能被砍。一个是 LSP(语言服务器协议)——代码补全、跳转定义、实时报错这些代码智能功能的底层支持,没了。另一个是 CLAUDE.md:这类文件相当于写给 AI 的项目说明书,现在 OpenCode 只认 AGENTS.md。从 Claude Code 迁过来的朋友,记得把文件名改一下。
升级本身很简单,一条命令:opencode upgrade --major。官方也留了台阶:重度插件用户,不急就先缓缓,等生态跟上再动。
四、AI 编程的下半场,拼运行时
说到底,2.0 折腾出这么大动静,指向一个更深的转变:AI 编程工具的竞争,正在从"谁的模型聪明",转向"谁的运行时硬核"。
模型能力在趋同,差距开始沉到下面那层:上下文怎么管、工具怎么编排、多任务怎么并行。这些不起眼的脏活,才是每天八小时用下来,真正决定体验的东西。
格局上也耐人寻味。这场发布,意味着 OpenCode 正式加入终端之战,跟 Claude Code 这些闭源工具正面交锋。一边闭源、收费、绑定自家模型;另一边开源、免费,模型随便接。
爆火还有个导火索。此前不少人拿 Claude 的包月账号,在第三方工具里调用模型;今年 1 月,Anthropic 把这条路封了。不想被单一厂商绑定的用户,转头涌向了"模型随便接"的 OpenCode——官方现在敢自称"数百万日活用户"。数字有没有水分先不论,这势头是肉眼可见的。
国内开发者也躲不开这波。小米的 MiMo Code 基于 V1 打造,官方虽说会保住自家生态的运行时兼容,插件开发者还是得跟着重写一遍。
我之前写过 DeepSeek 开源的 dsh,极简路线、一切靠外部插件挂载——生态还年轻,没有历史包袱,不必陪着这场破坏性迁移折腾,未必是坏事。
我个人觉得,旧插件报废固然疼。不过一个 21 万星的项目敢下这种决心,恰恰说明它赌的不是现在,是下一场。
你还在用 1.x 吗?评论区聊聊你升不升。觉得有用,转发给还在踩坑的同事。
参考:Anomaly 官方博客(anoma.ly)、InfoQ 报道















































































