昨天 OpenCode 一天之内连发 2 个版本:v1.17.19 是主版本(1599 字符 release notes,59 commits),v1.17.20 是 4 小时 35 分钟后的 hotfix(181 字符,13 commits)。
我看完两版 release notes + commit log 之后发现:v1.17.19 这一版一半的改动都在桌面端——14 项(7 个 fix + 7 个 improve)。Core 5 项 + TUI 1 项是"看起来不多但每项都站得住"的那种。v1.17.20 是把上一版的 1 个 workaround 删了,然后顺手更新了 Azure AI SDK 支持 GPT-5.6。
让我意外的几个点
第一,v1.17.19 居然没在 notes 里提到的 commit 51b9c72 是:
翻译过来就是——有个不该进 dev 分支的界面切换改动误入了,v1.17.19 第一件事是回滚它。这种"先清理战场"的 PR 居然是 Aarav Sareen / usrnk1 那些 feature 改动之前必须做的。
第二,v1.17.20 的 release notes 只有 181 字符,里面就一句话最有信息量:
——删了 v1.17.19 刚加的一个 workaround。意思是 v1.17.19 的 Luna Responses Lite OAuth 支持有点副作用,现在用更干净的方案把它干掉了。
第三,v1.17.19 加了 2 个社区贡献者的 PR:@nabilfreeman(GPT-5.6 Codex context)和 @geraint0923(xAI Responses store 默认 false)。这次 OpenCode 直接在 release notes 里致谢了——比 OpenCode 一般发 PR 注明的习惯更正式。
v1.17.19 桌面端 UI 在重做什么
4 天攒下来(v1.17.18 → v1.17.19 间隔 3.94 天),14 项桌面端改动一次性发:
7 个 bug fix:
- 回滚误入 dev 的 interface transition 改动
- 修切边的 label + branch 工具提示
- 修 review panel 开/关时宽度跳动
- 新 session 自动 focus 输入框
- 防 new-session update 阻塞 UI
- 修时间线 outline 被切边
- context token 计数与 usage 对齐
- 打开文件时保持文件树可见
7 项 UI improve:
- 重做 attachment card + file comment chip
- review panel:持久文件浏览 + 更好标签 + 易打开
- Edit Project modal 改用 v2 风格
- 中键点击 → 新标签页打开 session
- 临时设置:新旧界面切换开关
- composer 里每 prompt 选模型
- session view + terminal 全局样式打磨
最有"产品决策"分量的是这个新旧界面切换开关。OpenCode 桌面端在迁到 v2 风格,用户已经习惯老界面会抱怨,所以加了个临时开关让你能切回去。我估计这个开关活不过 v2 正式版。
我最喜欢的细节:中键点击开新 tab。这是从浏览器习惯借过来的——多 session 切来切去的开发者最爱这个。配合 review panel 重做的"持久文件浏览",多文件跨 session 调试终于不用一直点 file tree 找同一个文件了。
Core + TUI 那 6 项虽然不多但都有实质
桌面端之外,v1.17.19 改的 6 项:
|
|
|
|
|---|---|---|
|
|
|
#36694
|
|
|
store 默认 false(隐私更严)
|
#36629
|
|
|
|
#36685
|
|
|
|
#36276 |
|
|
|
#36248
|
|
|
|
#35925 |
pro reasoning mode 是 OpenAI 在 Responses API 上加的高推理档位。之前你只能用 low / medium / high,现在能开 pro 了。配合 v1.17.18 默认 gpt-5.6 + OAuth token 计费,能跑比之前更重的工作流。
xAI store 默认 false 这是个隐私改进——Responses API 默认不上传存储,意思是你的对话数据默认不传给 xAI 训练用。这个改动值得注意,因为它是 default store to false,不是"加了个 disable 按钮",意思是默认就更严了。
Luna Responses Lite OAuth 之前只有 API key 一种登录方式,OAuth 走的是 ChatGPT Plus/Pro 账号。Luna 在 GPT-5.6 三档里最便宜(轻量档),加上 OAuth 等于用 ChatGPT 账号就能跑 Luna。
CLI env → TUI worker 这个修是 bot 写的(opencode-agent[bot])。很多人不知道有这个 bug:你 CLI 侧 export OPENCODE_FOO=bar 但 TUI worker 没拿到。修了之后 TUI 现在能看到所有 CLI side 设的 env。调 API key / proxy 设的就是 env,对调试/集成来说很重要。
v1.17.20 是干净的小修
最后说 v1.17.20。这版 release notes 我看了之后印象最深的是它有多短:
就这 2 项。但每一项都有明确意思:
- 删 workaround——v1.17.19 加 Luna Responses Lite OAuth 时为了避免冲突加了个临时处理。v1.17.20 用更干净的方案替代,所以 workaround 直接干掉。这是 OpenCode 处理"加新功能 → 留个补丁 → 下个版本清掉"的典型节奏。
- Azure AI 支持 GPT-5.6——4 小时内把 Azure SDK 升了一下,对 Azure 用户来说等于能跑 GPT-5.6 了。
剩下的 11 个 commit 大部分是 bot 的 chore(generate / nix node_modules hashes 更新)。这就是 OpenCode hotfix 版本的标配——少而精。
一点观察
OpenCode 这半个月的发版节奏:
- v1.17.18 (2026-07-09) → 3.94 天 → v1.17.19 (2026-07-13) → 4h35m → v1.17.20 (2026-07-13)
主版本之间 3-5 天 + 当日补丁 0.5-1 天。这种节奏的好处是:所有桌面端这种重 UI 改动能在 3-4 天攒起来一起发,否则每改一个 file tree 就发一版你会被 noise 淹没。
我自己的感受:v1.17.19 桌面端 UI 重做 + 4h35m 后的一个干净 hotfix,是我见过 OpenCode 最像样的"产品迭代"节奏。v1.17.x 是真的在收敛——之前 v1.17.14 那种 181 PR 5 天的爆发版本反而不好消化。
下次 v1.17.21 我估计会是另一次 hotfix(修个 v1.17.19 引入的小 bug 之类)。如果一周后没出,v1.17.21 可能就是 v1.17.20 的累积延伸,继续桌面端 UI 收尾。等 OpenCode 出 v1.18 再写一次。






