Codex
用 VibeCLI 把 VibeAPI 配置进 Codex 命令行和桌面版:服务商与 auth.json、带 Claude / Gemini / 国产模型的模型菜单、1M 与自动压缩、401 与旧会话问题、为什么这样设计
前提:Codex 0.122.0 及以上;令牌能用 GPT 模型。命令行和桌面版共用同一份配置,配置一次两边都能用。
配置
下面的命令里,把 sk-xxx 换成你的令牌。令牌能用 GPT 模型时,setup 会自动配置 Codex:
vibecli setup --key sk-xxx只让 Codex 使用这个令牌:
vibecli setup --codexkey sk-xxx关闭 1M 上下文(只改上下文设置,不动令牌):
vibecli setup --no-1m重新打开 1M 上下文:
vibecli setup --1m指定默认模型:
vibecli config tool-model set codex gpt-6-astra再把它写进 Codex:
vibecli config codex --yes配置完成后,完全退出 Codex(包括桌面版)再打开。
写了什么
服务商下如果有 cc-switch 等工具留下的 experimental_bearer_token,VibeCLI 会删掉它(原因见下文)。
验证
- 完全退出 Codex 再打开(命令行重新运行
codex)。 - 打开模型菜单:能看到 GPT 模型,以及这个令牌能用的 Claude、Gemini、Grok、国产模型。
- 发一句话,能正常回复即配置完成。命令行里可以用
/status确认当前服务商和模型。
为什么这样设计
令牌只放在 auth.json不写进 config.tomlcc-switch 这类工具会在服务商下留下
PROXY_MANAGED占位符,Codex 会优先发送它,导致 401。令牌也不写在这里,以免你切换到别的服务商时被一起带过去。为什么要写模型目录菜单里才有 Claude 等模型使用自定义服务商时,Codex 不向网关请求模型列表,不写目录的话菜单里只有 GPT。导出自带目录的功能从 0.122 开始才有,所以最低版本是 0.122。
每个模型各用各的窗口不写全局上下文设置每个模型带自己的上下文窗口,用到 80% 时自动压缩。不写全局上下文设置,因为它会盖掉所有模型的值。1M 默认开启,关闭后上下文不超过 272K。
菜单只列令牌能用的模型auto 分组看到的更少auto 分组的令牌看到的模型比官方分组少,这是正常的。Claude 每个系列只放最新的一个。
旧会话为什么会不见vibecli codex sessionssetup配置好 Codex 后,如果发现以前的会话,会问你是否搬过来。当时没有搬的,之后运行vibecli codex sessions。改之前会先备份,--undo可以撤销;Codex 正在运行时它会拒绝执行。
排障
| 现象 | 原因 | 处理 |
|---|---|---|
401 Unauthorized: Invalid token,同一个令牌在 Claude Code 能用 | config.toml 里有切换工具留下的占位令牌,或 Codex 用 ChatGPT 账号登录过 | 运行 vibecli setup --codexkey <你的令牌>,然后完全退出 Codex 再打开 |
| 以前的会话不见了 | 换过登录方式,会话的服务商对不上 | 退出 Codex 后运行 vibecli codex sessions |
| 菜单里只有 GPT | 写目录时没找到本机的 Codex 程序,或版本低于 0.122 | 先运行 vibecli upgrade codex,再重新运行 vibecli setup --codexkey <你的令牌> |
| 提示版本过旧 | Codex 低于 0.122.0 | 运行 vibecli upgrade codex |
| 上下文比预期小 | 关闭过 1M | 运行 vibecli setup --1m |
移除
不再让 Codex 使用 VibeAPI(例如改回 ChatGPT 订阅)时,运行:
vibecli config codex remove它删掉 VibeAPI 的服务商、令牌和模型目录引用,其它设置保留。之前在 Codex 里登录过 ChatGPT 的,会直接切回那个登录;没有登录过的,Codex 回到未登录状态,再运行下面的命令用 ChatGPT 订阅登录。Codex 桌面版要完全退出后重新打开,按提示登录。
codex login这需要 VibeCLI 0.0.105 或更新版本。用旧版本移除后,Codex 仍会用 VibeAPI 的令牌登录(请求报 401),升级后再运行一次上面的移除命令即可。在 vibecli config codex 的菜单里选「移除」,效果相同。想回到 VibeCLI 修改前的状态,运行 vibecli config codex restore。
最后更新于