Windows 11 下安装 Codex CLI,并配置独立 API 模式与桌面端分离使用

📅 2026/7/6 2:42:49
Windows 11 下安装 Codex CLI,并配置独立 API 模式与桌面端分离使用
1. 目的本文记录在 Windows 11 中安装 Node.js、npm、Codex CLI并配置一个独立的终端 API 环境使其与 Codex 桌面端账号环境分离。目标工作流如下Codex 桌面端 → 使用原有账号登录保持不退出 PowerShell 终端模式 → 使用独立 API key 调用模型这样做的好处是桌面端账号保持原状态不需要频繁退出或重新登录。终端中的 Codex CLI 可以单独使用 API key。两套环境通过不同的CODEX_HOME目录隔离减少互相影响的风险。2. 安装 Node.js LTS在 Windows PowerShell 中运行winget install--id OpenJS.NodeJS.LTS如果提示是否接受协议输入y安装完成后关闭当前 PowerShell重新打开一个新的 PowerShell然后检查node-v成功时会显示类似v24.x.x再检查 npmnpm.cmd-v注意在 PowerShell 中直接运行npm-v有时可能会报执行策略错误例如无法加载文件 C:\Program Files\nodejs\npm.ps1因为在此系统上禁止运行脚本。这通常不是 npm 没装好而是 PowerShell 执行策略拦截了npm.ps1。此时使用npm.cmd-v即可。3. 安装 Codex CLI使用 npm 安装 Codex CLInpm.cmd install-g openai/codex安装完成后检查where.exe codex codex.cmd--version如果安装成功会看到类似输出C:\Users\用户名\AppData\Roaming\npm\codex C:\Users\用户名\AppData\Roaming\npm\codex.cmd codex-cli x.x.x如果where.exe codex没有输出可以查看 npm 全局安装路径npm.cmd config get prefix常见路径是C:\Users\用户名\AppData\Roaming\npm如有必要可以临时加入当前 PowerShell 的 PATH$env:Path;C:\Users\用户名\AppData\Roaming\npmwhere.exe codex codex.cmd--version4. 创建终端 API 专用 Codex 环境不要直接使用默认 Codex 配置目录。默认目录通常是C:\Users\用户名\.codex为了避免影响桌面端账号环境建议为终端 API 模式单独建立一个目录$env:CODEX_HOME$HOME\.codex-api-openaiNew-Item-ItemType Directory-Force$env:CODEX_HOME|Out-Nullnotepad$env:CODEX_HOME\config.toml这里的核心是$env:CODEX_HOME$HOME\.codex-api-openai它表示当前 PowerShell 窗口中的 Codex CLI 会使用C:\Users\用户名\.codex-api-openai而不是默认的C:\Users\用户名\.codex这样可以把终端 API 模式和桌面端账号模式隔离开。5. 编写config.toml在打开的记事本中粘贴以下内容model_provider OpenAI model 供应商提供的模型名 review_model 供应商提供的模型名 model_reasoning_effort xhigh disable_response_storage true network_access enabled windows_wsl_setup_acknowledged true [model_providers.OpenAI] name OpenAI base_url https://你的API服务地址/v1 wire_api responses env_key OPENAI_API_KEY [features] goals true保存并关闭记事本。需要替换的内容有两处供应商提供的模型名 https://你的API服务地址/v1例如如果供应商文档给出的模型名是example-modelAPI 地址是https://api.example.com/v1则对应写成model example-model review_model example-model [model_providers.OpenAI] base_url https://api.example.com/v1注意不要把真实 API key 写入config.toml。6. 不要使用requires_openai_auth true如果目标是使用 API key不建议在配置中写requires_openai_auth true因为它表示使用账号认证而不是环境变量中的 API key。终端 API 模式中应使用env_key OPENAI_API_KEY这表示 Codex 会从 PowerShell 环境变量OPENAI_API_KEY中读取 API key。7. 设置 API key 并运行 Codex CLI每次要使用终端 API 模式时打开 PowerShell运行$env:CODEX_HOME$HOME\.codex-api-openai$env:OPENAI_API_KEY你的API_KEYcodex.cmd注意不要把真实 API key 写入文章 不要把真实 API key 写入 config.toml 不要截图暴露 API key 不要把 API key 发给他人API key 只保存在当前 PowerShell 窗口的临时环境变量中。关闭 PowerShell 后这个临时变量会失效。8. 判断当前是否处于 API 模式可以在 PowerShell 中运行Get-ChildItemEnv:CODEX_HOMEGet-ChildItemEnv:OPENAI_API_KEY如果看到类似CODEX_HOME C:\Users\用户名\.codex-api-openai OPENAI_API_KEY 已设置说明当前 PowerShell 窗口处于 API 模式。也可以查看配置文件notepad$env:CODEX_HOME\config.toml确认其中包含env_key OPENAI_API_KEY并且不包含requires_openai_auth true9. 退出 API 模式最简单的方法是直接关闭当前 PowerShell 窗口因为下面两个变量都是当前 PowerShell 窗口中的临时环境变量$env:CODEX_HOME$env:OPENAI_API_KEY如果不想关闭窗口也可以手动清除Remove-ItemEnv:CODEX_HOME-ErrorAction SilentlyContinueRemove-ItemEnv:OPENAI_API_KEY-ErrorAction SilentlyContinue确认清除结果Get-ChildItemEnv:CODEX_HOME-ErrorAction SilentlyContinueGet-ChildItemEnv:OPENAI_API_KEY-ErrorAction SilentlyContinue如果没有输出说明当前窗口已经退出 API 模式。10. 平常使用工作流10.1 使用 Codex 桌面端平常使用桌面版 Codex 时直接打开 Codex 桌面端 保持原账号登录 不要退出登录 不要重新登录 不要点 logout桌面端继续使用原来的账号环境。10.2 使用终端 API 版 Codex需要使用 API 模式时打开 PowerShell运行$env:CODEX_HOME$HOME\.codex-api-openai$env:OPENAI_API_KEY你的API_KEYcodex.cmd此时终端 Codex 使用C:\Users\用户名\.codex-api-openai不会使用默认的C:\Users\用户名\.codex10.3 从 API 模式切回桌面端模式关闭 PowerShell 窗口即可。然后继续使用 Codex 桌面端。桌面端不需要退出也不需要重新登录。11. 推荐习惯建议长期保持两套环境分离Codex 桌面端 → 原账号环境 PowerShell .codex-api-openai → API key 环境不要在 API 模式中运行codex.cmd logout也不要在桌面端随意点击退出登录。如果同时打开桌面端和终端 Codex建议不要让它们同时修改同一个项目文件夹。更稳妥的做法是同一时间只让一个 Codex 修改项目文件 另一个 Codex 只用于查看、讨论或等待12. 常见问题问题 1npm -v报执行策略错误报错类似无法加载文件 C:\Program Files\nodejs\npm.ps1因为在此系统上禁止运行脚本。解决方式npm.cmd-v npm.cmd install-g openai/codex不需要修改系统执行策略。问题 2where.exe codex找不到先检查 npm 全局路径npm.cmd config get prefix如果输出类似C:\Users\用户名\AppData\Roaming\npm则可以临时加入 PATH$env:Path;C:\Users\用户名\AppData\Roaming\npmwhere.exe codex问题 3Codex CLI 启动后要求账号登录通常说明配置没有走 API key。检查Get-ChildItemEnv:CODEX_HOMEGet-ChildItemEnv:OPENAI_API_KEY notepad$env:CODEX_HOME\config.toml确认config.toml中有env_key OPENAI_API_KEY并且没有requires_openai_auth true问题 4API 报 404、unsupported endpoint 或 invalid request优先检查 API 地址是否正确。例如有些服务需要base_url https://api.example.com/v1有些服务可能要求base_url https://api.example.com需要按照供应商文档填写。另外如果配置中使用wire_api responses则要求 API 服务兼容对应的接口形式。如果供应商只兼容普通 chat completions而不兼容 responses 接口Codex CLI 可能无法正常使用。13. 最终命令速查首次安装 Node.jswinget install--id OpenJS.NodeJS.LTS重新打开 PowerShell 后node-v npm.cmd-v安装 Codex CLInpm.cmd install-g openai/codex where.exe codex codex.cmd--version创建 API 专用配置目录$env:CODEX_HOME$HOME\.codex-api-openaiNew-Item-ItemType Directory-Force$env:CODEX_HOME|Out-Nullnotepad$env:CODEX_HOME\config.toml日常启动 API 版 Codex$env:CODEX_HOME$HOME\.codex-api-openai$env:OPENAI_API_KEY你的API_KEYcodex.cmd退出 API 模式关闭 PowerShell 窗口桌面端模式保持 Codex 桌面端登录不退出不 logout14. 最终结构最终建议形成如下结构Codex 桌面端 └── 使用原账号环境 └── 保持登录不退出 PowerShell 终端 Codex CLI └── 使用独立 CODEX_HOME └── 使用环境变量 OPENAI_API_KEY 调用 API这样可以实现桌面端和终端 API 模式的相对隔离降低误退出、误覆盖配置或误触发重新登录的风险。