OpenCode 2.2.0:插件可注入会话指令而不破坏提示词缓存
开源编码 Agent OpenCode 10 月 27 日发布 2.2.0。新版加入实验性的桌面插件(可创建、安装和分享),插件可通过 `ctx.session.instructions.entry.put/list/remove` 增删带键的会话指令:改动在下一步以小更新的形式加入,不修改系统提示词,因此不会让提示词缓存失效,条目在压缩和回退后仍然保留,也不会额外触发一轮模型调用。提示词缓存的 TTL 也可以按 provider 和模型分别配置。
要点
- 破坏性变更:`@opencode/ai` 根导出改为 Promise API,Effect API 移到 `@opencode/ai/effect`;官方 GitHub Action 不再发布
- TUI 插件需要 OpenTUI 0.7,基于 0.6 的插件无法安装
- 压缩改为按 provider 返回的 token 数计算大小,会话历史从最近一次压缩处开始加载
- 修复了 Kimi 工具 schema 问题;`opencode run --format json` 的连接错误改为以 JSON 返回
为什么值得关注
用 OpenCode 接自部署模型的团队,可以借「按键注入会话指令」把项目规范、组件库约定做成可开关的插件指令,又不破坏缓存;升级前先检查自定义插件是否依赖 OpenTUI 0.6 或旧的 `@opencode/ai` 导出。
来源
### [OpenCode 2.2.0:插件可注入会话指令而不破坏提示词缓存]({{URL}})
开源编码 Agent OpenCode 10 月 27 日发布 2.2.0。新版加入实验性的桌面插件(可创建、安装和分享),插件可通过 `ctx.session.instructions.entry.put/list/remove` 增删带键的会话指令:改动在下一步以小更新的形式加入,不修改系统提示词,因此不会让提示词缓存失效,条目在压缩和回退后仍然保留,也不会额外触发一轮模型调用。提示词缓存的 TTL 也可以按 provider 和模型分别配置。
- 破坏性变更:`@opencode/ai` 根导出改为 Promise API,Effect API 移到 `@opencode/ai/effect`;官方 GitHub Action 不再发布
- TUI 插件需要 OpenTUI 0.7,基于 0.6 的插件无法安装
- 压缩改为按 provider 返回的 token 数计算大小,会话历史从最近一次压缩处开始加载
- 修复了 Kimi 工具 schema 问题;`opencode run --format json` 的连接错误改为以 JSON 返回
**为什么值得关注**:用 OpenCode 接自部署模型的团队,可以借「按键注入会话指令」把项目规范、组件库约定做成可开关的插件指令,又不破坏缓存;升级前先检查自定义插件是否依赖 OpenTUI 0.6 或旧的 `@opencode/ai` 导出。
来源:[OpenCode v2.2.0 release notes](https://github.com/anomalyco/opencode/releases/tag/v2.2.0)