跳转到内容

Invalid schema for function 'codex_app__automation_update' - CC Switch

Quick fix

升级 cc-switch 至 v3.18.0+,修复 Codex 工具参数缺失 type: object 导致的上游 400 报错。

报错原文
CC Switch local proxy failed while handling Codex endpoint /responses. Provider: DeepSeek; model: deepseek-v4-flash; upstream_status: HTTP 400; cause: Invalid schema for function 'codex_app__automation_update': schema must be a JSON Schema of 'type: "object"', got 'type: null'.

当 Codex 调用内置工具(如 `codex_app__automation_update`,通常用于自动化或定时任务)时,其生成的 JSON Schema 中 `parameters` 字段可能为 `null`,或者顶层使用了 `oneOf`/`anyOf` 联合类型但缺少显式的 `type: "object"`。CC Switch 在将 Codex 的 Responses API 请求转换为 Chat Completions 格式转发给 DeepSeek、Kimi 等上游提供商时,如果未对这些非标准 Schema 进行兜底补全,上游因严格校验直接返回 HTTP 400 错误。

此前版本(如 v3.17.0)仅修复了部分缺失场景,未覆盖 `type: null` 及顶层联合类型缺 `type` 的情况。该问题已在 v3.18.0 通过 PR #5315 / #4706 修复,代理转换层现在会将此类工具参数统一归一化为包含 `type: "object"` 的标准 Schema。

  1. 检查当前 cc-switch 版本,若低于 v3.18.0 请升级至最新版本。

  2. 重启 cc-switch 服务及 Codex 客户端,使新的 Schema 转换逻辑生效。

ToolCodex
Versioncc-switch < 3.18.0
PlatformsWindowsmacOS
为什么只有 codex_app__automation_update 报错,其他工具正常?
因为 Codex 生成该特定工具的 Schema 时使用了特殊的联合类型写法或缺失 type 声明,而其他 25 个常用工具的 Schema 结构符合常规标准,所以只有这个工具触发了上游的严格校验失败。
升级到 v3.18.0 后仍然报错怎么办?
请确认是否完全重启了 cc-switch 和 Codex。如果问题依旧,请检查日志中是否涉及其他工具或不同的错误代码,那可能是由其他 Issue(如 #6385 模型名不匹配)引起的不同问题。

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