
文档来自:
大家好,本文来自晓刘,本文由人工整理、撰写,并做了必要校准。

CCX+CCSwitch的带风险的方式(不推荐)

Codex 接入DeepSeek详细流程
** 已开放交流群**
各位好,我是晓刘。插件压缩包解压密码请进群获取。
如果在其他自媒体平台有提问,没看到消息可能会回复不够及时,
大家也可以直接在群里交流讨论,有问题也能更快得到解答,参考下方脚本。
- 群满了可以加下一个,我看到就会第一时间回复*



**Codex切换插件地址教程 **
文件说明
-
start-codex-deepseek.sh:macOS 启用 DeepSeek。 -
rollback-codex-default.sh:macOS 恢复原 Codex 配置。 -
start-codex-deepseek.cmd:Windows 启用 DeepSeek。 -
rollback-codex-default.cmd:Windows 恢复原 Codex 配置。 -
write-codex-deepseek-config.py:Windows 脚本使用的 Codex 配置写入 helper。 -
migrate-codex-history-provider.py:迁移会话列表 provider 索引,避免切换后看不到旧会话。 -
DEEPSEEK_API_KEY.env.example:DeepSeek Key 示例文件。 -
deepseek-proxy-runtime/:内置的dsproxy源码,脚本会从这里本地安装,不需要用户再单独下载。
Mac操作步骤:
- 下载上方zip压缩包得到的文件夹

- 在.env文件中配置DeepSeek的 API

- 进入DeepSeek官方,获取 API的 Keyhttps://platform.deepseek.com/api_keys

- 将你自己上方 注册的 API的 Key 填入.env文件,注意空格

- 启动./start-codex-deepseek.sh 脚本(一行一行执行,下面2条命令分别为授权、和启动脚本)
chmod +x ./start-codex-deepseek.sh
./start-codex-deepseek.sh
- 等待重启完成

- 可以正常使用DeepSeek模型,如果需要回滚的话,就执行 rollback-codex-deepseek.sh脚本就会恢复到默认的模型的初始状态
./rollback-codex-deepseek.sh

Windows操作步骤:
- Windows 的整体使用步骤和上面基本一致,唯一的区别是执行入口换成了 Windows 的CMD 命令文件。*
- 直接双击** configure-codex-deepseek.cmd,会执行 自动的安装操作 ,回滚的话就是 rollback-codex-deepseek.cmd**

Windows 这版的实现方式是:
-
配置写到 %USERPROFILE%.codex\
-
用 PowerShell 写入 config.toml、模型目录和桥接脚本
-
用 Windows 启动目录里的 codex-deepseek-bridge.cmd 常驻启动桥接服务
-
用用户级环境变量保存 DEEPSEEK_API_KEY
-
可选自动重启 Codex App
- 如果在使用脚本的过程中出现报错,可以在Codex输入下方的prompt:*
请你帮我修复 Codex 一键切换脚本在 【MAC| Windows】 上执行时报错的问题。
报错原因如下:
【把完整报错粘贴到这里】
请你按下面要求处理:
-
先检查当前目录下的脚本、README 和相关配置文件。
-
定位具体报错原因,不要只猜测。
-
在不影响 macOS 版本的前提下,修复 Windows 脚本。
-
如果涉及路径、权限、Python、环境变量、Codex 配置或 dsproxy 安装,请一并处理。
-
修复后请做最小验证,并说明改了哪些文件、如何重新运行。
当前目录就是这个一键切换包,请直接在本地文件里修改,不要只给建议。
目标与准备
这套流程的目标是:
-
让本机的 Codex App 可以切换到 DeepSeek 模型使用。
-
把启动和回滚收敛成两个脚本。
-
全程只维护一个 DeepSeek API Key。
当前这套方案基于本机已经安装好的 CoDeepSeedeX / dsproxy,通过本地代理把 Codex 的模型请求转到 DeepSeek。
1.1 前置条件
执行这套流程前,需要满足下面几个条件:
-
本机已经安装 Codex App。
-
本机已经安装
dsproxy。 -
本机已经有一个可用的 DeepSeek API Key。
可以用下面命令检查 dsproxy 是否存在:
~/.local/bin/dsproxy --version
如果能看到版本号,说明本地代理已经装好。
1.2 只需要维护一个 Key
这套方案只认这一处:
~/.config/codex-deepseek-switch/env
文件内容格式如下:
export DEEPSEEK_API_KEY=你的DeepSeekKey
后续无论是启动脚本,还是回滚后再次切换,都只读取这一处。
接入原理

