网易首页 > 网易号 > 正文 申请入驻

干掉 Bun 和 Tauri,旧插件全部报废!OpenCode 2.0 正式发布:一次“重大改造”

0
分享至


作者 | Tina

斩获 21.4 万星的开源编程 Agent 领跑者 OpenCode 正式发布 2.0 稳定版,全面转向 Node.js/Electron 架构并推出多项核心功能。然而,此次升级导致 1.x 时代插件全线报废,标志着 AI 编程工具正式步入硬核运行时竞争阶段。

21.4 万颗星、近 3 万个 Fork——这个在 Anthropic 封禁第三方订阅凭据后迅速走红的开源编程 Agent,

但坏消息必须摆在最前面:为 OpenCode 1.0 开发的插件无法在 2.0 中运行,基于旧版服务器 API 构建的集成也需要更新。这不是改一改就能用的问题,而是整套接口和配置逻辑被彻底换掉了。


周一,开源编程 Agent 背后的公司 Anomaly 在一篇博客文章中将此次发布称为“一次重大改造”。公司表示,新系统吸收了“数百万日活用户”的使用经验,具备更强的适应能力,能够支持不断扩展的 Agent 功能。为了保障系统运行的稳定性,官方变更日志已转入 2.x 版本系列,且更新不再自动静默安装,用户需要自行手动发起升级。


过去几个月里,Anomaly 一直在迭代 2.0 版本。9 月,公司还发布了一篇详细的技术文章,介绍重新设计的插件架构和热重载能力。不过,漫长的发布过程让一些开发者感到困惑:有人询问 2.0 是否已经正式进入稳定版,也有人抱怨缺少发布说明,而更新仍在持续推出。

周一的公告,加上官方变更日志转入 2.x 版本系列,实际上表明 2.0 已成为 OpenCode 的主线版本。与此同时,公司也更完整地解释了这次升级背后的技术决策。

1 技术栈推倒重来:向“工程现实主义”的妥协

简单回顾 OpenCode 的发展历程,它的起源可以追溯到无服务器开发(Serverless)领域。Anomaly 创始人 Jay V 和 Frank Wang 此前曾创建了 Serverless Stack(SST),另一位重要人物 Dax Raad 也曾是 SST 团队的核心成员。

SST 原本预计将于 2025 年实现盈利,不过团队很快转向了开源编程工具战略。去年 6 月,他们推出了 OpenCode。当时它只是一个主打自由度的极客终端工具,允许开发者避开大厂的层层限制,自由切换底层 AI 模型。

到了今年 1 月,这种对模型中立的需求迎来历史性转折:当时 Anthropic 突然开始阻止第三方 Agent 使用 Claude Pro 和 Max 的订阅凭据。一场突如其来的封锁,成了 OpenCode 的命运齿轮——受影响的开发者不得不紧急寻找能够自由填入专属 API 密钥的替代工具,OpenCode 顺理成章地承接了这波庞大的“难民潮”,关注度迎来爆发式飙升。


然而,随着用户量走向数百万日活,早期为了追求极致性能和快速交付而埋下的历史包袱,开始成为阻碍其继续演进的黑洞。


“我们不得不推倒重来。这个决定和过程都很痛苦,也让我们落后了不少。但现在,我们打好了基础,可以试着做出点好东西。”

旧版的 API 是在整个行业都在摸索 Agent 到底是什么的阶段野蛮生长出来的,拼凑痕迹极其严重。同时,1.x 在技术栈选择上带有浓厚的高性能浪漫主义色彩,比如采用了 Bun 作为核心运行时以追求极致的原始启动速度,桌面端则采用了 Tauri 来维持极小的安装包体积。

在高压的真实业务场景和复杂的生态深度面前,这些早期选择变成了沉重的包袱。Bun 虽快,但在工具生态的深度和稳定性上最终无法与成熟的 Node.js 抗衡;Tauri 虽然轻量,但面对高强度的前端组件渲染和进程常驻时,其稳定性在不同操作系统下的差异让团队疲于奔命。


