Codex 接入 DeepSeek API 完整配置文档(文章由AI生成,经过本人测试)
架构说明
Codex CLI (Windows) → hosts 劫持 127.0.0.1 → Caddy (HTTPS→HTTP) → LiteLLM (4446端口) → DeepSeek API
核心原理:让 Codex 以为自己连的是 OpenAI,实际通过两层代理转发到 DeepSeek。
最终效果 :Codex 里填任意 OpenAI 模型名(如 gpt-4.1),实际调用的是 deepseek-chat。
前置准备
- Windows 10/11
- Python 3.10+(已装 pip)
- DeepSeek API Key(去 platform.deepseek.com 申请)
- OpenAI Codex CLI 已安装
第一步:安装 LiteLLM
powershell
pip install 'litellm[proxy]'
第二步:安装 Caddy
- 浏览器打开:https://caddyserver.com/api/download?os=windows&arch=amd64
- 下载后重命名为
caddy.exe - 以管理员身份打开 PowerShell,移动文件:
powershell
move C:\Users\你的用户名\Downloads\caddy.exe C:\Windows\System32\caddy.exe
- 验证安装:
powershell
caddy version
第三步:修改 hosts 文件
-
以管理员身份打开记事本
-
文件→打开→ 路径输入:C:\Windows\System32\drivers\etc\hosts
-
文件类型选「所有文件」
-
末尾加一行:
127.0.0.1 api.openai.com
-
保存,关闭
-
验证:
powershell
ping api.openai.com
# 应该返回 127.0.0.1
第四步:创建 Caddy 配置文件
在桌面上新建文件 Caddyfile(注意:没有 .txt 后缀名),内容:
api.openai.com:443 {
tls internal
reverse_proxy 127.0.0.1:4446
}
保存到 C:\Users\你的用户名\Desktop\Caddyfile
第五步:配置 Codex
编辑 C:\Users\你的用户名\.codex\config.toml:
toml
model = "gpt-4.1"
model_provider = "local-relay"
[model_providers.local-relay]
name = "Local Relay"
api_base_url = "http://127.0.0.1:4446/v1"
env_key = "OPENAI_API_KEY"
[projects.'C:\Users\你的用户名\Desktop']
trust_level = "trusted"
[windows]
sandbox = "unelevated"
model可以填任意 OpenAI 模型名(如gpt-4.1、gpt-4o、o4-mini),别填非 OpenAI 的就行api_base_url和model_provider只是占位,实际请求被 hosts 劫持不经过这里
第六步:启动服务(每次使用前执行)
6.1 启动 LiteLLM
打开一个 PowerShell 窗口:
powershell
$env:DEEPSEEK_API_KEY="你的DeepSeek API Key"
litellm --model deepseek/deepseek-chat --port 4446 --host 0.0.0.0
看到 Uvicorn running on http://0.0.0.0:4446 就是跑起来了。
这个窗口不要关。
6.2 启动 Caddy
以管理员身份打开另一个 PowerShell:
powershell
cd C:\Users\你的用户名\Desktop
caddy run
看到 serving initial configuration 就是跑起来了。
这个窗口也不要关。
第七步:启动 Codex
再开一个 PowerShell 窗口:
powershell
codex
输入任意内容测试,能正常回复即可。
日常使用流程
以后每次使用时:
- 启动 LiteLLM(普通 PowerShell 即可)
- 启动 Caddy(管理员 PowerShell)
- 启动 Codex
三个终端各司其职,关任何一个都会断。
常见问题排查
| 问题 | 检查项 |
|---|---|
Invalid HTTP request received |
Caddy 没启动,Codex 直连 LiteLLM 导致 HTTPS/HTTP 不匹配 |
ping api.openai.com 不是 127.0.0.1 |
hosts 文件没改对,用管理员身份重新编辑 |
| Caddy 启动报权限错误 | 没以管理员身份运行 |
| 回复内容不像 DeepSeek | 查看 LiteLLM 窗口日志,确认有请求;去 DeepSeek 后台看用量 |
| 想换其他模型 | 改 LiteLLM 启动命令,比如 --model deepseek/deepseek-reasoner 用 R1 |
切换模型速查
不用改任何配置,关掉 LiteLLM 换个命令重启即可:
powershell
# DeepSeek V3(默认)
litellm --model deepseek/deepseek-chat --port 4446 --host 0.0.0.0
# DeepSeek R1(推理模型)
litellm --model deepseek/deepseek-reasoner --port 4446 --host 0.0.0.0
# 其他兼容 OpenAI 接口的模型
$env:OPENAI_API_KEY="你的其他key"
litellm --model openai/gpt-4.1 --port 4446 --host 0.0.0.0
卸载/还原
如需恢复原状:
- 删除 hosts 文件中
127.0.0.1 api.openai.com这行 - 停掉 LiteLLM 和 Caddy
- 卸载:
powershell
pip uninstall litellm
# 直接删除 caddy.exe
最后更新 :2026-04-24
适用版本:Codex v0.121.0+、LiteLLM 最新版、Caddy v2.x