这套方案不是直接改 Codex App 二进制,而是通过下面几步完成切换:
-
用
dsproxy在本地启动一个 DeepSeek 代理。 -
把
~/.codex/config.toml的默认模型改成指向本地代理。 -
把
DEEPSEEK_API_KEY注入到launchctl,让图形界面的 Codex App 也能读到这个环境变量。 -
重启 Codex App,让新配置生效。
回滚时则反过来做:
-
恢复原始
~/.codex/config.toml -
停掉本地代理
-
清掉
launchctl里的DEEPSEEK_API_KEY -
重启 Codex App
2.1 更直白的调用链路
可以把这套链路理解成:
Codex App
- > 读取 ~/.codex/config.toml
- > 发现默认模型其实不是直连 OpenAI,而是走本地 http://127.0.0.1:8000/v1
- > 请求发给本机 dsproxy
- > dsproxy 再拿着 DEEPSEEK_API_KEY 去请求 DeepSeek 官方接口
- > DeepSeek 返回结果
- > dsproxy 转成 Codex 能识别的 Responses 风格
- > Codex App 正常显示结果
也就是说,真正被改掉的不是 Codex App 本体,而是它的“默认模型出口”。
2.2 为什么不能只改一个配置文件
只改 ~/.codex/config.toml 还不够,原因有三层:
-
Codex 需要知道默认模型应该发到哪个
base_url。 -
本地代理
dsproxy需要知道该拿什么 key 去请求 DeepSeek。 -
图形界面的 Codex App 还必须在自己的进程环境里读到
DEEPSEEK_API_KEY。
所以这套流程实际上同时改了三类东西:
-
~/.codex/config.toml -
~/.config/deepseek-responses-proxy/env -
launchctl里的DEEPSEEK_API_KEY
2.3 为什么要有启动脚本和回滚脚本
因为这不是“改一处就永久结束”的配置,而是一个会来回切换的场景:
-
有时你想让 Codex 走 DeepSeek。
-
有时你又想快速恢复官方默认模型。
如果每次都手工改配置、重启代理、重开 App,成本很高,也容易漏步骤。所以最终才把它收敛成两个脚本:
-
启动脚本负责切换到 DeepSeek。
-
回滚脚本负责恢复默认。
脚本化操作
启动脚本路径:
/Users/bytedance/Skills-Working/scripts/start-codex-deepseek.sh
它内部会自动完成这些事情:
-
检查
~/.codex/config.toml和~/.local/bin/dsproxy是否存在。 -
读取
~/.config/codex-deepseek-switch/env里的DEEPSEEK_API_KEY。 -
自动生成
~/.config/deepseek-responses-proxy/env。 -
用
launchctl setenv DEEPSEEK_API_KEY ...注入图形应用环境变量。 -
如果当前还不是 DeepSeek 模式,就把当前默认 Codex 配置备份到:
~/.codex/config.toml.codex_default_backup
-
自动执行
dsproxy config set-model ... -
自动补齐
deepseek和deepseek-thinking两个 Codex profile。 -
自动修改
~/.codex/config.toml顶部默认模型配置,让默认模型走 DeepSeek。 -
自动停止并重启本地代理。
-
自动关闭并重新打开 Codex App。
3.1 如何启动 DeepSeek 模式
直接执行:
/Users/bytedance/Skills-Working/scripts/start-codex-deepseek.sh
执行成功后,脚本会输出类似:
[codex-deepseek] DeepSeek mode enabled. Codex has been reopened.
这表示:
-
默认模型已切到 DeepSeek。
-
代理已经重新拉起。
-
Codex App 已重开。
3.2 回滚脚本做了什么
回滚脚本路径:
/Users/bytedance/Skills-Working/scripts/rollback-codex-default.sh
它内部会自动完成这些事情:
-
用
~/.codex/config.toml.codex_default_backup恢复原始 Codex 默认配置。 -
执行
launchctl unsetenv DEEPSEEK_API_KEY。 -
停掉
dsproxy。 -
关闭并重新打开 Codex App。
3.3 如何回滚到默认模式
直接执行:
/Users/bytedance/Skills-Working/scripts/rollback-codex-default.sh
执行成功后,脚本会输出类似:
[codex-deepseek] Rolled back to the default Codex config and reopened Codex.
这表示:
-
默认模型已经恢复回原始配置。
-
DeepSeek 的 App 级环境变量已经清掉。
-
本地代理已经停止。
-
Codex App 已经重开。
3.4 手动模式对应命令
如果你不想走脚本,也可以手动执行。
3.4.1 写入 DeepSeek Key
~/.local/bin/dsproxy config set-model deepseek-v4-flash --provider deepseek --value '你的key' --skip-validation
这里使用了 --skip-validation,原因见下面的证书问题说明。
3.4.2 停止代理
~/.local/bin/dsproxy stop
3.4.3 启动代理
~/.local/bin/dsproxy start
3.4.4 本地健康检查
~/.local/bin/dsproxy doctor --allow-down
curl -sS http://127.0.0.1:8000/healthz
推荐用法
以后建议就记两条命令:
切换到 DeepSeek:
/Users/bytedance/Skills-Working/scripts/start-codex-deepseek.sh
恢复默认:
/Users/bytedance/Skills-Working/scripts/rollback-codex-default.sh
只要 ~/.config/codex-deepseek-switch/env 里的 key 不变,这两个脚本就可以反复使用。