修复 Gemini CLI 因丢失 thoughtSignature 导致的 API 400 报错

sarbojitrana · ghdev · 2026-07-31

该 PR 修复了 Gemini CLI v0.53.0 版本中一个导致 API Error 400 的回归 Bug。

问题根因

在禁用上下文管理时,stripThoughts() 函数会无条件丢弃带有 thought: true 的历史记录。但如果 Gemini API 将必需的 thoughtSignature 附着在这些 thought part 上,直接剥离就会导致整个轮次丢失签名。当历史记录回滚并重放这些缺少签名的 functionCall 时,API 会直接拒绝请求并报错。

修复方案

修复方案参考了上下文管理启用路径下的正确逻辑,在剥离 thought part 时,向首个 functionCall 注入合成的 SYNTHETICTHOUGHTSIGNATURE 哨兵值,确保调用正常通过。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →