Fork me on GitHub

给 Codex 配置 DeepSeek 模型——小白也能照做的完整步骤

Codex 是 OpenAI 推出的 AI 编程助手,装在命令行或桌面应用里,用自然语言让它改代码、跑命令。它默认使用 OpenAI 的模型,需要 ChatGPT 付费订阅或 OpenAI 的 API Key。

DeepSeek 是国内的大模型,价格比 OpenAI 低很多。从 2026 年 7 月底开始,DeepSeek 官方直接支持了 Codex 使用的通信协议,因此可以把 Codex 背后的模型换成 DeepSeek,界面和用法不变,只换背后运行的实际模型。

需要准备三样东西

第一,装好 Codex 并至少启动过一次。启动一次会生成配置目录 ~/.codex,Windows 上对应 C:\Users\你的用户名\.codex,后续配置都写在这里。

第二,注册 DeepSeek 并拿到 API Key。打开 platform.deepseek.com,注册登录后在左侧「API Keys」创建新密钥。密钥是一串 sk- 开头的字符,创建后只显示一次,务必立刻保存。

第三,记住两个配置文件的用途。~/.codex/config.toml 告诉 Codex 用哪个模型、连哪个地址、用哪把密钥。~/.codex/models.json 描述模型的能力,比如上下文长度、能否看图、支持哪些推理档位。

做法一 官方一键脚本

DeepSeek 官方提供了一键脚本,会自动备份旧配置、写入上述两个文件并做语法检查。打开终端执行。

macOS 和 Linux

bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)

Windows PowerShell

irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex

脚本第一次运行会问 API Key 和选哪个模型,按提示填写即可。执行前先把 ~/.codex/config.toml 复制一份留作备份,脚本本身也会在 backup-deepseek 目录保留一份原始配置。

做法二 手动改两个文件

想看清楚每一步改了什么,可以手动操作,一共两步。

第一步,新建 ~/.codex/models.json。这个文件描述模型能力,官方模板字段较多,最简单的方式是运行上面的官方脚本让它自动生成,也可以打开 DeepSeek 官方文档的 Codex 接入页复制全文。下面给出精简版,保留了 Codex 判断模型能力所需的关键字段。

{
  "models": [
    {
      "slug": "deepseek-flash",
      "display_name": "DeepSeek-Flash",
      "description": "Latest frontier agentic coding model with image input.",
      "context_window": 1048576,
      "max_context_window": 1048576,
      "input_modalities": ["text", "image"],
      "default_reasoning_level": "high",
      "supported_reasoning_levels": [
        { "effort": "low", "description": "Fast responses with lighter reasoning" },
        { "effort": "high", "description": "Extra high reasoning depth for complex problems" },
        { "effort": "max", "description": "Maximum reasoning depth for the hardest problems" }
      ],
      "apply_patch_tool_type": "freeform",
      "shell_type": "shell_command",
      "minimal_client_version": "0.144.0",
      "supported_in_api": true
    }
  ]
}

第二步,打开 ~/.codex/config.toml,在文件最上面写入模型相关设置,在文件末尾写入连接设置。

model = "deepseek-flash"
model_provider = "deepseek"
preferred_auth_method = "apikey"
forced_login_method = "api"
model_reasoning_effort = "high"
model_catalog_json = "C:/Users/你的用户名/.codex/models.json"
web_search = "disabled"
show_raw_agent_reasoning = true

[model_providers.deepseek]
name = "deepseek"
base_url = "https://api.deepseek.com/"
wire_api = "responses"
experimental_bearer_token = "sk-你的密钥"

其中两处要替换成自己的值。model_catalog_json 那一行指向第一步生成的 models.json 的完整路径,Windows 上写 C:/Users/你的用户名/.codex/models.json,macOS 和 Linux 上可以写 ~/.codex/models.json。experimental_bearer_token 那一行填入你的 API Key,两边的双引号保留。

最容易出错的一点

旧教程大多写 wire_api = "chat",这是过时写法。现在的 Codex 版本已经不再支持 chat 协议,照旧教程写 chat 会直接启动失败。DeepSeek 当前支持的是 responses 协议,所以这里必须写 wire_api = "responses"。看到旧教程让写 chat 的,直接跳过。

验证有没有成功

保存后重新打开 Codex,命令行就重开终端,桌面应用就退出重进。启动时显示的信息里出现下面两行即成功。

model: deepseek-flash
provider: deepseek

再随便让它做一件小事,比如读一个文件并说明它讲了什么,能正常回答即可。

习惯命令行的用户,可以再测一下 DeepSeek 接口本身。在 Git Bash 或 macOS、Linux 终端执行,Windows PowerShell 用户可跳过这条。

curl -sS https://api.deepseek.com/responses \
  -H "Authorization: Bearer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-flash","input":"只回复两个字 正常"}'

返回结果里出现 "status":"completed" 和文字回复,说明密钥和模型都正常。实测这一步会返回 HTTP 200。

想换回原来的模型

把 config.toml 最上面的 model = "deepseek-flash" 改回原来的模型名即可。之前用 OpenAI 账号产生的会话记录不会丢,只是和 DeepSeek 的会话分开存放,换回来后仍能看到。

posted @ 2026-10-12 22:40  郭幸坤  阅读(62)  评论(0)    收藏  举报
1