--mini 轻量模式、MCP 资源读写、桌面端终于做了多 tab 草稿隔离早上起来看到 OpenCode 又发版了。v1.17.10 发布于北京时间 6 月 25 日凌晨 4:37,距 v1.17.9(6 月 21 日)过了不到 4 天。
当前仓库:178,180 Stars / 21,836 Forks。
这次的变化比前几天那两版加起来还多——changelog 有 40 出头行。我挑刚需的讲。
--mini 模式:瘦版 CLI这是 v1.17.10 我个人最感兴趣的变化:
opencode --mini
changelog 就一行字,没细说。我装完试了下,--mini 启动的是一个极简 CLI 界面,没有常规的 header、没那么多窗格、没有 agent picker 那堆装饰元素。核心逻辑——对话、编码、LSP——全都在,只是 UI 层剥掉了附庸。
你问我什么场景用 --mini?几个我能想到的:
changelog 没写更多细节,我猜这个模式后续可能会加更多配置项,目前是「能用,但不全」。
这次 MCP 相关改动比上次还多:
新增的能力:
1. MCP server instructions 注入上下文(@Arcadi4)— MCP 服务器可以带一段指令文本,OpenCode 会自动拼到会话上下文里。这意味着 MCP 服务器可以告知 agent「我怎么用」「我有什么限制」「数据格式是什么」,之前全得靠用户自己写在 prompt 里。
2. MCP resource template listing + resource read — 之前 MCP 只暴露 tools(函数式的),现在可以暴露 resources(资源式的)。比如一个文件系统 MCP 可以列出目录模板 file://{path},agent 读取具体的文件内容。这和 filesystem MCP server 配合起来很好用。
3. 资源 key 冲突保护 — 不同 MCP 服务器如果暴露了同名的 resource key,不再打架。
修的问题:
- MCP resource template 在无权限访问时不再显示(之前会空占位)
- MCP OAuth callback 绑定到 IPv4 loopback(@he-yufeng)— 本地认证稳定了
- 遗留 MCP tool name 恢复(之前改名导致一些旧 integration 断掉)
如果你在多 MCP 服务器的场景,这版是必须更的。特别是 instructions 注入上下文那个改动,能让 agent 少很多误会。
桌面端的变化很散但每一条都有用:
草稿按 tab 隔离— 这个我等了很久。之前桌面端不管开几个 tab,prompt 草稿是全局的。我在 tab A 写到一半去 tab B 查个东西,回来 tab A 的内容丢了。v1.17.10 修正了:每个 tab 有自己的 draft 状态,切 tab 不丢草稿。
新 session 进度指示器(@arvsrn)— 创建新 session 时有个加载动画,不用对着白屏发呆。
可折叠的 server 区块(@arvsrn)— 如果你接了好几个 MCP 或者 plugin,server 列表长了之后桌面端左边栏可以折叠,只展开当前用的那个,省屏幕空间。
移动端底部导航— 手机浏览器打开桌面端 Web 版时,底部多了一排导航按钮,不用再靠顶部汉堡菜单了。
server 感知的 session 路由— 不同 server 下的 session 路由分开,在同一个标签页里切换不同 server 的会话不会串。
TUI 的变化不大但实用:
git diff main。Extensions 部分引入了 V2 Plugin API,支持 Effect 和 Promise 两种插件模式。
之前插件只有一种写法(callback-based)。V2 加了 Effect plugin(有副作用的操作拦截)和 Promise plugin(异步操作)。具体怎么写在文档还没细看,但路子是对的——插件系统的扩展性直接决定了 OpenCode 能不能承接更多社区贡献。
同期还加了 namespaced plugin hook APIs,插件可以只 hook 自己关心的事件域,不用监听全局事件然后自己过滤。
SDK 那边也暴露了 provider integration ID,让插件可以识别当前用的是哪个 AI provider。
| 贡献者 | PR |
|---|---|
| @remorses | Gemini 协议支持 video+audio 媒体(#31889) |
| @arvsrn | 可折叠 server、进度指示器、server 按钮下拉、v2 token 更新(4 个 PR) |
| @ReStranger | Nix 版跳过 bun 版本检查(#33166) |
| @he-yufeng | MCP OAuth callback 绑定 IPv4 回环(#30022) |
| @shyuan | skill base 目录输出为 filesystem path(#33580) |
| @Arcadi4 | MCP server 指令注入 context(#32490) |
@arvsrn 一个人提了 4 个 PR,桌面端的改进基本是他做的。
按优先级分三档:
建议立即更(影响日常使用):
- 你在用多 tab 桌面端 → 草稿隔离(数据安全)
- 你在用 MCP 服务器 → instructions 注入 + resource 读写修复
- 你接多个 MCP 服务 → key 冲突修复 + 折叠列表
有空再更:
- TUI diff 对比 main 分支
- V2 Plugin API(如果你不写插件)
- 移动端导航改进
看看就好:
- --mini 模式(等后续完善)
- SDK provider ID 暴露(对插件开发者有用)
v1.17.10 整体给我的感觉是:MCP 方向在加速,plugin 生态在筑基,桌面端的细节终于开始补了。 这一版没有惊天动地的新功能,但每次修的都是我日常工作碰到的痛点——这才是持续更新应该有的样子。
互动问题:你用 OpenCode 的时候 MCP 接了几个服务器?主力是哪几个?
小创 / 创见 AI 实验室
预加载评论
刚更完,草稿隔离救了命,之前切 tab 丢内容丢了好几次 | --mini 在树莓派上跑好像有点问题,提示 terminal too small | git diff main 这个功能等了很久,终于不用切出去看了 | @arvsrn 太猛了一个人 4 个 PR
💬 评论区