修复 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」频道最新
- SemiAnalysis 开源 300 万美元 AgentX 基准,百万上下文测 AI 编程 — AccBalanced · 2026-08-24
- 面向小企业的 AI WhatsApp 助手,该选什么技术栈? — aarondiaz92 · 2026-08-24
- RAG 新趋势:双阶段文档处理平衡成本与精度 — llama_index · 2026-08-24
- Fabien 分享 agent.md:改进 LLM 辅助代码质量的工作流 — Thrumpwart · 2026-08-24
- 低显存 Qwen 3.8 27B 用户常用插件与技能讨论 — radlinsky · 2026-08-24
- Stanford 新法:LLM 自我验证,分数暴涨 9.3% — Saboo_Shubham_ · 2026-08-24