Agent Model Connector

Codex CLI 接入 DeepSeek

已验证

通过 ~/.codex/config.toml 的 model_providers 表将 Codex CLI 配置为使用 DeepSeek。DeepSeek 官方文档化了该集成。

已于 2026-07-30 依据服务商官方文档验证。

目标版本:Codex >= 0.144.0 来源:DeepSeek official Codex setup script 1.0.0 运行时验证待完成。

关于 Codex CLI

Codex CLI 是 OpenAI 开源的终端编程代理,通过 ~/.codex/config.toml 读取自定义模型服务商,并使用环境变量认证。

关于 DeepSeek

DeepSeek 是一家提供高性价比 API 平台的 AI 实验室。它同时提供 Anthropic 兼容端点(用于 Claude Code)与原生 OpenAI Responses 兼容端点(用于 Codex CLI)。

要点

  • DeepSeek 官方提供一键脚本:`bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)`(Windows 有 PowerShell 版本)。下方配置为手动等效写法。
  • DeepSeek API 原生支持 Codex 使用的 OpenAI Responses 协议;为匹配当前 Codex 行为已包含 wire_api = "responses"。
  • 目前只有 deepseek-v4-flash 支持 Codex CLI,deepseek-v4-pro 预计 2026 年 8 月初支持。
  • 切勿把 API Key 硬编码进 config.toml;请使用 env_key 配合导出的环境变量。

接入 Codex CLI 接入 DeepSeek

选择操作系统、Shell 与模型。下方步骤会实时更新,且全部在浏览器本地生成。

Agent
Codex CLI
模型服务商
DeepSeek

目前只有 deepseek-v4-flash 可用于 Codex CLI;deepseek-v4-pro 预计 2026 年 8 月初支持。

1

获取 API Key

创建 DeepSeek API Key。Codex CLI 通过它进行认证——它永远不会离开你的设备。

获取 DeepSeek API Key
  • 安装 Codex CLI:npm install -g @openai/codex
  • DeepSeek 官方一键脚本(推荐):bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup.sh)
  • Sign in, open API Keys, and create a key that starts with sk-. Top up your account balance; the API is pay-as-you-go.
2

配置连接

将 provider 配置块添加到 Codex 配置,然后导出你的 API Key。

~/.codex/models.json
{
  "models": [
    {
      "slug": "deepseek-v4-flash",
      "prefer_websockets": false,
      "support_verbosity": true,
      "default_verbosity": "low",
      "apply_patch_tool_type": "freeform",
      "web_search_tool_type": "text",
      "input_modalities": [
        "text"
      ],
      "supports_image_detail_original": false,
      "truncation_policy": {
        "mode": "tokens",
        "limit": 10000
      },
      "supports_parallel_tool_calls": true,
      "tool_mode": null,
      "multi_agent_version": "v2",
      "use_responses_lite": false,
      "include_skills_usage_instructions": false,
      "auto_review_model_override": null,
      "context_window": 1048576,
      "max_context_window": 1048576,
      "effective_context_window_percent": 95,
      "auto_compact_token_limit": null,
      "comp_hash": "3000",
      "reasoning_summary_format": "experimental",
      "default_reasoning_summary": "none",
      "display_name": "DeepSeek-V4-Flash",
      "description": "Latest frontier agentic coding model.",
      "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"
        }
      ],
      "shell_type": "shell_command",
      "visibility": "list",
      "minimal_client_version": "0.144.0",
      "supported_in_api": true,
      "availability_nux": null,
      "upgrade": null,
      "priority": 1
    },
    {
      "slug": "deepseek-v4-pro",
      "prefer_websockets": false,
      "support_verbosity": true,
      "default_verbosity": "low",
      "apply_patch_tool_type": "freeform",
      "web_search_tool_type": "text",
      "input_modalities": [
        "text"
      ],
      "supports_image_detail_original": false,
      "truncation_policy": {
        "mode": "tokens",
        "limit": 10000
      },
      "supports_parallel_tool_calls": true,
      "tool_mode": null,
      "multi_agent_version": "v2",
      "use_responses_lite": false,
      "include_skills_usage_instructions": false,
      "auto_review_model_override": null,
      "context_window": 1048576,
      "max_context_window": 1048576,
      "effective_context_window_percent": 95,
      "auto_compact_token_limit": null,
      "comp_hash": "3000",
      "reasoning_summary_format": "experimental",
      "default_reasoning_summary": "none",
      "display_name": "DeepSeek-V4-Pro",
      "description": "Most capable frontier agentic coding model.",
      "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"
        }
      ],
      "shell_type": "shell_command",
      "visibility": "list",
      "minimal_client_version": "0.144.0",
      "supported_in_api": true,
      "availability_nux": null,
      "upgrade": null,
      "priority": 1
    }
  ]
}

