1. Windows 上跑 Codex 接 DeepSeek-V4,先搞清楚要装什么
Codex 是 OpenAI 出的命令行编码助手,能在终端里读代码、改文件、跑命令,适合习惯在命令行里干活的人。DeepSeek-V4 是 DeepSeek 的新一代模型,推理和代码能力都不错,价格也友好。把这两个凑一起,就是想在 Windows 上用 Codex 的交互体验,跑 DeepSeek-V4 的模型能力。
但 Windows 上装 Codex 有个绕不开的前提:它依赖 Node.js 和 git。Node.js 提供运行环境,git 提供版本控制能力,Codex 在读写仓库、生成 diff 时会用到。Node.js 版本建议 18 以上,如果要接 DeepSeek-V4,最好直接上 20.6 以上,原因后面会讲,因为启动代理时会用到--env-file这个参数,低版本不认。
这篇教程面向的是 Windows 用户,从零开始:装 git、装 Node.js、装 Codex、配 DeepSeek-V4 接入、启动验证、排错。全程命令可复制,配置片段可直接用。如果你之前装过 Claude Code 之类的工具,流程会很熟悉,因为依赖项基本一样。
接入方式上,我会用 TaoToken 的统一 Key 和 API 通道来走,这样不用在多个平台之间来回切,一个 Key 管多个模型,配置也集中。下面按步骤来。
2. 前置依赖:git 和 Node.js 的安装与版本检查
2.1 安装 git
去 git 官网下载 Windows 安装包,选和自己电脑匹配的版本(64 位选 64-bit)。安装过程一路默认即可,注意勾选「Add to PATH」,这样终端里能直接调用 git。
装完打开 PowerShell 或 CMD,验证:
git --version正常会输出类似git version 2.45.1.windows.1。如果提示找不到命令,说明 PATH 没配好,重新跑一遍安装程序,确认勾选了 PATH 选项。
2.2 安装 Node.js
去 Node.js 官网下载 LTS 版本,Windows 选.msi安装包。这里有个关键点:版本要 20.6.0 以上。因为后面启动代理时会用node --env-file=.env,这个参数是 Node.js 20.6.0 才新增的,低于这个版本会直接报bad option。
装完后验证三个东西:
node --version npm --versionnode --version输出v20.11.0或更高就对了。npm --version输出10.x左右。如果 node 版本低于 20.6,建议直接去官网下最新 LTS 覆盖安装,比后面改代码省事。
注意:如果你电脑上之前装过旧版 Node.js,覆盖安装后最好重启一下终端,让 PATH 生效。
2.3 安装 Codex
依赖齐了,用 npm 全局安装 Codex:
npm install -g @openai/codex装完验证:
codex --version能输出版本号就说明装好了。如果报权限错误,用管理员身份打开终端再跑一次。如果报网络超时,检查 npm 源,可以临时切到国内镜像:
npm config set registry https://registry.npmmirror.com装完再切回来也行,或者保持镜像源,问题不大。
3. TaoToken 前置:拿统一 Key 和 API 通道
Codex 默认是连 OpenAI 的,要接 DeepSeek-V4,得改 base_url 和 Key。这里用 TaoToken 的统一通道,好处是一个 Key 能覆盖多个模型,配置集中,不用每个模型单独申请。
先去官网注册并登录:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
登录后在控制台创建 API Key,路径是 API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
创建时给 Key 起个名字,比如codex-deepseek,方便后面识别。创建完复制 Key,格式一般是sk-开头的一串字符。这个 Key 只显示一次,记得存好。
TaoToken 的 API 基础地址是:
https://taotoken.net/api注意这个地址不带 UTM 参数,配置里直接用这个。后面 config.toml 里的base_url会用到它。
如果你还没决定用哪个模型,可以先在模型对话页面试试 DeepSeek-V4 的效果:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
确认模型可用后,再往下配 Codex。
4. 可复制配置:config.toml 骨架与 DeepSeek-V4 接入
4.1 创建配置目录
Codex 的配置放在用户目录下的.codex文件夹。在 PowerShell 里:
mkdir $env:USERPROFILE\.codex cd $env:USERPROFILE\.codex4.2 写 config.toml
在.codex目录下新建config.toml,内容如下:
cli_auth_credentials_store = "file" model = "deepseek-v4-pro" model_provider = "taotoken" [model_providers.taotoken] name = "taotoken" base_url = "https://taotoken.net/api/v1" wire_api = "responses" requires_openai_auth = true几个关键字段说明:
| 字段 | 作用 | 值 |
|---|---|---|
model | 指定默认模型 | deepseek-v4-pro,也可换deepseek-v4-flash |
model_provider | 指定供应商名 | 和下面[model_providers.xxx]对应 |
base_url | API 地址 | TaoToken 的/api/v1 |
wire_api | 协议类型 | responses,Codex 用这个 |
requires_openai_auth | 是否需要鉴权 | true |
如果你要用 DeepSeek 的 reasoner 模型,把model改成deepseek-reasoner即可,其他不用动。
4.3 写 auth.json
同目录下新建auth.json,填 TaoToken 的 Key:
{ "auth_mode": "apikey", "OPENAI_API_KEY": "sk-你的TaoToken密钥" }把sk-你的TaoToken密钥替换成你在 TaoToken 控制台创建的那个 Key。注意 JSON 格式,引号和逗号别写错,不然 Codex 读不出来。
4.4 目录结构确认
配完后.codex目录应该是这样:
.codex/ ├── config.toml └── auth.json没有多余文件,干净。如果之前装过其他工具留了旧配置,建议先备份再覆盖,避免冲突。
5. 验证请求:启动 Codex 并跑通 DeepSeek-V4
5.1 启动 Codex
在任意项目目录下打开终端,输入:
codex第一次启动会读.codex下的配置。如果配置正确,会进入 Codex 的交互界面,显示当前模型是deepseek-v4-pro。
5.2 发一条测试请求
在 Codex 界面里输入一句简单的话,比如:
帮我写一个 Python 函数,计算斐波那契数列前 n 项如果配置通了,Codex 会调用 DeepSeek-V4 返回结果。你会看到它流式输出代码,说明请求链路是通的:Codex → TaoToken API → DeepSeek-V4 → 返回。
5.3 用 curl 单独验证 API 通道
如果 Codex 界面没反应,可以先绕过 Codex,直接用 curl 测 TaoToken 通道是否正常:
curl https://taotoken.net/api/v1/chat/completions ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer sk-你的TaoToken密钥" ^ -d "{\"model\":\"deepseek-v4-pro\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}"Windows 的 CMD 用^换行,PowerShell 用反引号`。如果返回 JSON 里有choices字段,说明 Key 和通道都没问题,问题出在 Codex 配置上。如果返回 401,检查 Key;返回 404,检查 base_url 是不是多了或少了/v1。
5.4 验证成功的样子
成功时你会看到类似这样的返回结构:
{ "id": "chatcmpl-xxx", "object": "chat.completion", "model": "deepseek-v4-pro", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "你好,有什么可以帮你?" } } ] }看到content里有内容,就说明整条链路跑通了。
6. 本篇常见错排查:bad option、401、模型不识别
6.1node: bad option: --env-file=.env
这个报错说明你的 Node.js 版本低于 20.6.0。--env-file是 20.6 才加的。两个解法:
解法一,升级 Node.js 到最新 LTS,覆盖安装后重启终端。
解法二,不想升级的话,用 dotenv 替代。在项目目录装 dotenv:
npm install dotenv然后在入口文件开头加两行:
import dotenv from 'dotenv'; dotenv.config();启动命令去掉--env-file,直接node proxy.mjs。
6.2 401 Unauthorized
Key 不对或没带上。检查auth.json里的OPENAI_API_KEY是不是完整的sk-开头字符串,有没有多余空格。也确认 TaoToken 控制台里这个 Key 没被删除或禁用。
6.3 404 Not Found
base_url 写错了。TaoToken 的地址是https://taotoken.net/api/v1,注意结尾的/v1不能少,也不能多。如果你写成了https://taotoken.net/api,Codex 拼路径时会 404。
6.4 模型不识别
报model not found之类,检查config.toml里的model字段拼写。DeepSeek-V4 的模型名是deepseek-v4-pro或deepseek-v4-flash,别写成deepseek-v4或deepseek-v3。可以去 TaoToken 的文档页确认当前支持的模型列表:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
6.5 Codex 启动后不读配置
确认.codex目录在用户主目录下,不是当前项目目录。Windows 上是C:\Users\你的用户名\.codex。如果放错位置,Codex 会读默认配置,连不上 TaoToken。
6.6 代理启动后终端不能关
如果你用的是本地代理方案(codex-bridge 之类),启动代理的终端窗口不能关,关了代理就断了。建议单独开一个终端跑代理,另一个终端跑 Codex。或者用start /b后台跑,但调试阶段还是前台方便看日志。
7. 长期编码与 Agent 场景:Coding Plan 和后续接入
如果你只是偶尔用 Codex 跑几个任务,上面的配置够了。但如果你打算长期用 Codex 做编码、跑 Agent 任务,建议看一下 TaoToken 的 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
Coding Plan 针对编码场景做了额度优化,比按量计费更适合高频使用。配置方式不变,还是用同一个 Key 和 base_url,只是计费模式不同。
另外,如果你用 Claude Code 或 Anthropic 系的工具,TaoToken 也有对应的接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
配置逻辑和这篇类似,都是改 base_url 和 Key,只是配置文件位置和字段名不同。
最后提醒一句:.codex目录下的auth.json含密钥,别提交到 git 仓库。如果项目里要用,加进.gitignore。Windows 上路径是C:\Users\你的用户名\.codex\auth.json,一般不在项目目录里,但如果你手动复制过,记得检查。