大数跨境

OpenCode 2.0 重磅发布:代码智能体底层架构全面重构

OpenCode 2.0 重磅发布:代码智能体底层架构全面重构 苏哲管理咨询
2026-10-15
7
导读:编者摘要:OpenCode 2.0 是面向代码智能体的重大版本重构,基于海量用户体验优化,核心升级为客户端 -
编者摘要:OpenCode 2.0 是面向代码智能体的重大版本重构,基于海量用户体验优化,核心升级为客户端 - 服务端后台常驻架构。服务自动在本地后台运行,TUI、网页、桌面端共享同一进程,支持可编程客户端自动发现、跨主机配对连接,适配脚本与定时任务。新版 API 从零重构,适配各类智能体场景,可自动调用自身 API 完成会话迁移等操作,配套@opencode/client客户端包。Code Mode 内置轻量 JS 解释器,原生接入 MCP 服务,将工具转为可执行脚本,支持多工具链式一次性调用,大幅降低上下文开销。新增后台子智能体与异步 Shell 任务,主智能体可并行处理多项工作,长任务支持快捷键转入后台。插件体系全面强化,80 + 内置插件,全组件支持热重载,TUI 插件转正稳定。新增@opencode/sdk,可作为库嵌入自研系统。升级存在破坏性变更:1.0 插件失效、API 重构、配置文件迁移,其余功能基本兼容,提供自动化迁移工具。

10 个关键问题 Q&A

  1. Q:OpenCode 2.0 最大底层改动是什么? A:改为常驻后台服务架构,TUI / 网页 / 桌面客户端共用同一个后台进程。
  2. Q:@opencode/client 的作用? A:可编程客户端,支持脚本自动发现本地服务,提供 JS 与 Effect 两种客户端。
  3. Q:Code Mode 核心能力是什么? A:内置轻量 JS 解释器,把 MCP/OpenAPI 转为脚本函数,实现多工具一次性链式调用。
  4. Q:MCP 服务在 2.0 有什么变化? A:默认开启 Code Mode,接入大量 MCP 不会显著膨胀上下文。
  5. Q:后台子智能体能干什么? A:主智能体可派生子智能体后台执行任务,主流程继续运行,可选用不同模型。
  6. Q:后台 Shell 命令优势? A:异步执行,长耗时任务不会阻塞主智能体,任务完成后通知主智能体。
  7. Q:插件系统亮点? A:80 + 内置插件,全部组件支持热重载,智能体可在会话中编写并即时加载插件。
  8. Q:OpenCode SDK 用途? A:@opencode/sdk,可作为代码库,定制自研 OpenCode 实例并部署在各类环境。
  9. Q:升级 2.0 有哪些破坏性变更? A:1.0 插件不兼容、服务 API 完全重写、tui.json 配置迁移,其余大多向下兼容。
  10. Q:如何升级 OpenCode CLI? A:先升级到最新 1.x,执行opencode upgrade --major;桌面端官网下载新版本。

附录 OpenCode 2.0 重磅发布:代码智能体底层架构全面重构

OpenCode 2.0 是一次重大重构。它基于数百万日活用户的使用体验打造,这套系统能够灵活承载智能体所需的全部能力。新版本包含大量新功能、性能优化与缺陷修复,下面介绍部分影响较大的面向用户的变更。

后台服务

OpenCode 从项目之初就采用客户端 / 服务端架构。不过默认并未启用该架构能力,过去主要是高阶用户才会使用。

在 2.0 版本中,服务会自动在本机以独立后台进程运行。当你打开文本终端界面(TUI)、网页端或者桌面客户端时,所有界面都会与这同一个核心进程通信。

opencode pid 48213 STOPPED STARTING RUNNING

会话(SESSIONS)

如果你使用可编程客户端包 @opencode/client编写自定义脚本,脚本可自动发现本地服务并直接运行,这对于定时任务场景尤其实用。你也可以通过 CLI,执行 opencode api命令调用服务。

你可以将服务暴露给其他主机,执行 /pair或者 opencode pair,把它和其他应用建立连接。我们正在开发原生应用,将基于这套连接机制工作。

API

旧版 API 是随着我们和整个行业对智能体认知的迭代零散搭建而成,设计并不理想。

我们从零重新设计,调研了数百万 OpenCode 用户的各类小众使用场景。新版 API 几乎可以满足你所有的开发需求。

OpenCode 能够感知自身的 API,会主动调用 API 完成一些实用操作:例如开启新任务时,把当前会话迁移到 Git 工作树中。

SESSION New session OPENCODE ~/app Fix flaky upload test interrupted Migrate config loader tab closed New session this session ~/worktrees/rate-limit

