跳转到内容
2api2api 文档
打开控制台

常见问题

Codex

Codex CLI 和插件接 2api 时最常见的报错和解决办法。

先看报错末尾 url: 后面是哪个地址:

是 api.openai.com 或 chatgpt.com:你的自定义 provider 没生效,请求还在发往官方。逐项检查:

  • config.toml 里有没有 model_provider = "sub2api" 这一行,名字和 [model_providers.sub2api] 是否完全一致(区分大小写)。
  • 这几行是不是放在了某个 [...] 段落下面。放在段落下面会被当成那个段落的设置,要挪到文件最开头。
  • provider 名字是不是叫 openai。这是 Codex 内置的名字,自定义地址会被忽略,换个名字。
  • 配置是不是写在了项目目录的 .codex/config.toml 里。provider 只能写在 ~/.codex/config.toml。
  • 环境变量里有没有残留的 OPENAI_BASE_URL。

是 2api.dev:请求到了 2api,是 Key 的问题。

  • ~/.codex/auth.json 里还留着 ChatGPT 登录信息:备份后删掉,重新写入 Key(见 Codex CLI)。
  • Key 错了,或者分组不是 GPT 的分组。
  • 用 codex login status 看当前用的是哪种登录方式。

改完后完全退出 Codex,新开一个会话。

  • 检查 base_url 是 https://2api.dev/v1。
  • 终端里设置了失效的代理:运行 env | grep -i proxy 看看,修好代理,或者加 NO_PROXY=2api.dev。
  • 长时间思考时连接被断开:在 [model_providers.sub2api] 里加 stream_idle_timeout_ms = 600000。
  • 配置被 CC Switch 等工具改坏过:按 Codex CLI 重新写一份。
  • 换模型、换时间都会出现,请带上时间联系客服。

每次新对话都卡在 Reconnecting… 1/5 到 5/5

Section titled “每次新对话都卡在 Reconnecting… 1/5 到 5/5”

Codex 先尝试用 WebSocket 连接,你的网络或代理不支持时要重试 5 次才退回普通连接。把 config.toml 里的 supports_websockets = true 和 [features] 下的 responses_websockets_v2 = true 删掉(或改成 false),完全重启 Codex。

提示模型不支持,或者推理档位不支持

Section titled “提示模型不支持,或者推理档位不支持”
  • Model "xxx" is not supported by any configured account in this group:这个分组没有这个模型。模型名以控制台「使用密钥」里显示的为准,或者用 /v1/models 查。
  • Unsupported value: 'xxx' is not supported with the 'yyy' model:这个模型不支持你设的推理档位,改 model_reasoning_effort 或者删掉这一行。
  • 临时换模型试试:codex -m 模型名 -c model_reasoning_effort="high"

wire_api = “chat” is no longer supported

Section titled “wire_api = “chat” is no longer supported”

新版 Codex 只支持 Responses 协议,把 wire_api 改成 "responses"。

VS Code 插件报 Missing environment variable,或者一直转圈

Section titled “VS Code 插件报 Missing environment variable,或者一直转圈”

图形界面的编辑器拿不到终端里 export 的变量。用 auth.json 写入 Key(见 Codex CLI),不要依赖环境变量。然后完全退出编辑器再打开。配置文件格式写错时插件会悄悄用默认设置,在终端运行一次 codex 能看到带行号的报错。

改了 base_url 以后,历史会话不见了

Section titled “改了 base_url 以后,历史会话不见了”

历史会话跟 provider 名字绑定。保持 model_provider = "sub2api"、[model_providers.sub2api]、name = "sub2api" 三处一致,只改 base_url 和 Key,不要换 provider 名字。

不会。只要不删 ~/.codex/sessions,重置登录或改配置都不会删历史会话。

只显示 exceeded retry limit, last status: 429

Section titled “只显示 exceeded retry limit, last status: 429”

Codex 把真正的原因藏起来了。跑一次自检命令看完整报错,再对照 429 的几种情况。