Skip to content

Codex CLI 专项问题

Codex CLI 的 Base URL 格式是什么?

Codex 的 Base URL 需要 /v1 后缀,与 Claude Code 不同:

Claude Code:https://你的请求地址      (不带 /v1)
Codex CLI :https://你的请求地址/v1   (带 /v1)

Codex CLI 配置文件在哪?怎么手动配置?

两个配置文件:

  • ~/.codex/config.toml(Windows 为 C:\Users\用户名\.codex\config.toml
  • ~/.codex/auth.json(Windows 为 C:\Users\用户名\.codex\auth.json

config.toml 参考:

toml
model_provider = "cctq_codex"
model = "gpt-5.6-sol"
plan_mode_reasoning_effort = "xhigh"
model_reasoning_effort = "high"
disable_response_storage = true
supports_websockets = false

[model_providers.cctq_codex]
name = "cctq_codex"
base_url = "https://www.cctq.ai/v1"
wire_api = "responses"
requires_openai_auth = true

auth.json 参考:

json
{
  "OPENAI_API_KEY": "sk-***"
}

Codex CLI 如何启用 1M 上下文?

暂时不可用

目前订阅渠道中仅 gpt-5.4 支持 1M 上下文,故此项暂时划掉;待更多模型支持后再恢复。

~/.codex/config.toml 中确认以下两项:

toml
model_context_window = 1000000
model_auto_compact_token_limit = 900000
  • model_context_window:可用上下文窗口设为 1,000,000
  • model_auto_compact_token_limit:接近上限前提前触发压缩,避免撞满

Codex CLI 推理速度慢怎么办?

config.toml 中的 model_reasoning_efforthigh 改为 mediumlow

  • low:快,适合简单代码生成、快速问答
  • medium:中,日常开发任务(推荐)
  • high:慢,适合复杂算法、架构设计

Codex CLI API Key 无效?

  1. 检查 ~/.codex/auth.json 中的 Key 是否正确
  2. 确认中转站余额充足、Token 未过期

报错 401 Unauthorized: Invalid token

现象:Codex CLI 运行时报错 unexpected status 401 Unauthorized: Invalid token

原因:之前登录过账号,导致 ~/.codex/auth.json 被覆盖,里面的 Key 不再是中转 API 的 Key。

修复:手动打开 ~/.codex/auth.json(Windows 为 C:\Users\用户名\.codex\auth.json),将内容改为你的中转 API Key:

json
{
  "OPENAI_API_KEY": "sk-***"
}

保存后重新启动 Codex 即可。

务必手动修改该文件,通过其他工具修改已无效。

报错 Image generation is not enabled for this group

现象:Codex CLI 运行时报错 Image generation is not enabled for this group

原因:当前分组未开通图像生成能力,Codex 默认尝试携带图像生成特性导致请求被拒。

修复:打开 ~/.codex/config.toml(Windows 为 C:\Users\用户名\.codex\config.toml),在 [features] 段中添加:

toml
[features]
image_generation = false

如果文件中没有 [features] 段,则新增该段后再写入上述配置。注意 Codex 没有热重载,修改保存后需要完全退出并重启 Codex 才会生效。

报错 此模型不支持图片输入,请尝试其他模型

现象:在 Codex 中粘贴或发送图片时报错 此模型不支持图片输入,请尝试其他模型

原因:Codex 依据 模型目录文件 中每个模型的 input_modalities 字段判断该模型能否接收图片;只要目录里对应模型的 input_modalities 没有 image,就会拒绝图片输入。根据你的配置方式,需要改的目录文件分两种情况:

情况一:直接手动配置 Codex(改 models_cache.json

适用于 不通过 CC-Switch、直接手动配置 Codex 的用户。编辑 Codex 自带的模型缓存 models_cache.json

一、打开配置文件

text
C:\Users\用户名\.codex\models_cache.json
text
~/.codex/models_cache.json
text
~/.codex/models_cache.json

二、找到对应模型,给 input_modalities 添加 image

在文件里按 "slug" 找到你正在使用的模型(例如 gpt-5.3-codex-spark),把它的 input_modalities 从:

json
"input_modalities": [
  "text"
],

改成(新增一行 "image"):

json
"input_modalities": [
  "text",
  "image"
],

说明

  • 每个模型条目都以 "slug": "模型名" 开头,只改你实际使用的那一个即可,其它模型可保持不变。
  • 已经含有 "image" 的模型(如 gpt-5.6-sol)无需改动,本就支持图片输入。

保存后 完全退出并重启 Codex 才会生效(Codex 没有热重载)。

情况二:使用 CC-Switch 管理(改 cc-switch-model-catalog.json

适用于 用 CC-Switch,且 Codex 供应商为「原生 Responses 直连模式」(openai_responses 的用户。这种模式下 CC-Switch 会 自己生成 一份模型目录 cc-switch-model-catalog.json,部分模型会被写成仅 ["text"],即使模型本身支持识图也会误报。此时改 models_cache.json 无效,要改 CC-Switch 生成的这份目录。

推荐做法:升级 CC-Switch 到 v3.17.0 及以上

新版已修复该问题(对应 cc-switch#4952):GPT 系 / 别名 / 新后缀 / 未知模型会自动写为 ["text", "image"],不再误报。升级后需在 CC-Switch 里 重新保存一次对应的 Codex 供应商,以重新生成目录。

如果仍在使用旧版本,也可手动修改:

一、打开配置文件

text
C:\Users\用户名\.codex\cc-switch-model-catalog.json
text
~/.codex/cc-switch-model-catalog.json
text
~/.codex/cc-switch-model-catalog.json

二、找到对应模型,给 input_modalities 添加 image

与情况一相同,按 "slug" 找到对应模型,把 input_modalities["text"] 改为:

json
"input_modalities": [
  "text",
  "image"
],

注意

手动改完后,如果你又在 CC-Switch 里 重新保存 了该供应商,这份目录会被 重新生成并覆盖,手动改动会丢失。因此优先升级到 v3.17.0+,让它自动写入 ["text", "image"]

保存后同样需要 完全退出并重启 Codex 才会生效。

报错 Selected model is at capacity. Please try a different model

现象:Codex CLI 报错 ⚠ Selected model is at capacity. Please try a different model.

原因:这是 OpenAI 服务端的模型容量限流,表示该模型当前满载,不是你的余额、Key、分组或网关问题,也不是额度用完(quota)。高峰期、新模型放量时尤其高发,gpt-5.6-sol / GPT-5.4 这类热门型号最常遇到。

应对:

  1. 直接发「继续」重试即可:一般再发一次就能继续,有时需要多发几次才会成功——属于正常现象
  2. 也可换个型号:5.5 不行就退到 GPT-5.4(修改 ~/.codex/config.toml 中的 model

报错 Reconnecting(启动卡一分多钟后又自己恢复)

现象:Codex 启动时卡在 Reconnecting,卡一分多钟后往往又自己好了。

原因:这是 Codex 自身的设定——每次启动会先用 WebSocket 协议连接后端。而中转站走的是标准 HTTP 接口,本就没有 WebSocket,所以这个握手必然连不上。Codex 会把"连不上"当成普通网络抖动去重试,连撞 5 次后才换到 HTTP,这就是"先卡一分多钟、然后又自己恢复"的由来。

解决办法:在 ~/.codex/config.toml 里把中转站配成自定义 provider,并加上 supports_websockets = false 这一行,等于直接让 Codex 走 HTTP,从第一步就走对路,Reconnecting 会彻底消失:

toml
model_provider = "cctq_codex"
model = "gpt-5.6-sol"
plan_mode_reasoning_effort = "xhigh"
model_reasoning_effort = "high"
disable_response_storage = true
supports_websockets = false

[model_providers.cctq_codex]
name = "cctq_codex"
base_url = "https://www.cctq.ai/v1"
wire_api = "responses"
requires_openai_auth = true

关键三点:

  1. 必须配成自定义 provider(如上例的 cctq_codex),而不是用默认的
  2. 必须加上 supports_websockets = false
  3. base_url 必须以 /v1 结尾

改完完全退出并重启 Codex 才会生效(Codex 没有热重载)。

如果以上方法仍无法解决,可以尝试更换更稳定的网络环境。当前服务托管于 Cloudflare 加速节点,无 CN 优化,部分国内网络环境下连接质量会有波动。

GPT 偶发自称是 GPT-5.1?

已移除 / 暂时划掉

新版本 sub2 已移除该系统提示词注入,此问题不再出现,故暂时划掉。

现象:与 Codex 对话时,GPT 偶尔回答自己是 GPT-5.1 模型。

原因:这与 sub2api 挂号系统的系统提示词注入有关,并非模型本身或中转站的问题。翻阅 sub2api 源码,backend/internal/pkg/openai/instructions_gpt5_1.txt 中注入了如下原句:

You are GPT-5.1 running in the Codex CLI, a terminal-based coding assistant. Codex CLI is an open source project led by OpenAI. You are expected to be precise, safe, and helpful.

自行复刻方式:准备一个 GPT 账号挂在 sub2api 系统中,通过反代调用即可复现;free / team / k12 / plus / pro 各档均有此情况

说明:当前测试在 cpa 系统中未发现此类情况。该情况不影响模型能力(智商),仅为 sub2api 处理防封的操作。

订阅账号可用模型

订阅账号在 Codex 中已移除对老旧模型的支持,目前可正常使用的是 GPT-5.3-Codex-Spark / GPT-5.4 / gpt-5.6-sol 系列。这些系列之外的模型均走官方 Key(官 key)调用,价格昂贵,请按需谨慎使用。