
1. Windows 下 Codex 跑不起来多半卡在 auth.json 这一步如果你在 Windows 上装完 Codex CLI敲下第一条命令却看到401 Unauthorized或者一直转圈问题大概率不在安装本身而在auth.json这个文件没配对。Codex 是 OpenAI 推出的命令行编码代理工具能在终端里读代码、改文件、跑命令适合习惯用命令行干活的开发者。它默认走 OpenAI 官方接口但国内网络环境下直连经常超时所以很多人会把它指向一个兼容 OpenAI 协议的网关地址让请求先落到能稳定访问的入口上。我试过在 Windows 11 上从零装一遍踩的坑集中在三处一是auth.json的存放路径找错二是Base URL写成了带/v1或漏了/v1三是环境变量和配置文件打架。这篇就把这三件事拆开讲清楚给你可直接复制的auth.json片段、准确的目录路径以及一条最小请求命令来验证鉴权和模型返回是否正常。全程不需要你懂什么底层原理照着做就行。先明确一个概念Codex CLI 读取配置有两个来源一个是环境变量一个是~/.codex/auth.json和~/.codex/config.toml。在 Windows 上~指的是你的用户目录通常是C:\Users\你的用户名。很多人以为配置文件放在项目目录里就行结果 Codex 根本不读白折腾半天。记住这个路径后面所有操作都围绕它展开。另外提醒一句Codex 的版本迭代比较快配置字段名可能随版本微调。如果你照着配完发现字段不认先用codex --version确认版本再去官方文档核对字段。下面给的配置以当前主流版本为准覆盖了绝大多数场景。2. 装 Codex 之前先把 Node 和 TaoToken 的 Key 准备好Codex CLI 是通过 npm 分发的所以第一步是确认你的 Windows 上有 Node.js。打开 PowerShell输入node -v如果返回类似v20.x.x就说明有了。没有的话去 Node 官网下 LTS 版本安装时记得勾选自动配置 PATH。装完重开一个 PowerShell 窗口再验证一次node -v和npm -v两个都能出版本号才算过关。Node 搞定后用一条命令全局安装 Codexnpm install -g openai/codex装完输入codex --version能打印版本号就说明 CLI 本体到位了。这一步如果报npm ERR! code EACCES之类的权限错误多半是 npm 全局目录权限问题用管理员身份重开 PowerShell 再装一次通常能解决。接下来是拿 Key。Codex 需要一个能访问模型接口的凭证这里用 TaoToken 的 API Key。登录 TaoToken 官网进控制台在 API Keys 页面创建一个新 Key复制下来先存到记事本里。这个 Key 就是后面auth.json里要填的东西。注意 Key 只在创建时完整显示一次关掉页面就看不到了所以务必先存好。创建 Key 的入口在这里https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_authjson拿到 Key 之后还要确认你要用的模型 ID。Codex 默认会请求gpt-5-codex这类模型你需要在配置里显式指定一个 TaoToken 支持的模型 ID。进模型对话页面可以查看当前可用的模型列表https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_authjson把 Key 和模型 ID 都准备好就可以进入配置环节了。这里强调一下Key 属于敏感信息不要提交到 Git 仓库也不要在截图里露出来。后面我们会把它写进本地配置文件这个文件默认不会被同步。3. 手把手改 auth.json 和 config.toml把 Base URL 落到 TaoTokenCodex 的配置目录在 Windows 上是C:\Users\你的用户名\.codex。如果这个目录不存在手动建一个。在这个目录下我们需要两个文件auth.json和config.toml。前者放鉴权信息后者放模型和接口地址。先建auth.json内容如下把sk-开头的那串换成你自己的 Key{ OPENAI_API_KEY: sk-你的TaoToken密钥 }注意这个文件是纯 JSON不能有注释不能有多余逗号否则 Codex 解析时会直接报错退出。保存时确认编码是 UTF-8Windows 记事本默认可能是带 BOM 的 UTF-8建议用 VS Code 保存为无 BOM 的 UTF-8。然后是config.toml这个文件决定请求发到哪里、用哪个模型model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api/v1 env_key OPENAI_API_KEY wire_api responses这里有几个点要盯紧。base_url必须是https://taotoken.net/api/v1结尾的/v1不能少也不能写成/v1/带斜杠否则请求路径会拼错。env_key写OPENAI_API_KEYCodex 会去读auth.json里同名的字段。wire_api用responses这是 Codex 新版默认的接口形态如果你的版本较老只认chat把它改成chat再试。如果你更习惯用环境变量而不是auth.json也可以在 PowerShell 里设置[System.Environment]::SetEnvironmentVariable(OPENAI_API_KEY,sk-你的TaoToken密钥,User)但要注意环境变量和auth.json同时存在时优先级可能因版本而异容易互相覆盖导致排查困难。建议二选一本文以auth.json为准配置更集中换机器时也好迁移。配置写完后目录结构应该是这样C:\Users\你的用户名\.codex\ ├── auth.json └── config.toml确认无误后就可以进入验证环节了。4. 一条命令验证鉴权和模型返回是否正常配置写完别急着开大项目先用最小请求确认链路通。打开 PowerShell进一个空目录运行codex exec 用一句话说明什么是快速排序这条命令会让 Codex 以非交互模式执行一次请求把提示词发给模型并打印返回。如果一切正常你会在终端看到模型生成的一句话解释说明鉴权通过、Base URL 正确、模型 ID 有效。如果想让 Codex 直接改文件可以进一个测试项目目录运行交互模式codex进入交互界面后输入一个简单任务比如「在当前目录创建一个 hello.py打印 hello world」观察它是否能正常读取文件、生成内容。这一步能验证的不只是接口连通还有文件读写权限。想更直观地确认请求确实落到了 TaoToken可以打开控制台的用量日志页面看是否有对应的调用记录。有记录就说明请求确实经过了网关而不是走了别的路径。验证通过后你还可以测一下流式输出是否正常。在交互模式里让它生成一段稍长的代码观察输出是不是逐字出现的。如果卡住不动最后一次性吐出可能是wire_api设置和版本不匹配回到config.toml调整。这里给一个判断标准只要codex exec能返回内容且控制台有调用记录就说明整条链路是通的。剩下的就是把它用起来而不是继续折腾配置。5. 常见报错对照401、local proxy failed、reading choices 怎么排配置过程中最容易撞上的几个报错我按出现频率排一下给你对照排查。401 Unauthorized这是鉴权失败。九成是auth.json里的 Key 写错、过期或者env_key字段名和auth.json里的键名对不上。先确认auth.json里是OPENAI_API_KEYconfig.toml里env_key也是OPENAI_API_KEY。再确认 Key 没有多余空格或换行。如果 Key 是从网页复制的注意别把前后的引号也复制进去。local proxy failed / connection refused这个报错说明 Codex 尝试连接的地址不通。检查base_url是不是写成了https://taotoken.net/api/v1有没有多写端口号有没有被系统代理拦截。如果你本机开了某些网络工具先关掉再试避免请求被劫持到错误地址。reading choices 相关报错通常是接口返回结构和 Codex 预期的不一致。多数情况是wire_api设错了。新版 Codex 用responses老版用chat两者返回结构不同。把wire_api改成另一个值再试。如果还不行确认模型 ID 是否拼写正确模型不存在时返回体也会缺字段。OAuth 相关报错如果你之前用官方登录方式认证过auth.json里可能残留了 OAuth 的 token 字段和 API Key 模式冲突。解决办法是清空auth.json只保留OPENAI_API_KEY一个字段然后重新运行。模型不存在 / model not found模型 ID 写错了或者你的账号没有该模型的权限。去模型对话页面确认可用模型列表把config.toml里的model换成列表里存在的 ID。排查时有个通用技巧把config.toml里的base_url临时改成官方地址测试如果官方能通而 TaoToken 不通问题在网关配置如果两边都不通问题在本地环境或 Key。这样能快速定位问题在哪一层。6. 配好之后怎么用把 Codex 接进日常编码流程链路通了之后Codex 的用法其实很灵活。最基础的三种模式codex exec 提示词适合一次性任务比如生成某个函数、解释一段代码直接敲codex进交互模式适合多轮对话式改代码在项目目录里运行它会自动把当前目录作为工作区能读写文件。如果你做长期编码或者想让 Codex 承担更多 Agent 类任务比如批量重构、跨文件修改可以考虑用 Coding Plan额度更充足适合持续调用https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_authjson日常排查配置问题、核对接口字段接入文档是最快的参考https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_authjson想临时验证某个模型返回是否正常不用改配置直接去模型对话页面发一条消息就行https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_authjson最后说个实用技巧把~/.codex目录加入你的 dotfiles 备份但记得把auth.json排除掉只备份config.toml。这样换机器时配置能快速恢复Key 则手动填一次安全又省事。Codex 的配置一旦跑通后面基本不用再动把精力放回代码本身就好。