文章

Codex 接入 DeepSeek API 指南:官方订阅和第三方并行,缓存命中 95%+

见字如面,与大家分享实践中的经验与思考。

最近把 Codex 接上了 DeepSeek 的 API,官方订阅和 DeepSeek API 两套可以并行,实际用下来效果还行,分享一下。感兴趣可以试试。

先说下我为什么要在 Codex 里接 DeepSeek 官方 API。持续高强度的开发任务下,多个 Coding Plan 很容易跑到限额,任务复杂度上去之后,也不太放心把子任务委派给其他模型,怕返工浪费大量时间。但长期用下来发现,有不少像同步技术文档、梳理项目进度、文章内容优化、简单编码这类日常操作,也相当耗 token,其实用不上前沿顶级模型来处理。

后来发现 Codex 原生支持对接开源模型,就决定把 DeepSeek 接进来试试,这是对接之后的效果:

images-20260626-14.19.52@2x

images-20260626-14.40.13@2x

准备工作

  • Codex CLI 0.142.2

  • Codex Desktop 26.623.31921

  • Codex-DeepSeek-Proxy 0.3.2(DeepSeek API 本地代理工具)

  • DeepSeek 官方的 API Key

  • MacOS 15.6(构建产物目前在 MacOS 上进行了验证,其他平台也构建了产物)

自备 Codex 应用和 CLI,官网下载安装就行。codex-deepseek-proxy 是个本地代理工具,完全在本地跑,后面会详细介绍。

为什么需要本地路由转发

Codex CLI 面向的是 OpenAI Responses API,而 DeepSeek、Kimi、MiniMax、SiliconFlow 这些供应商暴露的基本都是 OpenAI Chat Completions 接口(即 /chat/completions)。两种协议的请求体、流式事件和返回结构都不一样,直接把 Chat 地址填到 Codex 配置里,通常就是模型列表不对、请求 404/400,或者流式响应 Codex 解析不了。

如果照着官方教程配(参考下图),把 DeepSeek 的 API 地址和 Key 填进去,跑起来就会报错:

unexpected status 404 Not Found: Unknown error, url: https://api.deepseek.com/responses

images-20260618-17.15.25@2x

所以就写了个本地代理工具。官方订阅和 DeepSeek API 各走各的,配置独立,互不干扰。

快速上手

操作链路分三步:

  1. 运行本地代理工具:下载对应平台的代理工具,本地配好 DeepSeek API Key,在终端直接启动。

  2. 复制配置文件:把工具里的 deepseek.config.toml profile 文件和模型选择文件复制到 codex 工作目录。

  3. 启动 Codex:打开 Codex CLI 或 Desktop 就可以用了。

01 启动本地代理工具

该工具目前支持的平台,如下:

  • macOS arm64 或 x64

  • Linux arm64 或 x64

  • Windows x64

images-20260618-23.49.17@2x

images-20260626-14.58.26@2x

在终端进入工具目录,然后运行初始化命令:

./codex-deepseek-proxy init
## 如果是 windows 则使用
.\codex-deepseek-proxy.exe init
​
## MacOS 无法执行未签名的软件,可以先执行以下命令:
xattr -d com.apple.quarantine ./codex-deepseek-proxy

该命令会在可执行文件旁创建 config.env。打开该文件,填入 DEEPSEEK_API_KEY

DEEPSEEK_API_KEY=sk-your-key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_FLASH_MODEL=deepseek-v4-flash
DEEPSEEK_PRO_MODEL=deepseek-v4-pro
PROXY_HOST=127.0.0.1
PROXY_PORT=15721
UPSTREAM_TIMEOUT_MS=1200000
MAX_REQUEST_BODY_BYTES=10485760
LOG_LEVEL=info

然后以前台方式启动:

./codex-deepseek-proxy

发行版无需安装 Node.js 或 Bun。程序始终读取可执行文件所在目录的 config.env,因此可从任意工作目录启动。系统环境变量优先于配置文件; 也可使用 --config /path/to/config.env 指定其他路径。

常用命令:

./codex-deepseek-proxy status
./codex-deepseek-proxy --version
./codex-deepseek-proxy --help

项目目前还没开源,打算再完善几轮。想体验的话可以直接公众号私信发 "codex" 或 "deepseek" 就能拿到下载链接。也可以在如下网址直接下载https://flyeric.top/archives/codex-deepseek-proxy-download

02 配置 Codex

工具目录下已经提供了 Codex 所需的配置文件。执行如下命令进行拷贝即可:

cp deepseek.config.toml ~/.codex/deepseek.config.toml
cp deepseek-model-catalog.json ~/.codex/deepseek-model-catalog.json

其中 deepseek.config.toml 是 Codex 运行的核心配置文件,可以作为 profile 让 Codex 单独运行。配置很简单,不懂的可以直接看官方配置介绍:

model_provider = "deepseek"
model = "deepseek-v4-flash"
model_reasoning_effort = "medium"
plan_mode_reasoning_effort = "high"
model_catalog_json = "deepseek-model-catalog.json"
​
[model_providers.deepseek]
name = "deepseek"
# base_url = "https://api.deepseek.com"
# env_key = "DEEPSEEK_API_KEY"
# DeepSeek credentials are loaded by the local proxy from config.env.
base_url = "http://127.0.0.1:15721/v1"
wire_api = "responses"
request_max_retries = 4
stream_max_retries = 10
stream_idle_timeout_ms = 1200000

模型列表由 deepseek-model-catalog.json 提供,否则用 /model 命令选不到对应模型。

03 启动 Codex 验证

新开一个终端 Tab,执行:

codex --profile deepseek

同时可以使用 codex 不带 profile 参数,访问官方的订阅套餐。

如果要在 Codex Desktop 里也想用 DeepSeek,把 deepseek.config.toml 的内容复制到 ~/.codex/config.toml 就行。目前 Desktop 端还无法切换模型,只能在配置里改。

最后

如果你是配合 Codex 官方订阅一起用,建议只用 DeepSeek-V4-Flash 模型,缓存命中百万 token 只要 0.02 元,本地代理工具的缓存命中率平均能到 95% 以上。

6e4a4865d8c37c92eb3cabcb26fd27b9

以上只是一次文档同步校对,就花了 600 万 token,命中率高达 97% 以上。

images-20260626-15.46.12@2x

images-20260626-15.47.11@2x

推荐阅读

参考


欢迎关注公众号"Eric技术圈",原创技术文章第一时间推送。

许可协议:  CC BY 4.0