我们决定让 OpenCode 基于 Node.js 运行,这样做有几个好处: Node.js 在 Windows 上稳定得多,而我们目前在 Windows 上遇到了不少麻烦。 Electron 桌面应用可以轻松将它嵌入其中,无需再启动一个独立进程。 出于几个不同的原因,我们对 Bun 的未来还不太确定。 这样我们就可以自由探索 Deno。 也能让其他人更轻松地将 OpenCode 嵌入自己的应用。 我们做过基准测试,发现 Bun 略微领先的性能并没有给我们带来明显收益。

因此,在本次 2.0 的彻底重构中,团队展现了极其务实的工程现实主义:彻底斩断历史包袱,核心运行时从 Bun 切换回 Node.js,桌面端从 Tauri 切换回 Electron。浪漫主义向工程 reality 低头,用体积换取稳定性,彻底重写了插件架构和服务器 API,从而为更广泛、更复杂的商业场景铺平道路。

2 一个服务多个界面:后台常驻与 API 的彻底重塑

Anomaly 表示,OpenCode 从一开始就具备客户端与服务器架构所需的基础组件,只是除了高级用户,很少有人会主动使用这套架构。到了 2.0,它成了整个系统的核心:服务器会自动在开发者的电脑上作为一个统一的后台进程启动,让 OpenCode 的终端、浏览器和桌面界面都能与同一个底层服务通信。


这意味着开发者可以通过不同界面访问和管理编程会话,底层执行则由这项服务负责。你可以先在 OpenCode 终端界面中启动会话,再通过桌面应用或网页应用继续处理。使用 OpenCode 编程客户端构建的脚本也能自动发现并连接本地服务,因此适合执行定时任务;开发者还可以将服务开放给其他设备,并让它与外部应用配合使用。


伴随架构变化,OpenCode 的 API 也经过了从头开始的重新设计。

Anomaly 承认,旧版 API 的混乱发展让他们付出了代价,并在博客文章中直言不讳地写道:“旧 API 是在我们和整个行业逐渐理解 Agent 是什么的过程中,杂乱无章地发展起来的。它做得很糟糕。”

新版 API 让 Agent 能更好地控制自己的环境。例如,它可以为新任务创建 Git 工作树,将已有会话转移到该工作树中,或识别并中断另一个卡住的会话。开发者还可以通过新的 @opencode/client 软件包访问 API,该软件包支持标准 JavaScript 和 Effect。


这意味着什么?旧版里,Agent 是一个插件,被动地待在那里,等外部程序驱动。新版里,它变成了一个常驻进程,可以通过编程来控制。它可以打开自己的工作区,把整个会话移进去;某个会话卡住时,它还可以结束那个会话。所以,这次改动从来不只是给几个函数换名字,关键在于 Agent 运行在哪里、由谁来运行。

3 Code Mode:把工具调用变成脚本,支持 1000 个 MCP 服务器

OpenCode 2.0 改变了 Agent 通过模型上下文协议(MCP)与外部工具交互的方式。

通常,Agent 每次调用一个工具,都要等待结果返回、读完结果,再决定下一步调用什么。中间结果也会一并进入模型上下文。Code Mode 则允许 Agent 编写 JavaScript 脚本,在一次执行中调用多个工具、处理返回结果,最后只把需要的内容交还给模型。

它基于 @opencode/codemode 软件包中的轻量级 JavaScript 解释器构建,可以把 MCP 服务器和 OpenAPI 端点转换成脚本可调用的函数。


在 OpenCode 2.0 中,所有 MCP 服务器默认都会启用 Code Mode。开发者无需切换开关或重写配置;添加服务器后,它提供的工具就会变成 Agent 可以调用的一组函数。上下文不必一开始就装下所有工具的名称、描述和参数说明,Agent 会根据任务发现所需工具,再把它们组合进脚本中。

例如,Agent 可以从 GitHub 获取 Bug 报告、提取相关信息,再到 Linear 创建对应的问题。整个流程由脚本串联完成,无需每调用一个工具就与模型往返一次。

这让接入大量外部服务变得更实际。Anomaly 宣称单个编程 Agent 可以接入的 MCP 服务器数量是“1000”。注意,这里说的不是 1000 个工具,而是 1000 台服务器,每台服务器都带着自己的一组工具,并且可以同时接入。

