跳到主内容

OpenCode 2.2.0 发布:桌面插件上线,@opencode/ai 与 GitHub Action 两处破坏性变更

OpenCode v2.2.0 于 2026-10-27 发布:桌面插件可创建、安装与分享,SDK 新增图像与决策生成 API;同时 @opencode/ai 改为 Promise API、官方 GitHub Action 已下线。

2026-10-28 · GitHub anomalyco/opencode Releases(官方 Release Notes 原文)

发布 2026-10-28核实 2026-10-28

要点

  • OpenCode v2.2.0 于 2026-10-27T09:04:44Z 发布,GitHub Releases 记录 prerelease: false,是本站首个取得官方 Release Notes 正文的 2.x 版本。
  • 桌面应用插件(experimental)上线:可创建、安装、分享插件(PR #55246、#59469、#59489),桌面端体验同批刷新(#56898、#58865 等)。
  • 插件与 SDK 新增实验性「图像生成」与「决策生成」API(#59190、#59380、#58758),官方举例决策模型工作流为「think typesafe、clef 等」。
  • 插件可写入带 key 的会话指令:ctx.session.instructions.entry.put/list/remove,改动以小步增量进入下一步,不再炸掉 prompt 缓存,且能活过压缩与回滚,也不会额外起一轮模型(#56550)。
  • 三处破坏性变更:① @opencode/ai 根导出改为 Promise API,Effect API 迁到 @opencode/ai/effect,@opencode/ai/promise 被移除;② OpenCode 官方 GitHub Action 已停止发布,官方要求从工作流中移除;③ TUI 插件要求 OpenTUI 0.7(此前 0.6.8+,defineNativeIntegration() 改为 static nativeIntegration 声明)。
  • 其他:桌面版 Todo 工具以 opt-in 方式回归(#59092)、可按 provider / model 配置 prompt 缓存 TTL(#59157)。

背景与分析

这是本站自 2026-10-12 记录「OpenCode 1 与 2 的更新通道彻底分开」之后,第一次拿到 2.x 线的官方 Release 正文。两件事要分开讲清楚:

第一,2.x 不是「今天才出现」的新线,但是「今天才有了可读的发布说明」。 本站 2026-10-28 经 GitHub API 一手核对:仓库里 v2.0.32 至 v2.1.4 等 2.x tag 早已存在,但这些 tag 没有对应的 GitHub Release 条目(按 tag 逐个取 release 均返回 404);v2.2.0 是第一个带完整 Release Notes 的 2.x 版本。这意味着:本站无法从公开渠道枚举 2.0/2.1 各版改了什么,因此不对这两条小版本线的变更内容作任何断言。

第二,仓库归属与发布通道已经彻底换过一轮。 原 github.com/sst/opencode 现 301 跳转至 github.com/anomalyco/opencode(本站 2026-10-12 首次记录,10-17 经 API 侧确认)。本次同时核对了 npm:主包 opencode-ai 的 latest 仍为 1.19.4,而 2.x 另有发布通道(本站观察到 @opencode/cli 包同时提供 opencode 与 opencode2 两个 bin)。2.x 的官方推荐安装与升级途径,本站未取得官方页面逐字确认,列入待核实——不要凭 1.x 的升级命令推断 2.x 的升级方式。

对从 1.x 过来的人,最该注意的不是「插件能写了」,而是官方 GitHub Action 被移除。这条在 Release Notes 里只有一句话,但影响的是 CI 里已经跑着的自动化:凡是工作流里引用了该 Action 的,升级或重建环境时会直接取不到。

对开发者的影响

  • CI 里用了 OpenCode Action 的:官方已停止发布,尽快改为自行安装 CLI 后调用,否则环境重建时会断。
  • 用 @opencode/ai 写过集成的:@opencode/ai/promise 子路径已删除,根导出语义从 Effect 变成 Promise;按官方示例,Effect 侧要改从 @opencode/ai/effect 引入。@opencode/ai 的通配子路径导出也改为显式清单,写死子路径的导入可能直接解析失败。
  • 写 TUI 插件的:@opentui/core 与 @opentui/solid 需升到 0.7.0,依赖 OpenTUI 0.6 的插件在安装阶段就会失败;hook 的写法从「类字段」改为「构造函数内赋值」。
  • 在插件里改系统提示词的:改用 ctx.session.instructions.entry.* 后,不再因改写系统提示而清空 prompt 缓存,长会话的缓存成本会明显下降——这是本版对成本影响最直接的一条。
  • 仍在 1.x 的:v1.19.4(2026-10-22)仍是 1.x 线最新 stable,且自 v1.19.0 起自动更新已关停,安全修复不会自动到达。

AI 之家 观点

把「版本线分开」这句话当真,是这次升级唯一重要的事。 OpenCode 在 1.19.2 就把 1.x 与 2.x 的更新通道切开了,2.2.0 的发布说明又一次性给了三处破坏性变更——这说明 2.x 已经不是「尝鲜分支」,而是官方准备承担迁移成本的主线。1.x 用户现在面对的不是一个「要不要升」的问题,而是「什么时候安排回归」的问题:Action 已经撤了,包的导出语义也变了,拖得越久,一次性要吃的变更越多。建议做法是把升级当成一次小型迁移项目来做——先列出 CI 里的 Action 引用与 @opencode/ai 的导入点,再在一条非主干分支上跑通,而不是在主干上原地跳版本。

本站未做一手安装与升级实测,以上均依据官方 Release Notes 与 GitHub / npm API 核对;2.x 的安装通道、桌面插件的启用方式与分享机制官方页面未逐条读取,列入待核实。

相关阅读

来源

本文由 AI 之家 编辑部依据官方 Release Notes 与 GitHub / npm 公开 API 一手核对整理;未做安装实测。版本与安装方式以官方最新页面为准,欢迎通过 反馈邮箱 指正。