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 参考:
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 = trueauth.json 参考:
{
"OPENAI_API_KEY": "sk-***"
}Codex CLI 如何启用 1M 上下文?
暂时不可用
目前订阅渠道中仅 gpt-5.4 支持 1M 上下文,故此项暂时划掉;待更多模型支持后再恢复。
在 ~/.codex/config.toml 中确认以下两项:
model_context_window = 1000000
model_auto_compact_token_limit = 900000model_context_window:可用上下文窗口设为 1,000,000model_auto_compact_token_limit:接近上限前提前触发压缩,避免撞满
Codex CLI 推理速度慢怎么办?
将 config.toml 中的 model_reasoning_effort 从 high 改为 medium 或 low:
low:快,适合简单代码生成、快速问答medium:中,日常开发任务(推荐)high:慢,适合复杂算法、架构设计
Codex CLI API Key 无效?
- 检查
~/.codex/auth.json中的 Key 是否正确 - 确认中转站余额充足、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:
{
"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] 段中添加:
[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:
一、打开配置文件
C:\Users\用户名\.codex\models_cache.json~/.codex/models_cache.json~/.codex/models_cache.json二、找到对应模型,给 input_modalities 添加 image
在文件里按 "slug" 找到你正在使用的模型(例如 gpt-5.3-codex-spark),把它的 input_modalities 从:
"input_modalities": [
"text"
],改成(新增一行 "image"):
"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 供应商,以重新生成目录。
如果仍在使用旧版本,也可手动修改:
一、打开配置文件
C:\Users\用户名\.codex\cc-switch-model-catalog.json~/.codex/cc-switch-model-catalog.json~/.codex/cc-switch-model-catalog.json二、找到对应模型,给 input_modalities 添加 image
与情况一相同,按 "slug" 找到对应模型,把 input_modalities 从 ["text"] 改为:
"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 这类热门型号最常遇到。
应对:
- 直接发「继续」重试即可:一般再发一次就能继续,有时需要多发几次才会成功——属于正常现象
- 也可换个型号: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 会彻底消失:
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关键三点:
- 必须配成自定义 provider(如上例的
cctq_codex),而不是用默认的 - 必须加上
supports_websockets = false 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)调用,价格昂贵,请按需谨慎使用。