“2.0 中,所有 MCP 服务器默认都会启用 Code Mode。这意味着你可以接入上千个 MCP 服务器,同时只增加极少的上下文开销;Agent 会自行发现并组合这些服务器提供的工具来完成任务。”

这解决的是行业里的真实瓶颈:给 Agent 的工具越多,工具描述就越占用上下文,它的表现也可能越差。

如果你曾经接入过不止几个 MCP 服务器,就知道这个更改的价值。每个工具都会带上名称、描述和输入参数的 Schema。传统的配置方式会在你输入任何内容之前,就把这些信息全部加载到模型的上下文里。接入几台服务器,每次请求都要付出这笔开销;接入几十台,Agent 就会被自己的工具手册淹没,每一行说明都在和你的实际任务争夺注意力。

所以,通常的建议很简单:工具列表尽量保持精简,根据当前任务手动启用或关闭服务器。OpenCode 2.0 将 Code Mode 设为默认模式,Agent 可以按需发现并组合已接入服务器提供的工具。

4 插件系统重做,旧版插件无法沿用

插件系统的重做,是 OpenCode 2.0 这次架构调整中对开发者生态影响最直接的一项变化。

OpenCode 1.x 虽然已经提供插件机制,团队承认此前并未投入足够精力打磨它。到了 2.0,他们决定把插件系统提升到核心位置,尽可能将新功能都做成内部插件,并且当插件被修改时,系统会自动进行热重载。目前 OpenCode 内部已有 80 多个插件,覆盖了新版的大部分功能。

但这也是升级过程中切得最深、最痛的一刀,因为在兼容性上,旧版本的所有第三方逻辑插件都将彻底停止工作。

这次重构带来了三项有意为之的破坏性变更:第一,插件底层的 API 全面革新,1.x 的旧插件无法直接运行,仅仅移动插件文件是没用的,必须对照新接口重新迁移;第二,服务器 API 及其客户端采用了全新约定,任何通过外部脚本调用旧版服务器的工作流都必须重写;第三,终端设置从过去分层的 tui.json 文件全面迁移到了一个全局的 cli.json 文件,不过这项配置迁移会自动完成。


值得庆幸的是,“配置”与“代码插件”被做了严格的边界隔离,老用户的声明式财产得到了妥协。你的自定义 Agent、扩展技能和基础命令格式虽然有所变化,但 2.0 会在内存中自动转换旧格式,你甚至可以直接让 OpenCode 帮忙一键完成配置迁移。

此外,还有两项极具争议的功能在 2.0 中被无情移除: 第一,2.0 虽然能接受你的语言服务器(LSP)设置,但在实际运行时完全不会启动它,它没有 LSP 工具,更不会提供任何 LSP 诊断信息,官方指南建议改用项目本地的各类代码检查工具、类型检查器或编译器;第二,如果你的项目工作流严重依赖 CLAUDE.md 文件,需要特别注意 2.0 之后只读取 AGENTS.md,你必须手动把相关指令迁移过去。

那么,明早到底该不该升级?如果你的配置比较简单,只有一个模型、几台 MCP 服务器,以及少量自定义 Agent,可以安装最新的 1.x 版本,再运行 opencode upgrade --major,大部分配置应该都能平稳平移。如果你维护逻辑插件,或有程序深度调用服务器 API,最好先在沙箱完成迁移再升级。但如果你的日常工作流严重依赖语言服务器的诊断信息,目前请务必暂时保留在 1.x 版本。

5 写在最后

在当前大模型逐渐商品化的行业大背景下,这种运行时能力的重构,直接拉开了 OpenCode 与闭源 Claude Code 的路线差异。Claude Code 依然是封闭式的高额订阅,体验虽好却牢牢绑定自家模型与严格的地域限制。而 OpenCode 走的是完全开放中立的路线,让工具本身免费,把选择权交给开发者。

这也给国内的追随者们带来了新的变数。

诸如小米基于 OpenCode V1 代码库分叉二次开发的 MiMo Code,虽然通过文件系统引入了极具亮点的持久化“项目记忆(Project Memory)”和自进化蒸馏能力,但面对 2.0 如此颠覆性的底层重写,这类外部独立分叉项目接下来将不得不面临巨大的同步重构难题。

