Codex CLI 是 OpenAI 出品的终端编码 agent。2026 年 2 月起,Codex 只支持 OpenAI Responses API(/v1/responses),不再兼容 Chat Completions(/v1/chat/completions)。DeepSeek 官方 API 只提供 Chat Completions 接口,两者协议不互通。

需要一个协议转换层。

方案对比 链接到标题

方案 原理 评价
Chutes 云端 Responses→Chat 翻译 依赖第三方云服务
LiteLLM 全能 AI 网关 功能太多,对 Codex 场景大材小用
open-codex fork 用 Chat API 重写 已停更
Moon Bridge 本地 Go 代理,协议转换 + 路由 DeepSeek 官方推荐,轻量专注

Moon Bridge 是 Go 写的协议转换代理,对外暴露 POST /v1/responses,对内将请求转为 Anthropic Messages API 格式发给 DeepSeek(DeepSeek 兼容 Anthropic 协议)。支持多 Provider 路由、请求跟踪、Web Console 管理。

部署 链接到标题

Docker 方式 链接到标题

git clone https://github.com/ZhiYi-R/moon-bridge.git
cd moon-bridge

创建 config.yml

mode: "Transform"

server:
  addr: "0.0.0.0:38440"

defaults:
  model: "moonbridge"
  max_tokens: 65536

models:
  deepseek-v4-pro:
    extensions:
      deepseek_v4:
        enabled: true
  deepseek-v4-flash:
    extensions:
      deepseek_v4:
        enabled: true

providers:
  deepseek:
    protocol: "anthropic"
    base_url: "https://api.deepseek.com/anthropic"
    api_key: "***"
    version: "2023-06-01"
    offers:
      - model: deepseek-v4-pro
      - model: deepseek-v4-flash

routes:
  moonbridge:
    model: deepseek-v4-pro
    provider: deepseek

启动:

docker compose up -d

验证:

curl http://127.0.0.1:38440/v1/models

返回模型列表即成功。

非 Docker 方式 链接到标题

安装 Go 1.25+ 后编译:

go build -o /usr/local/bin/moonbridge ./cmd/moonbridge
moonbridge

Codex 配置 链接到标题

~/.codex/config.toml

model = "moonbridge"
model_provider = "moonbridge"
sandbox_mode = "workspace-write"

[model_providers.moonbridge]
name = "Moon Bridge"
base_url = "http://内网服务器:38440/v1"
wire_api = "responses"

[profiles.deepseek-flash]
model = "deepseek/deepseek-v4-flash"
model_provider = "moonbridge"

踩坑 链接到标题

1. 主机名 vs IP 地址 链接到标题

如果本地开了系统级 HTTP 代理(如 Clash),Codex 的 HTTP 客户端走代理时可能无法正确绕过内网主机名。即使代理的白名单配了主机名,请求仍可能被代理拦截返回 502。

解决base_url 用内网 IP 代替主机名,让系统代理的 IP 段绕过规则生效。

2. Model metadata 警告 链接到标题

Codex 启动时会提示:

Model metadata for `moonbridge` not found. Defaulting to fallback metadata

这是 Cosmetics 级别的警告,不影响任何功能。Codex 对模型元数据 JSON 的字段要求严格且随版本变化,社区方案(Moon Bridge 的 -print-codex-config 或手动编写 model_catalog_json)维护成本高。忽略即可。

使用 链接到标题

# 交互式
codex

# 一次性
codex "重构这个函数"
codex -p deepseek-flash "快速修个bug"

# 非交互
codex exec "写测试" --sandbox read-only

支持 deepseek-v4-pro(强推理)和 deepseek-v4-flash(快速响应)两个模型,通过 -p/model 切换。

总结 链接到标题

Moon Bridge 是目前 Codex CLI + DeepSeek 最成熟的方案:Go 单二进制部署,协议转换稳定,有 Web Console 和管理 API。已知的小问题不影响正常使用,社区在持续修复。