Codex 报「model is not supported when using Codex with a ChatGPT account」:原因与 修复
这条报错的意思是:Codex 通过 ChatGPT 账号登录发出了请求,而这个登录用不了报错里点名的模型。Codex 源码自带的测试(rust-v0.162.1,2026-10-15 核对)把它用作服务端对 ChatGPT 账号登录会话的回复,测试以 gpt-5.5 为例模拟已退役的模型。它和你的 Router One Key 无关:把 Router One 配成 Codex 的 model provider 后,请求用你的 Router One Key 发往 https://api.router.one/v1,不经过 ChatGPT 登录;网关在中国大陆可直连,不需要 VPN,也不需要 ChatGPT Plus。先确认这次请求走的是哪条路,再把 Codex 指向自定义 provider,并在 model 行写上 Router One 目录里列出的模型。
这条 报错是 什么 意思
按 Codex 的认证文档(2026-10-15 核对),Codex 可以用 ChatGPT 登录 OpenAI,走订阅额度;也可以用 OpenAI API Key 登录,按用量计费。此外,config.toml 里的自定义 model provider 可以通过 env_key 从环境变量读取自己的 Key。这条报错出现在 ChatGPT 登录这条路上:当前登录的账号或工作区用不了会话请求的模型。按 OpenAI 的工作区模型可用性文档(2026-10-15 核对),用 ChatGPT 登录时,Codex CLI 能用的是客户端支持、且这个 ChatGPT 身份有权限使用的模型,在本地配置里写上某个模型并不会因此获得使用权限。Router One 走的是自定义 provider 这条路:Codex 带着你的 Router One API Key 调用 https://api.router.one/v1,能用的模型就是 Router One 目录里列出的那些。
第 1 步——确认 请求走了 哪条路
运行 codex login status。按 Codex 的认证文档,它显示当前的认证方式;按 Codex 源码(rust-v0.162.1,2026-10-15 核对),用 ChatGPT 登录时会打印 Logged in using ChatGPT。这个登录状态是给内置的 OpenAI provider 用的,配了 env_key 的自定义 provider 用不到它,所以不必退出登录。决定会不会出这条报错的,是会话有没有用上你的自定义 provider:~/.codex/config.toml 里要有一行顶层的 model_provider 指向它,而且要写在第一个表头(形如 [model_providers.router] 的行)之前,因为按 TOML 的规则,写在表头下面的键属于那张表;env_key 指定的环境变量也要在启动 Codex 的那个 shell 里设好。按 Codex 的高级配置文档(2026-10-15 核对),项目里的 .codex/config.toml 如果写了 model_provider 或 model_providers,Codex 会忽略并在启动时给出警告,所以这两项都要写在 ~/.codex/config.toml 里。
codex login status # 查看 Codex 当前怎样登录 OpenAI
sed -n '1,/^\[/p' ~/.codex/config.toml # 打印第一个表头之前的顶层配置
echo "${ROUTER_ONE_API_KEY:+ROUTER_ONE_API_KEY 已设置}"第 2 步——用一键 命令 配置
带上你的 Router One Key 运行一键命令。它会在缺少 Codex CLI 时先安装,备份已有的 config.toml,写入第 3 步那份配置(provider 为 router,env_key = ROUTER_ONE_API_KEY),把 Key 写进 shell 配置文件,再发一个测试请求验证连通。Windows 用 PowerShell 那一行。
curl -fsSL https://router.one/install/codex.sh | bash -s -- sk-your-api-key # Windows PowerShell: $env:ROUTER_ONE_API_KEY = "sk-your-api-key"; irm https://router.one/install/codex.ps1 | iex
第 3 步——或者 手动 修改 ~/.codex/config.toml
和这条报错有关的是三处:顶层的 model_provider = "router" 和 model = "gpt-5.6-sol" 两行写在第一个表头之前;[model_providers.router] 里写 base_url = "https://api.router.one/v1"、env_key = "ROUTER_ONE_API_KEY" 和 wire_api = "responses";ROUTER_ONE_API_KEY 在启动 Codex 的 shell 里 export 好。不要在这个 provider 上打开 requires_openai_auth:按 Codex 的认证文档,打开后 Codex 会忽略 env_key,改用你的 OpenAI 登录。provider 也不要命名为 openai:按高级配置文档,openai 是内置 provider 的保留 ID,自定义 provider 不能复用。下面就是一键安装写入的完整文件:
model = "gpt-5.6-sol" model_provider = "router" model_reasoning_effort = "high" model_verbosity = "high" web_search = "live" [model_providers.router] base_url = "https://api.router.one/v1" env_key = "ROUTER_ONE_API_KEY" env_key_instructions = "Create an API key at https://router.one/dashboard/api-keys and set the ROUTER_ONE_API_KEY environment variable." name = "Router One" wire_api = "responses"
第 4 步——model 行写 Router One 目录里列出的 模型
报错里点名的模型,只说明 ChatGPT 登录拒绝了它,与 Router One 列不列出它无关。往 model 行写任何模型之前,先到 /models 确认目录里有它,并且它的模型页列出了 POST /v1/responses,也就是 Codex 调用的端点。一键安装写的是 model = "gpt-5.6-sol"。即使 Codex 的默认模型正合你意,也保留一行 model,免得 Codex 以后改默认值时把会话换成别的模型;依赖某个模型之前,先到它在 /models 的页面上看套餐覆盖。改好后重启 Codex 发一条消息,这次请求会出现在控制台 → 日志里,带模型、token 数和费用。
仍然 要用 ChatGPT 登录的 部分
Codex cloud。按 Codex 的认证文档(2026-10-15 核对),Codex cloud 必须用 ChatGPT 登录,所以云端任务用的是你的 ChatGPT 套餐和它提供的模型,与本地 config.toml 怎么写无关。Router One provider 只作用于读取 ~/.codex/config.toml 的本地会话,例如 Codex CLI。两者可以并存:ChatGPT 登录留给 Codex cloud,本地会话走 Router One。
常见 问题
这是 Router One 的报错吗?
不是。报错说的是 Codex 的 ChatGPT 账号登录:请求是带着你的 ChatGPT 账号发出的,没有用 Router One 的 Key。把 Router One 配成 model provider 的会话,请求发往 https://api.router.one/v1,用的是 ROUTER_ONE_API_KEY 里的 Key。如果配好 Router One 之后仍看到这条报错,说明会话没有用上这个 provider,回到第 1 步检查 ~/.codex/config.toml 顶层的 model_provider 行。
为什么从 2026 年 10 月 14 日起,gpt-5.5 开始 收到这条 回复?
按 OpenAI 的 Codex 模型页(2026-10-15 核对),GPT-5.5 已于 2026 年 10 月 14 日 19:00(UTC)起从用 ChatGPT 账号登录的 Codex 中退役,所以用 ChatGPT 登录、配置里仍写着 gpt-5.5 的 Codex 会收到这条回复。报错也可能点名别的模型:用 ChatGPT 登录时,能用哪些模型取决于你的套餐、工作区设置和发布进度。改走 Router One 时,model 行必须写 Router One 目录里列出的模型,先到 /models 查一下。
要在 Codex 里退出 ChatGPT 登录吗?
不用。按 Codex 的认证文档(2026-10-15 核对),自定义 model provider 配了 env_key 时,使用该环境变量里的 API Key,所以 ChatGPT 登录可以留着,给 Codex cloud 和仍用内置 OpenAI provider 的会话使用。但不要在 Router One 这个 provider 上打开 requires_openai_auth:打开后 Codex 会忽略 env_key。
Codex cloud 的任务能走 Router One 吗?
不能。按 Codex 的认证文档(2026-10-15 核对),Codex cloud 必须用 ChatGPT 登录,云端任务用的是你的 ChatGPT 套餐和它提供的模型。Router One 适用于读取 ~/.codex/config.toml 的本地会话,例如 Codex CLI。
Router One 这个 provider 的 wire_api 该写 什么?
写 wire_api = "responses"。按 OpenAI 的 Codex 模型页(2026-10-15 核对),自定义 model provider 或网关需要兼容的 Responses API 端点,当前的 Codex 版本不支持只提供 Chat Completions 的端点。对于模型页列出 POST /v1/responses 的模型,Router One 原生提供这个端点;接受哪些请求特性、拒绝哪两项,见 Codex Responses API 页面。
报错 出现在 别的 工具里,不是 Codex CLI,怎么办?
报错原文写的是 using Codex with a ChatGPT account,说明那个工具是通过 ChatGPT 登录发出的请求。改在它自己的自定义 provider 设置里填 Router One 的 API Key;各客户端的配置方法见接入指南,OpenCode 和 OpenClaw 都有专页。
在中国 大陆能用这套 配置吗?
能。网关在中国大陆可直连、无需 VPN,配置和在其他地区完全一样:同一份 config.toml,同一个 ROUTER_ONE_API_KEY 变量。