而国内另一款极简主义、一切全靠外部插件挂载的开源利器 dsh 虽生态活跃,但核心相比之下依然较为年轻。

当竞争的壁垒从“谁的模型更聪明”转移到“谁的运行时更硬核”时,OpenCode 2.0 无疑砸下了最重的一颗筹码。

https://anoma.ly/notes/opencode-2-0/

https://www.youtube.com/watch?v=JEhEv6Z_ovA

https://www.youtube.com/watch?v=DQ_n4bbRuWQ

https://thenewstack.io/opencode-2-shared-service/

声明:本文为 InfoQ 原创,不代表平台观点,也不构成投资建议,未经许可禁止转载。

会议推荐

QCon 全球软件开发大会·2026(上海站)将于 10 月 22 日—24 日举办。本届大会聚焦 Harness AI 时代的工程实践,从「构建 AI」到「驾驭 AI」,围绕 AI Native 架构、Agent Runtime、AI Infra、Agent 安全与可观测、Loop Engineering、具身智能与世界模型 等热门技术方向,邀请全球技术社区与产业一线实践者,共同分享 AI Native 时代最具价值的工程经验。查看更多详情可扫码或联系票务经理 18514549229 进行咨询。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
百亿估值创始人被带走:这位把故事讲到达沃斯的人,谁把他抬上去的?

百亿估值创始人被带走:这位把故事讲到达沃斯的人,谁把他抬上去的?

卉姐
2026-10-22 18:50:57
神木问界起火事件,让人们见识到了三个新名词

神木问界起火事件,让人们见识到了三个新名词

清书先生
2026-10-22 14:42:06
宁德时代暴跌10000亿,股民天要塌了

宁德时代暴跌10000亿,股民天要塌了

新行情
2026-10-22 14:19:20
快讯!泽连斯基同意放弃25%领土和谈,默茨公开表态:乌克兰无条件投降绝不可行,那将等同于欧洲盟友集体投降

快讯!泽连斯基同意放弃25%领土和谈,默茨公开表态:乌克兰无条件投降绝不可行,那将等同于欧洲盟友集体投降

林杰论事
2026-10-22 13:27:43
1879年,浙江巡抚谭钟麟午睡起来,路过通房丫头房间时与之发生关系,也就是这一次,这个丫头生下了一位国民政府主席

1879年,浙江巡抚谭钟麟午睡起来,路过通房丫头房间时与之发生关系,也就是这一次,这个丫头生下了一位国民政府主席

饭小妹说历史
2026-10-20 15:47:54
女子在社交平台上收到陌生私信,对方称“有急事”,加完微信后只回复了一个字,账号就因遭大量恶意举报被封,对方扬言:打钱就放过你

女子在社交平台上收到陌生私信,对方称“有急事”,加完微信后只回复了一个字,账号就因遭大量恶意举报被封,对方扬言:打钱就放过你

扬子晚报
2026-10-22 12:50:48
一名乌克兰人揭开当年投票背后的实情:当初73%选民支持泽连斯基,并非拥护是嫌弃,一名演员是如何将总统的支持率压到24%

一名乌克兰人揭开当年投票背后的实情:当初73%选民支持泽连斯基,并非拥护是嫌弃,一名演员是如何将总统的支持率压到24%

唠叨说历史
2026-10-22 17:00:37
曝女星红毯赖着不出场,周涛张小斐无奈救场,晚宴全程无人搭理她

曝女星红毯赖着不出场,周涛张小斐无奈救场,晚宴全程无人搭理她

娱圈办事处
2026-10-22 13:46:04
广东大胜广厦获首胜:弗格16+7+9崔永熙16分 塔克34+5+6

广东大胜广厦获首胜:弗格16+7+9崔永熙16分 塔克34+5+6

醉卧浮生
2026-10-22 21:30:10
24小时“三面围台” 解放军释放怎样信号?

24小时“三面围台” 解放军释放怎样信号?

看看新闻Knews
2026-10-22 20:22:41
看了长征后的伟人照,再看《伟大的长征》,谁还在喷于和伟不像的,那就真是当代博古李德了

