我以前给 Windows 装 Codex,最容易卡住的地方还真不是 Codex 本身。Node.js 没装、npm 不在 PATH、CLI 装好了却没配 API,任何一处没接上,最后都可能变成一句"找不到 codex"。
这次我干脆把 Node.js、npm 和全局 Codex CLI 全部卸掉,用 Windows PowerShell 5.1 从三个 NOT FOUND 开始测试。后台生成一条安装指令,缺少的环境由脚本补齐,Codex 和 API 配置也一起写好。最后重新打开终端,能启动 Codex 并正常对话,这才算把整条链路跑完。

这张图就是测试开始前的状态:Node.js、npm 和 Codex CLI 都找不到。最后安装出来的版本分别是 Node.js v22.16.0、npm 10.9.2 和 Codex CLI 0.147.0。
Windows 安装 Codex,实际要装哪些东西
Codex CLI 是 OpenAI 提供的终端编程工具。Windows 上想把它真正用起来,至少要接好下面几部分:
- Node.js 和 npm,用来安装 Codex CLI。
- 官方的
@openai/codex包。 - 能被新终端识别的 PATH。
- API Key、Base URL、Provider 和模型配置。
只完成前两项,codex --version 可能已经有结果,但发消息时仍然会因为 Key、模型或者接口地址出错。也正因为这样,我这次没有把"显示版本号"当成安装成功,最后还做了一次真实对话。
先生成自己的安装指令
我平时会把 AI 编程工具接到统一的 API 入口。这次使用的是 KKFlow 向云(官网:https://kkflow.org)。注册并登录以后,先到 API 密钥页面创建一个自己的 Key。

Key 的名字最好写得具体一点。我一般会按设备和用途来写,比如"办公电脑-Codex"。以后要查用量、换 Key 或者停用旧 Key,一眼就知道该操作哪一个。
Key 建好后,进入后台的"自动安装"页面,工具选择 Codex CLI,系统选择 Windows,再选中刚刚创建的 Key。页面会生成一条当前账号专用的安装指令。

这条指令里带有账号自己的 API Key,所以我不会把完整内容贴在文章里。也不建议从别人的教程里复制所谓通用安装命令。模型、接口和 Key 都可能不同,登录自己的后台生成,出问题时也更容易查。
建议在独立的 PowerShell 里执行
这里有个我实际碰到过的小坑。
我已经卸载了全局 Codex CLI,但在 VS Code 集成终端里输入 codex,命令居然还能运行。后来检查才发现,VS Code 的 Codex 插件把自己目录里的可执行文件临时加进了 PATH。如果直接在这个窗口测试,脚本会以为电脑已经装过 Codex CLI。
所以,判断全局环境时最好从 Windows 开始菜单单独打开 PowerShell。电脑里装了 PowerShell 7 就优先用它,UTF-8 对中文脚本和中文输出更省心。这次为了确认系统自带环境能不能走完全程,我用的是 Windows PowerShell 5.1,也顺利跑通了。
粘贴后台生成的指令后,安装 Node.js 的过程中可能弹出管理员权限确认。先核对命令来自自己的 KKFlow 后台,域名也没有异常,再确认执行。安装没有结束前不要关闭窗口。
一条指令会完成哪些操作
下面是脚本执行结束后的结果。

脚本先检查现有环境。发现 npm 不存在以后,它会安装 Node.js,再通过 npm 安装官方的 @openai/codex 包。CLI 安装完成后,继续写入 Provider、模型和认证配置,最后重新检查 Node.js、npm 与 Codex CLI 的版本。
我的电脑以前用过 Codex。虽然运行环境卸载了,用户目录里的 .codex 配置还在。脚本发现原来的 config.toml 和 auth.json 后,没有直接覆盖,而是先生成带时间戳的备份,再写入本次配置。
这个备份很有用,不过我还是建议老用户在执行前看一遍自己的配置。尤其是已经加过 MCP、自定义沙箱规则或者多个 Provider 的情况,自己再留一份备份会更稳妥。
看到版本号以后,还要发一条消息
脚本结束时能看到三个版本号,环境安装基本已经完成。但旧的 PowerShell 窗口不一定立刻拿到新 PATH,所以我会先关掉安装窗口,再从开始菜单打开一个新的 PowerShell。
先输入:
powershell
codex --version
版本号正常,再输入 codex 进入交互界面。我第一次验证不会上来就丢一个复杂任务,只发两个字:
你好

Codex 能正常回复,说明 CLI、PATH、API Key、接口地址和模型配置至少在这次请求里都接通了。单看 codex --version,验证不到后面这几项。
再去后台看一眼调用记录
对话成功以后,我又回到 KKFlow 后台核对了调用记录。

这里主要看请求时间和模型能不能与刚才的操作对应上。能对上,说明这次对话确实走的是刚配置好的入口,以后查用量或者定位异常也有依据。
安装后为什么还是找不到 codex
先关闭当前 PowerShell,再开一个新窗口。安装程序已经更新 PATH 时,旧窗口仍可能保留更新前的环境变量。
如果你是在 VS Code 集成终端里测试,换到开始菜单打开的独立 PowerShell。集成终端可能受到 Codex 插件目录影响,容易把插件自带的可执行文件当成全局安装结果。
出现 401、403 或模型不存在怎么办
这类报错通常已经越过了"有没有安装 CLI"这一步。回到后台检查 Key 是否有效、当前选择的模型是否还能使用,然后重新生成安装指令。
不要拿旧教程里的模型名直接替换,也不要在别人发来的指令上修改 Key。重新生成一次通常更清楚,还能避免漏改 Provider 或接口地址。
安装指令里的 API Key 怎么处理
自动安装指令本身包含 API Key,终端历史、录屏和截图都有可能把它带出去。发布截图前要先检查画面,不要把真实 Key 留在文章或视频里。
一旦怀疑 Key 已经暴露,直接在后台停用旧 Key,再创建新的。只给截图打码不够,已经泄露出去的 Key 不能继续使用。
这次测试确认了什么
| 项目 | 本次结果 |
|---|---|
| 测试系统 | Windows,Windows PowerShell 5.1 |
| 初始环境 | Node.js、npm、全局 Codex CLI 均未安装 |
| 自动安装 | Node.js、npm、Codex CLI 安装完成 |
| 配置处理 | 原有 config.toml 和 auth.json 先备份再更新 |
| 最终验证 | 新开 PowerShell 后启动 Codex,发送"你好"并收到回复 |
| 核对日期 | 2026 年 8 月 8 日 |
这次结果只代表上面的系统和测试条件。Node.js、Codex CLI 版本以及后台可选模型以后都可能更新,安装时以 OpenAI 官方文档和 KKFlow 后台当时显示的内容为准。