我们同步发布全新客户端包 @opencode/client,内置原生 JavaScript 客户端以及 Effect 框架客户端。

import { OpenCode } from "@opencode/client"
import { Service } from "@opencode/client/service"

const endpoint = await Service.ensure()
const client = OpenCode.make({
  baseUrl: endpoint.url,
  headers: Service.headers(endpoint),
})

const session = await client.session.create({
  location: { directory: process.cwd() },
})

await client.session.prompt({
  sessionID: session.id,
  text: "Review the current changes",
})

代码模式(Code Mode)

大模型非常擅长编写代码,OpenCode 2.0 相比其他代码智能体,深度挖掘了这项能力。我们在 @opencode/codemode包内实现了一套轻量 JavaScript 解释器。

SESSION CODE MODE MCP SERVERS github linear sentry

该组件可以接入 MCP 服务或者 OpenAPI 接口,将它们转换成智能体可在脚本内调用的函数。脚本可以原生运行,无需引入 Node.js 虚拟机,也不用嵌入 QuickJS 这类复杂方案。

这让智能体可以编写脚本,一次性完成链式操作:调用工具、遍历返回结果、再调用下一个工具。整套逻辑一次请求完成,而不是逐个串行调用工具。

2.0 版本里,所有 MCP 服务默认启用代码模式。也就是说,你可以接入上千个 MCP 服务,上下文开销增幅很小;智能体能够自动发现并组合这些工具完成任务。

后台任务(Background Tasks)

新一代大模型的编排能力极强,运行框架必须充分释放这种能力。

SESSION BACKGROUND

  1. 后台子智能体
    主智能体可以把部分工作交给子智能体后台执行,自身继续处理任务。 该能力支持自动触发,也可以手动启动,甚至可以选用不同模型。举个例子:你可以 “创建一个后台 Fable 子智能体来评审代码”,同时继续发起新的指令。
  2. 后台 Shell 命令
    Shell 工具支持异步调用,长时间运行的任务不会阻塞主智能体,任务完成后主智能体会收到通知。

如果前台 Shell 命令或者子智能体执行超时,你可以按下快捷键,将任务转入后台,继续输入指令。

插件系统

OpenCode 1.0 虽然自带插件系统,但投入不足。为了解决这个问题,我们把 OpenCode 2.0 的绝大多数功能都作为内部插件实现,目前插件数量已超过 80 个。这从机制上保证插件 API 能持续维护。

TUI 插件也从实验特性转为稳定版。底层基于 OpenTUI,你几乎可以用它构建任意功能(哪怕是一些趣味性的无用小工具)。

我们投入大量工作,实现 OpenCode 2.0 全组件热重载。智能体可以在会话运行期间,为自己编写插件并立刻启用。相关设计思路参见:https://anoma.ly/notes/opencode-reloaded

你可以直接让 OpenCode 编写任意插件,它具备对应的能力。如果需要查阅文档:https://opencode.ai/v2/docs/build/plugins

SDK

现在 OpenCode 还可以作为库引入,对应包 @opencode/sdk。CLI 的底层实现代码和这个 SDK 完全同源。

你可以基于它精简定制,打造自研版本的 OpenCode,部署在服务端或者 Durable Objects 这类特殊环境。只要遵循标准 OpenCode 服务协议,任意 OpenCode 客户端都可以连接你的实例。SDK 同时提供可选的 Effect 风格 API。

该模块仍在迭代开发中,文档:https://opencode.ai/v2/docs/build/sdk

版本升级

升级 CLI:先升级到最新 1.x 版本,再执行命令: opencode upgrade --major

升级桌面客户端:前往官网下载最新版 https://opencode.ai/download

⚠️ 存在不兼容变更:

  1. 1.0 版本插件无法在 2.0 中运行
  2. 服务端 API 完全重构
  3. tui.json 配置文件迁移为 json

其余大部分改动保持向下兼容。你可以直接让 OpenCode 读取迁移文档,自动帮你迁移配置:https://opencode.ai/v2/docs/migrate-v1/

术语对照表

英文
中文
Agent
智能体
Client/Server model
客户端 / 服务端架构
TUI
文本终端界面
Session
会话
Background subagent
后台子智能体
Code Mode
代码模式
MCP
模型上下文协议(Model Context Protocol)
Hot-reload
热重载
SDK
软件开发套件
Breaking changes
破坏性变更 / 不兼容变更
Git worktree
Git 工作树

【声明】内容源于网络
0
0
苏哲管理咨询
为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
内容 2331
粉丝 0
苏哲管理咨询 为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
总阅读61.0k
粉丝0
内容2.3k