OpenCode 2.0 正式发布,带来重大架构升级:新增共享后台服务,连接终端、网页和桌面界面;重建 API 并推出可嵌入 SDK;支持子代理与 Shell 命令后台运行;Code Mode 将 MCP 工具转为 JavaScript 函数,减少上下文占用。插件架构改进,但 1.0 插件不再兼容,需手动升级。
作者回顾一年前主张用脚本替代MCP工具,如今Pi 1.0通过Codemode支持MCP。Codemode在harness端沙箱运行JavaScript,可编排工具调用、并发操作、保存状态,并调用图像生成、分类器等内部API,还能渐进发现MCP工具。但MCP服务器尚未适配Codemode,存在双重转义问题。作者认为Codemode优于MCP,但持久性、二进制数据和小模型支持仍需完善。
Pi 曾因 MCP 工具定义占用大量上下文(如 Chrome DevTools MCP 约 1.8 万 token)而拒绝集成,改用 Bash 脚本。Pi 1.0 原生支持 MCP,但通过 Codemode 在 QuickJS 沙箱中按需查找调用工具,默认不将工具定义放入提示,仅保留一行服务器描述,并设 3000 token 预算。开发者可用 toolExposure 控制暴露方式。此举降低了提示开销,但未解决 MCP 可组合性等根本问题。
Pi 1.0 发布,GitHub 星标超 11 万,同步推出实验性 Pi Durable。Pi 1.0 将 MCP 纳入核心,推出 Codemode,让 Agent 在 JS 沙箱中脚本化调用工具,331 次调用零上下文浪费,并支持虚拟模型跨模型调度。Pi Durable 面向长时运行与多人协作,具备崩溃断点自愈、会话无拷贝分叉、后台异步压缩、原子状态与热更新等能力。源码约 1.5 万行,强调极简与供应链安全。
Pi 曾因 MCP 冗余、难扩展、无法组合而抵制它,改用 CLI 让 agent 写代码交互。v0.99.0 却将 MCP 引入核心,因为所需能力与 Code Mode 重构相通。Code Mode 是编排工具调用的 JS 沙盒,可自由组合、按需加载工具、保留中间结果,还能自动发现隐藏 MCP 工具,并配合 Jev 等完成任务。
完成下面两步后,将自动完成登录并继续当前操作。