看了长征后的伟人照,再看《伟大的长征》,谁还在喷于和伟不像的,那就真是当代博古李德了

娱乐故事
2026-10-22 19:20:49
妈妈起诉游戏公司,要求返回孩子的充值,结果工作人员多退了33627.6元,她不肯退回,还伪造了AI录音;法官:她心存侥幸,被严厉训诫

妈妈起诉游戏公司,要求返回孩子的充值,结果工作人员多退了33627.6元,她不肯退回,还伪造了AI录音;法官:她心存侥幸,被严厉训诫

南方都市报
2026-10-19 22:41:47
网友用两种方法测算问界M9撞车瞬间车速,结果都远低于139km/h

网友用两种方法测算问界M9撞车瞬间车速,结果都远低于139km/h

西虹市闲话
2026-10-22 14:49:47
离谱!顺风车司机犯困,让乘客自己开车,两个多小时路程乘客开了一个半小时,车费还要全额收;平台:属于车主违规行为,车费全额退还

离谱!顺风车司机犯困,让乘客自己开车,两个多小时路程乘客开了一个半小时,车费还要全额收;平台:属于车主违规行为,车费全额退还

扬子晚报
2026-10-22 12:47:11
穆帅在皇马4:1大胜后表示:我执教皇马已有 105 天,球队尚未达到我的预期,接受不了皇马松懈丢球

穆帅在皇马4:1大胜后表示:我执教皇马已有 105 天,球队尚未达到我的预期,接受不了皇马松懈丢球

福酱的小时光
2026-10-22 09:54:59
消息称华为获150亿元离岸贷款:自2020年以来首次获得离岸银团贷款

消息称华为获150亿元离岸贷款:自2020年以来首次获得离岸银团贷款

IT之家
2026-10-22 21:08:13
俄乌要是停火了,这三个国家怕是会灭亡了?就算不灭亡,日子也不会好过

俄乌要是停火了,这三个国家怕是会灭亡了?就算不灭亡,日子也不会好过

怪味历史连连看
2026-10-21 05:15:06
A股收评:三大指数集体下跌,超5000只个股飘绿,工程机械等板块逆势领涨

A股收评:三大指数集体下跌,超5000只个股飘绿,工程机械等板块逆势领涨

财中社
2026-10-22 15:09:10
黄景瑜未成名地铁旧照,模样普通认不出

黄景瑜未成名地铁旧照,模样普通认不出

喜欢历史的阿繁
2026-10-20 02:15:38
乒乓球亚锦赛国乒男团逆转晋级决赛,林诗栋独砍2分;日本男团不敌韩国队,张本智和单局0比11惨败,松岛辉空遭零封

乒乓球亚锦赛国乒男团逆转晋级决赛,林诗栋独砍2分;日本男团不敌韩国队,张本智和单局0比11惨败,松岛辉空遭零封

极目新闻
2026-10-22 16:16:13
2026-10-23 00:56:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
13102文章数 52118关注度
往期回顾 全部

科技要闻

腾讯云谷歌紧急行动!互联网安全出大事

头条要闻

大火逼近中国 日本道歉只道一半:未对中国有任何表示

头条要闻

大火逼近中国 日本道歉只道一半:未对中国有任何表示

体育要闻

卢卡:伦德伯格,欢迎来到NBA

娱乐要闻

芭莎盛典,张小斐因救场实现口碑暴涨

财经要闻

宁德,跌成了一只红利股?

汽车要闻

搭城市NOA/续航555KM 捷达M6上市售7.98万起

态度原创

家居
房产
游戏
健康
军事航空

家居要闻

2026建博会(广州) 公装联探展交流活动

房产要闻

租金大跳水!荒了6年,海口这个地标商业,开始急了!

赛事终章的欢呼声漫过羊城,中国的《荒野乱斗》电竞才刚刚开始"/> 主站 商城 论坛 自运营 登录 注册 简体中文 简体中文 English 赛事...

痘痘能根治吗?皮肤科医生说实话

军事要闻

泽连斯基"愿以领土换和平协议" 普京表态

无障碍浏览 进入关怀版