Codex 通过中转使用 GPT-5.6 时 Web Search 失败的解决办法

随着GPT-5.6 的发布,Codex 也为其进行了特殊的修改。

使用中转/反代在 Codex 中调用 GPT-5.6 时,如果 Web Search 调用失败,常见原因并不在 Codex 本身,而是中转服务尚未适配新版搜索接口。

GPT-5.6 在 Codex 中会使用新的逻辑,也就是 responses lite 分支。该分支本地不再提供 Web Search 工具,搜索能力依赖服务端实现的新接口。因此,即使模型能正常对话,如果中转站没有支持对应的 Search API,Web Search 仍然会失败。

目前,CPA、sub2api 等部分中转工具已经支持该接口,但仍有一些中转站尚未适配。另外,即使接口已存在,在部分中转实现中也需要将模型的 provider 设置为 openaiOpenAI,才能正确启用 Web Search。

Linux.do(下文简称 L 站)已经有相关讨论,见:
https://linux.do/t/topic/2565293

因此可以根据中转站的支持情况选择两种处理方式:

  1. 中转站已支持新版 Search API:将模型的 provider 设置为 openaiOpenAI,然后重新测试 Web Search。
  2. 中转站尚未支持新版 Search API:关闭 responses lite,让 Codex 回退到旧的请求逻辑。

需要注意的是,部分中转站可能会将新版 Search API 按调用次数单独计费。选择方式一前,建议先查看中转站的计费说明和请求日志,确认实际调用量与费用。

下面介绍第二种做法。

先复制一份 Codex 官方的 models.json 到本地:

https://github.com/openai/codex/blob/main/codex-rs/models-manager/models.json

然后找到对应模型的配置,例如:

1
2
3
"slug": "gpt-5.6-sol",
... ...
"use_responses_lite": true,

use_responses_lite 改为 false

1
"use_responses_lite": false,

接着在 config.toml 中配置本地模型配置文件的路径:

1
model_catalog_json = "path\models.json"

path\models.json 替换为实际文件路径,让 Codex 读取这份本地配置。这样 Codex 会走旧的逻辑分支,适合中转站尚未支持新版 Search API 的情况。

修改前建议先备份配置;后续升级 Codex 或更新模型配置后,也建议重新确认该设置是否仍然生效。

上述回退方法同样来自 L 站的讨论:
https://linux.do/t/topic/2563511/5

L 站确实卧虎藏龙。