📄 文档管理系统

← 返回列表

OpenCode 凌晨发布 v1.17.10:`--mini` 轻量模式、MCP 资源读写、桌面端终于做了多 tab 草稿隔离

default 📅 创建:2026-06-25 16:16:57 🔄 更新:2026-06-25 08:19:14
👁️ 预览 & 复制到公众号 ✏️ 编辑

OpenCode 凌晨发布 v1.17.10:--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:从「读接口」变成「读资源」

这次 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:Diff 查看器可配置快捷键 + 对比 main 分支

TUI 的变化不大但实用:

插件系统:V2 Plugin API 来了

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。


6 位社区贡献者

贡献者 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

💬 评论区

加载中...