尧图精选

Codex 接入 DeepSeek V4:Windows 一键配置脚本使用记录

🕒 发布时间:2026/10/2 12:07:39 📁 来源:尧图网络
1. Windows 下 Codex 接 DeepSeek V4 到底卡在哪Codex 接入 DeepSeek V4 这件事本质上是在 Windows 上把 Codex CLI或 ChatGPT 桌面版里的 Codex 模块的模型通道从默认的 OpenAI 端点切到 DeepSeek 的 Responses API 兼容端点。听起来一句话但真到动手的时候Windows 开发者最容易卡在三个地方一是~/.codex目录到底在哪PowerShell 里~和资源管理器里的路径对不上二是config.toml的[model_providers.xxx]段写错一个字段Codex 启动直接报local proxy failed或者干脆读不到模型三是 API Key 到底放环境变量还是放配置文件放错了要么 401要么脚本读不到。我这次用的是 DeepSeek 官方提供的一键配置脚本配合 TaoToken 的统一 Key 通道来管理密钥。为什么不用纯官方 Key因为如果你同时还在用 Claude Code、Cline 或者别的模型通道每个平台一套 Key、一套计费管理起来很碎。TaoToken 的好处是给你一个统一的 Base URL 和 KeyCodex、Claude Code、Cline 都能走同一个入口切换模型时不用来回改环境变量。官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 后面配置里会反复用到。这篇文章适合谁适合已经在 Windows 上装了 Codex CLI 或者 ChatGPT 桌面版、想快速把 DeepSeek V4 接进来跑通一条最小请求的开发者。我会把 config.toml 骨架、环境变量写法、TaoToken Key 的填写位置、验证命令、以及我踩过的报错都写清楚。你照着复制粘贴基本能在十分钟内看到模型返回结果。先说清楚一个前提Codex 和 ChatGPT 桌面版现在已经合并你在微软商店装 ChatGPT 之后Codex 相关功能就在里面。Codex CLI、桌面端、VS Code 插件三者共用同一份~/.codex配置所以配置一次三个形态都能用。这也是为什么我们只需要改一份config.toml。DeepSeek 这边的模型状态是deepseek-v4-flash已经适配完成可以直接用deepseek-v4-pro预计 2026 年 8 月初支持。所以本文的验证以 flash 为主pro 的配置位置一样只是模型 ID 不同等适配完成后把 ID 换掉即可。2. 前置准备Codex 目录、DeepSeek Key 与 TaoToken 通道在跑脚本之前有两件事必须先确认否则脚本会直接报「找不到 ~/.codex 目录」。第一件Codex CLI 或 ChatGPT 桌面版必须至少运行过一次。原因很简单~/.codex这个目录不是安装时创建的而是首次启动时生成的。你如果只是装了没打开过目录不存在脚本备份和写入都会失败。验证方法是在 PowerShell 里执行Test-Path $env:USERPROFILE\.codex返回True就说明目录已经生成。返回False的话先把 ChatGPT 桌面版打开一次或者在终端里跑一次codex命令让它初始化。第二件准备 API Key。这里有两种走法走法 A直接用 DeepSeek 开放平台的 Key以sk-开头在 platform.deepseek.com 的 API Keys 页面创建。走法 B用 TaoToken 的统一 Key 通道。你到 https://taotoken.net/api-keys 生成一个 KeyBase URL 填https://taotoken.net/api。这样 Codex、Claude Code、Cline 可以共用同一个 Key模型切换时只改 model ID不用换 Key。对同时跑多个 Agent 的人来说这个方式省事很多。我这次两种都试了最后留在配置里的是 TaoToken 通道因为后面我还要接 Claude Code统一入口更清爽。下面配置样例里我会把两种写法都标出来你按自己的情况选。环境变量这块Windows 下有两种设置方式。临时生效当前 PowerShell 窗口$env:DEEPSEEK_API_KEY sk-你的key永久生效写入用户环境变量重启终端后仍在[System.Environment]::SetEnvironmentVariable(DEEPSEEK_API_KEY, sk-你的key, User)如果你用 TaoToken建议变量名单独起一个比如TAOTOKEN_API_KEY避免和 DeepSeek 官方 Key 混淆。脚本如果只认DEEPSEEK_API_KEY你也可以把 TaoToken 的 Key 值赋给这个变量名因为对 Codex 来说它只关心「这个变量里有没有一个能用的 Key」。注意Key 不要提交到公开仓库也不要贴到文章或截图里。如果怀疑泄露去对应平台删掉重建一个。前置条件确认完就可以进入脚本环节了。3. 可复制配置一键脚本 config.toml 骨架 TaoToken 填写位置DeepSeek 官方给了一个 PowerShell 一键脚本命令是irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex运行后会显示菜单1. 使用 deepseek-v4-flash已适配 2. 使用 deepseek-v4-pro尚未适配 3. 恢复安装前的默认配置当前选 1。接着脚本会提示输入 API Key如果系统环境变量DEEPSEEK_API_KEY已经配置它会跳过输入。脚本实际做了四件事我拆开讲因为理解它改了什么出问题时你才知道去哪查第一把原来的~/.codex/config.toml备份到~/.codex/backup-deepseek/。这是你的后悔药配置乱了直接从这里还原。第二生成~/.codex/models.json声明 DeepSeek 模型的上下文窗口、推理强度档位、工具调用格式等元数据。Codex 靠这个文件知道模型支持什么能力。第三修改~/.codex/config.toml新增[model_providers.deepseek]配置段原有的插件、MCP 服务器、项目信任级别等配置保留不动。第四写入前校验配置文件语法校验不通过就中止不碰原文件。这一点做得比较稳。但脚本默认写的是 DeepSeek 官方端点。如果你想走 TaoToken 统一通道需要手动改config.toml里的base_url和env_key。下面是我改完之后的config.toml骨架你可以直接对照# ~/.codex/config.toml model deepseek-v4-flash model_provider deepseek [model_providers.deepseek] name DeepSeek via TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api responses # 如果你用 DeepSeek 官方 Key把上面两行换成 # base_url https://api.deepseek.com # env_key DEEPSEEK_API_KEY三个关键字段解释一下base_url是请求发往哪里。走 TaoToken 就填https://taotoken.net/api走官方就填https://api.deepseek.com。注意 TaoToken 的 API 地址不带 UTM 参数就是干净的https://taotoken.net/api。env_key是告诉 Codex 去哪个环境变量里读 Key。你环境变量名叫什么这里就填什么。填错就是 401。wire_api填responses因为 Codex 通过 Responses API 与模型通信DeepSeek 原生支持这个协议格式所以不需要第三方代理。对应的环境变量设置[System.Environment]::SetEnvironmentVariable(TAOTOKEN_API_KEY, 你的TaoToken Key, User)设置完记得关掉当前 PowerShell 重开一个或者手动刷新$env:TAOTOKEN_API_KEY [System.Environment]::GetEnvironmentVariable(TAOTOKEN_API_KEY, User)models.json一般不用手改脚本生成的够用。如果你要加deepseek-v4-pro等它适配完成后在models.json里补一条对应条目再把config.toml的model字段改成deepseek-v4-pro就行。这里补一句关于三件套的完整性不管你用 CC Switch、Cline MCP 还是 Codex 的 auth.json只要涉及自定义模型通道Base URL、Key、Model ID 这三样必须同时对上。Base URL 决定请求去哪Key 决定能不能进Model ID 决定调哪个模型。缺一个就是报错。Codex 这边 Model ID 写在config.toml的model字段Base URL 和 Key 在[model_providers.deepseek]段里三者对齐才算配好。4. 验证请求跑一条最小任务确认接入成功配置写完先别急着开大项目。用一条最小请求验证通道是否通这是最省时间的做法。第一步重启 ChatGPT 桌面版或者在终端里重开一个 Codex 会话。因为环境变量和配置文件都是启动时读取的不重启不生效。第二步在 Codex 里让它执行一个极简任务比如读取当前目录下的 README.md用一句话总结它的内容或者在终端里直接跑codex print hello from deepseek v4如果配置正确你会看到 Codex 正常返回结果模型标识显示为 DeepSeek-V4-Flash。这一步成功说明 Base URL、Key、Model ID 三件套全部对齐。第三步确认走的是哪个通道。如果你用 TaoToken可以去 https://taotoken.net/console 看调用记录能看到这次请求的模型和时间戳。这一步能帮你确认请求确实经过了统一通道而不是悄悄走了默认端点。我实测下来flash 的响应速度在 Windows 终端里挺跟手简单任务基本秒回。复杂一点的代码生成任务推理强度档位会拉高耗时会增加但这是模型行为不是配置问题。如果你想验证模型对话能力而不想动 Codex 配置也可以直接到 https://taotoken.net/models 用网页对话测一下同一个 Key 能不能通。这样能把「Key 本身有没有问题」和「Codex 配置有没有问题」分开排查省得混在一起找不到原因。验证通过之后你就可以在 Codex CLI、ChatGPT 桌面版、VS Code 插件三个形态里正常用了因为它们共用同一份~/.codex配置。切模型的话重新跑一遍脚本选 1 或 2或者手动改config.toml的model字段。5. 常见报错排查401、local proxy failed、读不到 choices这一节是我踩过的坑按报错原文对照排查。报错一401 Unauthorized最常见。原因通常是env_key指向的环境变量名和实际设置的不一致或者环境变量没刷新。排查步骤# 确认变量存在 echo $env:TAOTOKEN_API_KEY如果输出为空说明当前会话没读到。重开 PowerShell或者用前面说的GetEnvironmentVariable手动加载。如果输出有值但还是 401检查config.toml里env_key拼写是否和变量名完全一致大小写敏感。报错二local proxy failed这个报错通常出现在 Codex 启动阶段意思是它连不上base_url。排查两点一是base_url有没有写错TaoToken 是https://taotoken.net/api注意结尾不要多加斜杠或路径二是网络能不能通在 PowerShell 里测Invoke-WebRequest -Uri https://taotoken.net/api -Method Head能返回状态码说明网络层没问题问题在配置。返回超时或 DNS 错误检查本机网络设置。报错三reading choices 相关错误这个一般出现在响应解析阶段说明请求发出去了但返回格式和 Codex 预期的不一致。最常见原因是wire_api没设成responses或者模型 ID 写错导致端点返回了错误结构。检查config.toml里wire_api responses是否存在model字段是否是deepseek-v4-flash这种已适配的 ID。报错四OAuth 相关提示如果你之前登录过 ChatGPT 账号Codex 可能缓存了 OAuth 凭证和自定义 provider 冲突。解决办法是确认config.toml里model_provider指向的是你的自定义段名deepseek而不是默认的 openai。必要时清掉~/.codex下的凭证缓存文件重新启动。报错五找不到 ~/.codex 目录前面说过Codex 没运行过。先启动一次 ChatGPT 桌面版或跑一次codex命令。恢复配置任何时候配置乱了重新跑脚本选 3或者手动把~/.codex/backup-deepseek/里的备份文件还原回去。排查顺序建议先确认环境变量有值再确认config.toml三个字段对齐再确认网络能通最后看响应格式。按这个顺序走基本不会绕弯路。6. 后续怎么用统一 Key 通道与长期编码方案配置跑通只是开始。真正长期用起来你要考虑的是 Key 管理和模型切换的成本。如果你只接一个 DeepSeek官方 Key 就够了。但如果你同时跑 Codex、Claude Code、Cline每个平台一套 Key月底对账很痛苦。TaoToken 的统一 Key 通道在这里的价值就体现出来了一个 Key一个 Base URL多个工具共用调用记录在一个控制台里看。接入文档在 https://taotoken.net/doc 里面有各工具的配置样例Codex 这段和我上面写的是一致的。对于长期编码和 Agent 场景如果你发现自己每天都在跑 Codex 做代码生成、重构、测试可以考虑 Coding Plan入口在 https://taotoken.net/coding-plan 它更适合高频调用的用法比按量计费更可控。Claude Code 用户如果也想走同一个通道配置逻辑和 Codex 类似Base URL 填https://taotoken.net/apiKey 用同一个模型 ID 换成 Claude 系列即可。具体接入步骤在文档里有这里不展开。最后说一个实用技巧把config.toml和models.json一起纳入你的 dotfiles 管理但 Key 永远走环境变量不要写进配置文件。这样换机器时配置文件直接同步Key 手动设一次既方便又安全。切换模型时只改model字段一行不用动其他任何东西。这套流程我用了几个月Windows 上没再出过配置类问题。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →