跳转到内容

unsupported call: - Codex

Quick fix

升级 cc-switch 至 v3.16.4 或更高版本,修复流式转换中工具调用 name/id 被空 delta 覆盖的问题。

报错原文
unsupported call:

当 cc-switch 代理将上游 Chat Completions 流式响应转换为 Responses-API 事件时,会按 index 累积工具调用的 arguments。部分供应商(如 GLM、MiniMax)仅在首个 tool_calls delta 中发送 name 和 id,后续分块中这些字段为空。在 v3.16.3 及更早版本中,累积器会被后续的空值覆盖,导致 Codex 收到空的 name 和 call_id 从而拒绝执行。此问题影响使用不透明 ID(如 call_<hash>)的模型,而 ID 中编码了名称的模型(如 Kimi)则不受影响。

  1. 将 cc-switch 升级到 v3.16.4 或更新版本。该版本修复了累积的 tool-call 状态被空 delta 覆盖的缺陷,不再依赖 ID 中编码的名称。

ToolCodex
Versionaffected range: cc-switch <= 3.16.3
PlatformsmacOSLinux
为什么 kimi-k2.7-code 可以正常使用,但 glm-5.2 和 MiniMax-M2.5 会报错?
kimi-k2.7-code 的 ID 中编码了名称(如 functions.run:0),旧版 cc-switch 可以从中恢复名称;而 GLM 和 MiniMax 使用不透明的 ID(如 call_<hash>),在 v3.16.3 中无法恢复,导致名称为空。
模型可以正常聊天,但调用工具就返回为空,是上游 API 的问题吗?
不是上游 API 的问题,而是 cc-switch 在流式转换时丢失了工具调用的名称和 ID。升级 cc-switch 至 v3.16.4 即可解决。

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