OpenCode 1.15.13 发布 —— thinking 框是空的?你的推理被网关拦截了
你的判断是对的。v1.15.13 修的刚好就是这个。

OpenCode 网关把你 thinking 吃了,自己还不知道
Anthropic Opus 4.7 的 adaptive reasoning 能根据问题复杂度自适应决定思考深度。简单问题浅思考,复杂问题推得深。这个功能对大模型编程来说很实用——不说废话,也不省推理。
但 OpenCode 的 Gateway 在把 Anthropic Messages API 响应转成内部格式时,把 Opus 4.7 返回的 thinking 块压缩成了空的片段。不是没有 thinking——模型确实推了,内容也确实回了——只是网关在协议转换层把 thinking 数据丢掉了,只给用户留了一个 HTML 空壳。
这个 bug 最难的地方在于:功能没断,API 没报错,response 正常返回, 只有 thinking 不见了。你拿 A/B 对比两组输出,才会发现区别。不是改换个 provider,也不是清缓存能解决的——是中间层把东西漏光了。
修法本身不复杂:保留 summarized thinking,网关不再丢弃它——之后 Opus 4.7+ 的推理过程能正常显示了。
配置加载路径:终于有确定性了
第二个修到点子的改进跟每个用自定义配置的人有关。
OpenCode 之前加载配置的方式不确定——全局配置和目录配置之间的优先级规则不够明确,你设了 opencode.json 项目配置,有时被全局覆盖,有时全局不生效。切换项目目录时 provider 策略的行为靠猜。
是一个路径查找优先级问题,只不过影响面广:目录配置、provider 策略、tool 权限,全依赖这个解析顺序。
v1.15.13 的改法是:配置从打开的目录位置向上查找,找到最近的 opencode.json 就停。目录级别的设置现在可以确定地覆盖上级配置。如果你不在多个项目间切换 OpenCode,这个改动对你无感——但如果你在不同项目目录里用不同的 model/provider 组合,修正后的行为很直观。
TUI 行对齐和错误详情展开
终端界面修了两个日常碰到最多的交互问题:
-
内联工具结果行对齐:工具输出换行后,第二行和第一行的起始位置对不齐,整列工具的结果像歪楼。现在改了行包裹的对齐逻辑。
-
工具失败时错误详情展开:如果某个内联工具执行出错,可以在原位置展开错误详情。之前你得翻日志或者重新跑一遍才知道具体哪里挂了。
会话元数据 API
SDK 和 API 现在支持给 session 附加自定义元数据了。对在 CI/CD 或自动化流程中集成 OpenCode 的人来说,可以有更多状态管理的可能性——打标签、关联 issue ID、标记上下文,然后按元数据检索历史会话。
升级:
npm i -g opencode-ai@latest
brew upgrade opencode
完整更新日志:GitHub Release
有时候一个空的 thinking 框比一个报错信息更让人头疼,因为前者一点也不像 bug。v1.15.13 就修这种——你不对比根本不知道丢了东西的 bug。
📢 关注我,获取最新开源更新日志和开发者工具动态。
#OpenCode #开发者工具 #AI编程 #Gateway #版本更新