跳转到内容

missing field `call_id`,Codex 心跳 DeepSeek 400

Quick fix

为代理启用请求时清理孤立的心跳输出条目;该 issue 未确认 CC Switch 已有修复。

报错原文
cause: Failed to deserialize the JSON body into the target type:
input: missing field `call_id` at line 1 column 389282

Codex 桌面版的 heartbeat 自动化会向会话历史注入没有 `call_id` 的 `function_call_output`。DeepSeek `/responses` 要求该字段,因此返回 400;历史条目会随该线程后续请求反复发送,导致同一会话持续失败。补随机 `call_id` 仍可能因没有匹配的 `function_call` 而报错。评论提出代理请求时过滤此类孤立条目可提供恢复路径,但该 issue 关闭时维护者称问题源于客户端或供应商一侧,CC Switch 无法从根本修复;未确认正式修复已发布。

  1. 避免继续使用已受影响的线程;新建会话可正常工作。

  2. 若使用支持请求时清理的代理实现,可在转发前过滤没有有效 `call_id` 的孤立 `function_call_output`,并用空白测试任务验证。不要伪造 `call_id`;相关评论中的参考实现仅作为第三方代理边界方案,issue 未确认其为 CC Switch 内置修复。

ToolCodex 桌面版
Version3.19.1、3.20.1(报告环境;另有 3.20.3 验证)
PlatformsmacOS
用 DeepSeek 官方教程连接 Codex 能避免这个问题吗?
评论中的用户尝试后仍遇到相同错误;该 issue 未证明官方连接方式可以避免问题。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。