opencode 跨厂商切换现高危 bug:超长工具调用 ID 永久损坏会话
ton618to · ghdev · 2026-10-09
anomalyco/opencode 被曝一个已复现的高危 bug:跨模型/供应商切换或恢复会话时,provider 原生工具调用 ID 被原样保留并直接发给 OpenAI 兼容端点,而后者对 toolcallid 有 40/64 字符限制。
Vertex/Gemini 以及 SAP AI Core 等网关生成的 ID 可能内嵌签名、超过 1000 字符(实测 1262 字符),请求被 HTTP 400 拒绝。更糟的是这些无效数据已持久化进历史,后续每次请求都失败,普通用户只能开新会话或手改存储。
根因:序列化路径完全没有对 tool-call ID 做长度归一化——入站流式响应原样保留 provider ID,出站 openai-chat/openai-responses 等协议也原样透传,无任何截断。
「编程与Agent」频道最新
- Decisions API 正式 GA,agent 反馈循环全自动剪辑云视频 — dkundel · 2026-10-23
- 50+ 免费 AI Agent 学习资源合集:视频与仓库一站打包 — ifioknkem · 2026-10-23
- 自封「全网最佳」的免费 AI Agent 资源库引围观 — ifioknkem · 2026-10-23
- Vercel 推出免注册部署:拖拽文件到首页即得线上 URL — steren · 2026-10-23
- 5 个 Claude Code 会话经 MCP 互发邮件,组队攻破多品牌网络摄像头 — doodlestein · 2026-10-23
- Vercel 上线 vercel deploy --temporary,可临时部署后自动清理 — cramforce · 2026-10-23