10 月 11 日,开源编码智能体 OpenCode 放出 2.0 版更新说明,标题级的变化只有一个,但足够改写它的定位:从一个你打开的软件,变成一个一直在跑的服务。终端、网页、桌面三个界面现在连的是同一个常驻后台进程;脚本能用 @opencode/client 自己找到这个服务;智能体自己也成了 API 的客户——开新任务先建 git worktree、把已有会话搬进去、发现卡住的会话就中断。配套的还有让智能体写脚本代替逐个调工具的 Code Mode、可后台跑的子智能体,和一个能把 OpenCode 裁进自己应用里的 SDK。

编码智能体从「你打开的软件」变成「一直在跑的服务」常驻后台服务默认随登录启动,单一实例会话归服务,不归前端终端界面TUI网页界面Web UI桌面应用Desktop脚本与定时任务@opencode/client 自动发现别的机器/pair 或 opencode pair你自己的应用@opencode/sdk 同源代码重写后的 API:智能体自己也是客户新任务开 git worktree、把已有会话搬进去、发现卡住的会话并中断——团队称旧 API「长歪了」,2.0 推倒重写。SDK 可裁进服务器或 Cloudflare Durable Objects 一类受限环境,任何标准客户端仍能连上。
图|2.0 架构总览。读图要点:界面只是视图,服务才是本体;脚本、别的机器、你自己的应用都连同一个服务。

一个服务,三种界面,外加一排程序入口

OpenCode 一直是客户端加服务器的结构,但用得上这层的主要是重度用户。2.0 把服务器变成默认常驻的单一进程:终端界面、网页界面、桌面应用都连它,会话归服务所有,不归你打开的那个前端。这个架构转向的受益者名单比想象中长——脚本和定时任务通过 @opencode/client 自动发现本地服务,官方原话是「开箱即用」;命令行留了 opencode api 入口;/pair 可以把服务暴露给别的机器,基于这条流的原生应用还在路上。

更值得注意的是智能体自己用 API。更新说明举的例子:新任务开始前把会话挪进独立的 git worktree,识别出卡住的会话并中断它。团队对旧 API 的评价相当不留情——「长歪了」——2.0 推倒重写,设计依据是它所说的数百万日活用户的使用路径(这个数字更新说明未附数据)。SDK 这边,@opencode/sdk 与 CLI 同源代码,可以裁出跑在服务器上或 Cloudflare Durable Objects 一类受限环境里的变体,任何标准客户端仍能连——因为说的是同一套服务协议。

MCP 工具越多,上下文越胖——Code Mode 让智能体写代码代替逐个点名过去:一轮一个工具模型决定调工具 A看结果,再决定调工具 B再看结果,调工具 C每次往返都重发上下文工具定义还占着提示词Code Mode:一段脚本跑完MCP 服务与 OpenAPI 端点被编译成可调用函数智能体写 JS:取缺陷单 → 提取 → 建 issue一次往返,脚本原生执行所有 MCP 服务默认加入 Code Mode团队称挂一千个也不怎么撑大上下文同批还有三件事后台子智能体可换模型,慢活交给它80 多个内部插件全部热重载,会话中即写即用破坏性迁移1.0 插件与旧服务 API 全不兼容升级路径:先更到新版 1.x,再跑 opencode upgrade --major;桌面端直接下载新包。「数百万日活」与「性能提升」两项声称,更新说明未附数据。
图|Code Mode 与后台执行。读图要点:省的不只是轮次,还有每次重发的上下文——这是 MCP 目录膨胀的对症解法。

Code Mode:让模型干回老本行——写代码

2.0 里技术含量最高的一块是 Code Mode。它是个轻量 JavaScript 解释器,把 MCP 服务与 OpenAPI 端点编译成函数,智能体不再一次轮次调一个工具,而是写一小段脚本:取缺陷单、提取关键信息、建对应 issue,一个往返跑完,脚本原生执行。所有 MCP 服务默认加入 Code Mode,团队的说法是「挂一千个也几乎不撑大上下文,智能体会自己发现并组合它们」。这打的正是当下编码智能体的真实痛点——工具目录越挂越多,工具定义把上下文吃得越狠,本站此前拆解 12 款编码挽具时见过同一病症。

同批还有两件事。后台子智能体与后台 shell 命令:慢活可以派给跑着另一个模型的子智能体,前台继续干活,快捷键能把等太久的前台任务转后台。插件体系被提到结构性位置:80 多个 2.0 新功能几乎全实现为内部插件,终端界面插件从实验转正,全部支持热重载——智能体会话中途给自己写个插件,当场就能用上。

放进赛道里看

把 OpenCode 2.0 放进这周的工程新闻里看,脉络更清楚。Claude Code 2.1.299 同周在抠会话缓存与空闲压缩的账,Antigravity 把规划模式做成执行前的固定动作,Docker 与 Google 则一个给智能体发微 VM、一个把沙箱运行时开源——编码智能体的竞争正在从「模型多强」转向「挽具多厚」。OpenCode 选的切口是平台化:界面是视图,服务是本体,别人可以在它上面长出自己的东西。这与本站报道过的跨挽具编排、智能体互调协议是同一条河里的水。

需要保留的怀疑

破坏性迁移是实实在在的代价:1.0 的插件在 2.0 全部失效,旧服务 API 完全不同,tui.json 配置也挪了位置,升级路径是先更到新版 1.x 再跑 opencode upgrade --major。「数百万日活」「性能提升」两项声称,更新说明都没附数据;Code Mode 少上下文的收益是团队自述,没有第三方测量;Effect 版客户端接口还在开发中。把一个每天都在用的开发工具换成新架构,风险不在新功能,而在你写过的插件和脚本要全部重写一遍——先数数自己有多少,再决定什么时候升。

目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。但对正在评估编码智能体基建的团队,这轮更新值得盯的不是某个功能,而是它把「智能体运行时」做成了可嵌入、可编程的服务——当编码智能体开始成为别人产品里的一个组件,「你的挽具有没有 API」会和「模型多少分」一样,成为选型表上的固定一行。