Codex接入DeepSeek笔记:Windows下用CC Switch把API Key改到TaoToken 1. Windows 下 Codex 接入 DeepSeek 的完整链路与 CC Switch 到底解决什么问题Codex 是 OpenAI 推出的本地编码代理工具能在你的终端或桌面端里读写文件、跑命令、改代码DeepSeek 则是国内开发者常用的高性价比大模型推理和代码能力都不错。把这两者接起来本质上是让 Codex 不再走默认的 OpenAI 端点而是把请求发到 DeepSeek 的兼容接口上。问题在于Codex 的配置分散在auth.json、config.toml和系统环境变量里手动改一次还行想在不同模型之间来回切换就非常痛苦——每次都要改文件、重启、再验证稍不留神就 401。CC Switch 就是来解决这个痛点的。它是一个专门管理 Codex、Claude Code 这类工具 API Key 与 Base URL 的切换器图形界面点一下就能换供应商底层帮你把auth.json和config.toml写对。我实测下来Windows 上用它把 Codex 的请求改到 TaoToken 的兼容端点再让 TaoToken 转发到 DeepSeek整个闭环大概十分钟能跑通。这篇笔记就按「装 Codex → 装 CC Switch → 填 Key 和 Base URL → 发一次对话验证」的顺序把每一步的可复制配置都写清楚适合刚接触 Codex、想在 Windows 上换模型的开发者跟做。需要先说明一点Codex 本身不绑定任何一家模型它只认「OpenAI 兼容格式」的接口。DeepSeek 官方接口是兼容的TaoToken 的 API 也是兼容的所以你可以直接把 Base URL 指向 TaoToken由它统一管理 Key 和模型路由。这样做的额外好处是以后想换别的模型只改 CC Switch 里的一个下拉项不用再动 Codex 的配置文件。2. 前置准备Codex 安装、CC Switch 获取与 TaoToken API Key 申请2.1 在 Windows 上装好 CodexCodex 桌面版在 Microsoft Store 有官方包产品 ID 是9PLM9XGG6VKS直接在商店搜索这个 ID 就能找到。如果你的系统商店打不开也可以走 GitHub 上的镜像仓库Wangnov/codex-app-mirror它把官方安装包同步到了 Releases 里下载 exe 双击安装即可。这里有个坑要注意Windows 更新服务必须是开启状态否则 Codex 安装到一半会报组件缺失我试过把 Windows Update 临时关掉结果装完打不开重新开启更新并重启才正常。装完之后你可以在开始菜单里看到 Codex首次启动它会引导你登录。先别急着登录 OpenAI 账号因为我们后面要用 CC Switch 把认证方式改掉。如果你已经登录过也没关系CC Switch 会覆盖auth.json里的字段。2.2 获取 CC SwitchCC Switch 的官网是https://www.ccswitch.io/zh/在下载页选 Windows 版本得到一个安装包。安装过程没什么特别的一路下一步就行。装好后打开界面左侧是供应商列表右侧是当前选中供应商的 Base URL、API Key、模型名等字段。它支持 Codex、Claude Code 两种目标工具顶部有切换标签记得选到 Codex。2.3 申请 TaoToken API Key打开 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册登录后进入控制台。在「API Keys」页面点新建复制生成的 Key形如sk-xxxxxxxx。这个 Key 只显示一次建议先粘到记事本里备用。TaoToken 的 API 根地址是https://taotoken.net/api注意这个地址后面不加 UTM 参数配置时原样填入即可。如果你还没想好要用哪个模型可以先去「模型对话」页面https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite试聊几句确认 DeepSeek 系列模型在你的账号下可用。长期做编码代理的话可以看看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite它针对高频调用做了额度优化。3. 可复制配置CC Switch 里填 Base URL、API Key 与 Codex 的 auth.json / config.toml3.1 在 CC Switch 中新增供应商打开 CC Switch切到 Codex 标签点「新增供应商」。名称随便填比如TaoToken-DeepSeek。然后填三个关键字段字段填写值Base URLhttps://taotoken.net/apiAPI Key你从 TaoToken 控制台复制的sk-...Model IDdeepseek-chat或deepseek-reasonerModel ID 这一项很关键Codex 发请求时会把它作为model参数传给接口。DeepSeek 的对话模型是deepseek-chat推理模型是deepseek-reasoner按需选一个。填完点保存再点「启用」CC Switch 会自动把配置写入 Codex 的配置目录。3.2 Codex 的 auth.json 长什么样CC Switch 写入后你可以打开%USERPROFILE%\.codex\auth.json核对。内容大致如下{ OPENAI_API_KEY: sk-你的TaoToken密钥, OPENAI_BASE_URL: https://taotoken.net/api }注意字段名是OPENAI_API_KEY和OPENAI_BASE_URLCodex 读的就是这两个。如果你之前登录过 OpenAI 账号这里可能还有tokens字段CC Switch 启用新供应商时会把它清掉或覆盖避免冲突。3.3 config.toml 里的模型声明同目录下的config.toml负责声明模型和 provider。CC Switch 一般会帮你写好但如果你想手动确认可以看这几行model deepseek-chat model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key OPENAI_API_KEYenv_key指向环境变量名Codex 会从auth.json或系统环境变量里取这个 Key。如果你在系统里设过OPENAI_API_KEY环境变量注意别和 CC Switch 写入的值打架建议以auth.json为准把系统环境变量清掉。3.4 开启路由功能CC Switch 界面上有个「路由」开关打开后它会在本地起一个轻量转发把 Codex 的请求按当前选中的供应商转发出去。这样你切换供应商时Codex 侧完全无感不用重启。实测这个路由对 Windows 防火墙友好不需要额外放行端口它走的是本地回环。4. 验证请求发一次对话确认 Codex 已经走通 DeepSeek配置写完别急着写代码先做一次最小验证。打开 PowerShell进到任意一个空目录运行codex 用一句话解释什么是递归如果配置正确Codex 会把这句话发给https://taotoken.net/apiTaoToken 再转发给 DeepSeek几秒后终端里会打印出模型回复。你看到类似「递归就是函数自己调用自己」这样的回答就说明链路通了。想更直观地确认请求确实走了 TaoToken可以打开 CC Switch 的日志面板或者去 TaoToken 控制台的「调用记录」页面那里会显示刚才这次请求的模型名、耗时和 token 消耗。我实测下来deepseek-chat首次响应大概 1 到 2 秒deepseek-reasoner因为要推理会慢一些但输出质量更稳。如果你在 Codex 里用的是交互模式也可以直接输入/model查看当前模型确认显示的是deepseek-chat而不是默认的gpt-4之类。这一步能帮你排除「配置写了但没生效」的情况。5. 常见报错排查401、local proxy failed、reading choices、OAuth 逐个拆5.1 401 Unauthorized这是最常见的。原因通常是auth.json里的 Key 和 CC Switch 里填的不一致或者 Key 复制时带了空格。打开%USERPROFILE%\.codex\auth.json确认OPENAI_API_KEY的值是完整的sk-开头字符串前后没有引号外的多余字符。另外检查 TaoToken 控制台里这个 Key 是否被禁用或额度耗尽。5.2 local proxy failed这个报错说明 CC Switch 的本地路由没起来。先确认 CC Switch 主界面右上角的「路由」是开启状态然后看 Windows 任务管理器里有没有 CC Switch 的后台进程。如果被杀毒软件拦了把 CC Switch 加入白名单再重启。还有一种情况是端口被占用CC Switch 默认用的本地端口如果和别的工具冲突可以在设置里换一个。5.3 reading choices 相关报错这类报错通常出现在响应格式解析阶段提示reading choices或类似字段缺失。原因是接口返回的不是 OpenAI 兼容格式Codex 解析不了。检查 Base URL 是不是写成了https://taotoken.net/api有没有多写/v1或少写/api。TaoToken 的兼容端点路径是固定的写错就会返回非标准结构。5.4 OAuth 相关报错如果你之前用 OpenAI 账号登录过 Codexauth.json里会残留tokens字段Codex 可能优先走 OAuth 而不是 API Key。解决办法是在 CC Switch 里重新点一次「启用」让它覆盖auth.json或者手动把tokens字段删掉只保留OPENAI_API_KEY和OPENAI_BASE_URL。删之前建议备份一下原文件。5.5 模型名不识别如果报错说 model 不存在检查config.toml里的model值是不是deepseek-chat或deepseek-reasoner。DeepSeek 的模型名区分大小写写成DeepSeek-Chat可能不认。另外确认 TaoToken 账号下这两个模型是开通状态。6. 把配置固化下来日常切换与长期使用的建议跑通一次之后建议把 CC Switch 的配置导出备份路径在它的设置里有「导出配置」选项存成一个 json 文件。这样换电脑或者重装系统时导入就能恢复不用重新填 Key。日常使用中如果你想在 DeepSeek 和别的模型之间切换直接在 CC Switch 里点另一个供应商的「启用」Codex 侧不用做任何改动路由会自动接管。对于长期做编码代理的场景建议把deepseek-chat设为默认遇到复杂推理任务再临时切到deepseek-reasoner。TaoToken 的 Coding Plan 页面https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite里有针对高频调用的额度说明可以按自己的调用量选。如果只是想先验证模型效果模型对话页面https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite更轻量不用配 Codex 就能试。最后提醒一个细节Windows 上 Codex 的配置目录是%USERPROFILE%\.codex\如果你用管理员权限运行过 Codex配置可能写到另一个用户目录下导致 CC Switch 改的文件和 Codex 读的文件不是同一个。遇到「配置明明改了却不生效」的情况先确认当前登录用户和 Codex 运行用户是否一致。