DeepSeek 需要该模型目录为 Codex 提供模型元数据与工具/推理能力。deepseek-v4-pro 的可用性取决于 DeepSeek 当前的上线进度。

~/.codex/config.toml
model = "deepseek-v4-flash"
model_provider = "deepseek"
[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com"
wire_api = "responses"
env_key = "DEEPSEEK_API_KEY"

如果文件不存在请创建。Provider 配置仅在用户级配置中生效。

  1. 1添加到 ~/.zshrc
export DEEPSEEK_API_KEY="sk-"
3

验证配置

在新终端中运行以下命令。成功返回即表示 Codex CLI 已连接到目标端点。

codex exec "Say hello in one sentence."
Hello! I'm ready to help with your code.
✓ task finished

The exact reply varies. You can also verify the request appears in the provider dashboard (billing / activity page).

4

开始使用

启动 Codex CLI 并发送第一条消息。

  • 输入:Explain the files in this project.
codex
5

故障排查

大多数问题可以归为以下几类,每一条都包含原因、解决方法与验证方式。

401 未授权

排障指南

API Key 错误、已过期,或服务商账户余额不足。

在服务商后台创建新密钥,然后用新密钥重新生成配置。如果密钥保存在 Shell 配置文件中,请打开新终端使导出生效。

验证: 运行 `echo $ANTHROPIC_AUTH_TOKEN`(Codex 使用 `echo $DEEPSEEK_API_KEY` / `$OPENROUTER_API_KEY`),确认输出形如有效的密钥。

404 未找到

排障指南

Base URL 错误(拼写错误、多余路径段),或 Codex 的 wire 协议与服务商提供的不匹配。

从本页复制准确的 Base URL。Codex 搭配 OpenRouter 时保留 `wire_api = "responses"`;如果 DeepSeek 在 /responses 返回 404,尝试删除 wire_api 行以匹配服务商提供的端点。

验证: 重新运行第 3 步的验证命令,检查报错路径:应指向 /anthropic(Claude Code)或 /responses(Codex)。

模型不存在

排障指南

模型名称在服务商处不存在,或 Agent 缓存了旧登录状态,覆盖了环境变量。

从本页的模型列表中选择。Claude Code 搭配 OpenRouter 时,先在 Claude Code 内执行 `/logout` 再重新启动——缓存的 Anthropic 登录会覆盖你的环境变量。

验证: 确认 ANTHROPIC_API_KEY 已置空(OpenRouter)或未设置(DeepSeek),然后重新运行 `claude /status`。

限流 / 配额不足

排障指南

服务商限制了每分钟请求数,或账户余额用尽。

等待限流窗口结束、充值账户余额,或改用更便宜的模型。OpenRouter 用户可以通过充值提升免费额度上限。

验证: 到服务商后台(余额与用量页面)查看被拒绝的请求。

网络错误 / 连接失败

排障指南

本机无法访问服务商端点,或代理拦截并改写了请求。

检查到 Base URL 的 DNS 与连通性,检查代理与防火墙设置后重试。请使用本页给出的端点;第三方镜像不受支持。

验证: 运行 `curl -I <base url>`(例如 `curl -I https://api.deepseek.com/anthropic`),确认可以访问。

超时 / 请求超时

排障指南

模型响应慢、提示词过长,或与服务商所在地区的网络受限。

重试请求、缩短提示词,或改用更快的模型。区域性的网络问题可能需要更换网络或选择节点更近的服务商。

验证: 在网络空闲时重新运行验证命令,确认可以完成。

Provider 配置不生效

model_provider 与 model_providers 仅在用户级配置中生效。

将配置移动到 ~/.codex/config.toml(而不是项目内的 .codex/config.toml)。

验证: `codex exec "hi"` 的启动日志中应显示服务商名称。

常见问题

Codex 能用 deepseek-v4-pro 吗?

暂时不能。目前只有 deepseek-v4-flash 支持 Codex CLI;DeepSeek 预计 2026 年 8 月初提供 deepseek-v4-pro 支持。

为什么 /responses 返回 404?

404 通常意味着服务商只提供 /chat/completions,而 Codex 向 /responses 发送请求。DeepSeek 官方文档声明支持 Responses 协议,所以请先检查 Base URL 是否正确,然后可以尝试删除 wire_api 行。

把 API Key 写进 config.toml 安全吗?

不安全。请始终使用 env_key 加导出的环境变量(生成的配置即如此)。密钥写进文件会通过 dotfiles 仓库和备份泄露。