昨天晚上 11 点我还在用 v1.17.16,今早起来一看,新版已经在跑。
我翻了一下时间——v1.17.17 和 v1.17.18 加起来离 v1.17.16 才 12 个多小时。中间还夹着睡了一觉。
对 OpenCode 我已经习惯了这种节奏。但有个问题我一直没认真回答过:这种几乎每天一版的频率,到底更新了什么?是不是出了什么问题?
这次我把这 12 小时的改动全部翻了一遍,给一个完整的答案。
我先说了结论
OpenCode 不是"出问题了才发版"。它是把"原本一个主版本做完的事"拆成几次发。
在没拆之前,一个 v1.17.17 这样的"补丁版"基本就是做个记录日志:"我修了上次没修完的某个 bug。"
但 OpenCode 把这拆出来了:上次没修完的 UI 细节、刚发现的 provider 稳定性、一处默默在 production 跑的改进——这些东西不再压在主版本里等下次一起发,而是当天就发出来。
所以你看到的"频繁更新",其实是"更短的发布间隔"——不是"更多的代码改动"。
如果你用 VS Code,类比就是:VS Code 几乎每个月更新一次,"这次更新了什么"经常说不清楚;Notion 一周发 3-4 次 changelog,但每次都很小——你不会问 Notion "是不是出问题了"。
OpenCode 走的就是 Notion 路线。
我看完这 12 小时的改动,发现其实是 4 类
我不按 PR 整理,按"我在用 OpenCode 时会感受到什么"整理。
第一类:上次主版本没收拾完的小尾巴
v1.17.16(就是上一篇文章的主角)那次加了好几个桌面端的新功能:composer 不丢草稿、侧边栏文件 tab、首页项目能在文件管理器里打开。
这些功能上线后立刻就有人反馈细节问题:模型下拉框里某些字体的下半截被截断、侧边栏 tab 的介绍弹窗没法关掉、v2 session 里那个撤销按钮布局还是老样子。
理论上,这些应该是下次主版本一起修的。OpenCode 没等下次。8 个多小时后 v1.17.17 就把这堆细节发出来了。
这是这 12 小时里的主要改动。
第二类:非 Claude 的 provider 稳定性
如果你不是用 Claude,平时可能感知不到。但 OpenCode 这几个月对 Meta 系模型(Muse)、GitHub Copilot 这些的支持一直是补齐中。
v1.17.18 那 2 个小改动就是干这个:
- 一个是 GitHub Copilot 偶尔会返回一个 billing 信息为零的模型列表,OpenCode 之前会崩。现在不会了。
- 另一个是 给 Meta 的 Muse Spark 加了专属的系统提示,让它响应更稳。
如果你只用 Claude,会觉得这俩跟你无关。但用 Copilot 或 Muse 的话,这是必升——之前一些偶发的诡异 bug 大概率就是这个。
第三类:v2 设计的细节统一
OpenCode 桌面端这几个月在推一套叫 v2 session 的新界面风格。之前的版本是 v1 session,新功能没用 v2 那一套。
这次 v1.17.17 里塞的几个改动都是把 v2 风格补完整:把多 agent 协同时那个子任务列表对齐到 v2、把那个撤销的 dock 按钮重新排版。
普通人感知不到。但如果你经常用多 agent、经常 revert,这次桌面的"那块区域"看起来会更顺眼。
第四类:Zen 的稳定性改进(不在 release notes 里)
OpenCode Zen 是 OpenCode 自己提供的一个 LLM gateway。这次它悄悄加了一个HTTP 529 状态码的重试逻辑。
529 是 LLM 服务端临时过载(too many requests 类的)时返回的状态码。一般人不查日志根本不知道。
但你的 Zen 服务"莫名其妙稳定了一点"就是因为它。这种改进不会写进 release notes,但它确实在这 12 小时里被合并了。
我对这次发布的判断
v1.17.17 是个"主版本当天没修完就当天补"的典型例子。v1.17.18 是这种"补"的延续——把另一类不稳定因素(Meta/Copilot)一次性收尾。
如果你只看 release notes,会觉得这两个版本很小。但把它们的内容拆开看:
- 上次没修完的 UI
- Meta/Copilot 这条一直补的 provider 兼容性
- v2 设计的细节收敛
- Zen 的稳定性
合在一起就是 OpenCode 从主版本发出去到下一次大动作之间所有"不能等"的微改动——把它们各自打包成 tag 发出来。
要不要升
直接升 v1.17.18,不会破坏现有配置。
但如果你用下面这几类 provider,建议确认你升到 v1.17.18 了:
- GitHub Copilot 用户——之前偶发崩溃就是因为 zero billing 处理不好,现在修了
- Meta Muse 用户——这版专属系统提示更稳定
其他用户哪怕是 v1.17.16 也问题不大。但既然发布这么频繁,建议就让 OpenCode 自动更新——这种补丁不需要等"稳定版"。
节奏补充:这种 3-8 小时一发并不罕见
我把最近一周的发版间隔拉出来:
最夸张的一次间隔 1 小时出头的也有。
OpenCode 的发布节奏就是:主版本(带新功能,间隔 3-5 天) → 几个补丁版(间隔数小时到 1 天,专注修特定类问题) → 下个主版本。
这种节奏在 LLM 应用里其实很常见,因为 LLM 本身就不稳定——provider 改个 prompt 模板、某个模型下架、加新模型,都需要快速响应。但 OpenCode 的特殊之处是它把这种响应做得非常透明——每个版本号对应一个 tag,每个 tag 对应一个明确的改动范围。
总结
OpenCode 频繁更新 = 它把"一个大版本的零碎收尾"按时间切成小版本发。
不是 bug 多,是流程就这样。
具体到这次:
- v1.17.17 = v1.17.16 桌面端 6 个新功能没收拾完的细节
- v1.17.18 = Meta Muse + GitHub Copilot 这两类 provider 的稳定性收尾
- 不在 release notes 里的:Zen 那个 HTTP 529 重试
- 节奏上:3.8 小时间隔不罕见,最近一周好几次比这更短
下次看到 OpenCode 一天发两版、或者离上一个版本才几小时,不用紧张——这就是 Notion / Linear 这类现代开发工具的常规操作。
opencode update 即可,不需要等什么稳定版。






