@chandler #1 发布于2026/9/29 15:58:46 根据我的经验,你用的中转站BaseUrl应该没加/v1,你加上/v1再试试 我的经验是有些中转站的设置问题,不加/v1,他走的就是/chat/completions,加上之后走的就是/v1/responses的,前者好像是从gpt-5.4之后就不会调用工具了
这个是 sub2API 的一个 bug。在渠道设置中,需要把它改成强制使用 response,而不能切换成自动。 切换成自动的话,它会给你自动用 chat completion,而不是使用 response,然后它就把 response 提供的tools给扔了
用下面这份完整提示词: 请修复当前电脑上 Codex 通过 Sub2API 调用工具时,偶发出现“找不到执行工具”的问题。 已知原因: Sub2API 暂时不能正确处理 Codex Responses Lite。启用 Lite 后,工具定义可能被放入 input[].additional_tools,而不是标准 Responses API 的顶层 tools,导致 Sub2API 漏掉工具定义。 请直接完成以下操作。 1. 确认环境 - 运行 `codex --version`,记录当前 Codex CLI 版本。 - 找到实际的 `$CODEX_HOME`。 - Windows 通常是 `C:\Users\<用户名>\.codex`,但必须以当前电脑的实际路径为准。 - 检查 `$CODEX_HOME\config.toml`。 - 不要输出 API Key、Token、Authorization Header 等敏感信息。 2. 获取最新官方模型目录 从 OpenAI 官方 GitHub 仓库获取最新稳定 release: https://github.com/openai/codex/releases/latest 要求: - 使用最新的非 draft、非 prerelease 稳定版本。 - 获取该 release 的 `tag_name`。 - 按下面的地址下载模型目录: https://raw.githubusercontent.com/openai/codex/<tag_name>/codex-rs/models-manager/models.json 截至 2026 年 9 月 12 日,已知最新稳定版本是 `rust-v0.154.0`,对应文件: https://raw.githubusercontent.com/openai/codex/rust-v0.154.0/codex-rs/models-manager/models.json 但仍需先查询 GitHub,若已有更新的稳定版本,应使用更新版本。 3. 校验下载文件 下载到临时文件后再替换正式文件。必须确认: - HTTP 下载成功。 - 文件能被正常解析为 JSON。 - 顶层结构为: { "models": [...] } - `models` 是非空数组。 - 当前 `config.toml` 选择的模型存在于目录中。 - 模型条目包含 `slug`、`display_name`、`supported_reasoning_levels`、`truncation_policy` 等必要字段。 校验失败时不要覆盖现有文件。 4. 安装模型目录 将下载并校验过的文件安装为: $CODEX_HOME\cc-switch-model-catalog.json 如果该文件已经存在: - 先备份现有文件。 - 备份名称使用: `cc-switch-model-catalog.json.bak-before-disable-responses-lite` - 不要删除原备份。 5. 关闭 Responses Lite 解析新下载的模型目录,将所有: "use_responses_lite": true 修改为: "use_responses_lite": false 需要修改所有启用 Lite 的模型,而不只是当前模型,因为这些模型共用 Sub2API provider,切换模型后也可能遇到同样问题。 除该字段外,不要修改模型目录的其他内容。 6. 配置 config.toml 确保 `$CODEX_HOME\config.toml` 的顶层存在: model_catalog_json = "cc-switch-model-catalog.json" 该配置必须位于 `[model_providers.*]` 等 TOML 表之前,不能误放进 provider 表中。 保留现有配置,例如: model_provider = "custom" model = "gpt-5.6-sol" 同时保留: wire_api = "responses" 不要进行以下修改: - 不要切换到 Chat Completions。 - 不要关闭 `supports_parallel_tool_calls`。 - 不要修改模型 slug。 - 不要修改 Sub2API 地址或认证配置。 - 不要格式化或重写整个 config.toml。 - 不要改动与此问题无关的配置。 7. 处理版本兼容 最新模型目录的 JSON schema 可能无法被旧 Codex 解析。 安装模型目录后运行: codex features list 如果出现类似错误: failed to parse model_catalog_json missing field ... 说明 Codex 版本过旧。此时: - 使用官方 `codex update` 更新 Codex。 - 如果是 Codex 桌面应用的内嵌 CLI 过旧,也要更新桌面应用。 - 不要为了兼容旧版而随意给官方模型目录伪造字段。 - 更新后重新运行验证命令。 8. 最终验证 必须确认: - 模型目录 JSON 可以正常解析。 - 模型总数大于 0。 - `use_responses_lite=true` 的数量为 0。 - 当前模型存在于目录中。 - 当前模型的 `use_responses_lite=false`。 - `model_catalog_json` 路径存在且位置正确。 - `codex features list` 成功执行。 - 没有 `failed to parse model_catalog_json` 错误。 不要为了测试而发送可能产生费用的模型 API 请求。 9. 完成报告 完成后告诉我: - 最新稳定 Codex tag。 - 下载文件的官方地址。 - Codex CLI 版本。 - `$CODEX_HOME` 路径。 - 实际修改的模型目录路径。 - 修改了多少个 `use_responses_lite` 字段。 - 当前模型名称。 - 配置加载验证结果。 - 备份文件路径。 - 是否需要彻底退出并重新启动 Codex。 请只做解决该问题所需的最小修改,并保留其他用户配置。
@cheery #7 你就试试新开会话问一下能不能调用工具。我记得fork不行,会把旧上下文带进来。
我的经验是有些中转站的设置问题,不加/v1,他走的就是/chat/completions,加上之后走的就是/v1/responses的,前者好像是从gpt-5.4之后就不会调用工具了
@cheery #9 是不是网页版的给你用了?
这个应该是中转站的问题
这个是 sub2API 的一个 bug。在渠道设置中,需要把它改成强制使用 response,而不能切换成自动。
切换成自动的话,它会给你自动用 chat completion,而不是使用 response,然后它就把 response 提供的tools给扔了
@nodeisle #13
现在真有很多把网页版的反代出来的,很恐怖哎
@MuNaishi #15
ok,感谢佬,我试试
这个好像是中转特有的问题,我改用订阅之后再也没有出现过这个。
用下面这份完整提示词: