通过Moon Bridge实现Codex接入DeepSeekV4 (Windows)

1. 环境准备

工具 必需 说明
Go 版本 ≥ 1.20(推荐最新)
Git 用于克隆仓库
Codex CLI 需提前安装并可用 codex 命令
文本编辑器 创建配置文件

2. 配置 Go 模块代理(解决国内网络超时)

go env -w GO111MODULE=on
go env -w GOPROXY= https://goproxy.cn ,direct

验证:

go env GOPROXY
# 输出应为: https://goproxy.cn ,direct

3. 获取 DeepSeek API Key

访问 DeepSeek 开放平台,创建并复制 API Key。


4. 克隆 Moon Bridge 并创建 config.yml

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

新建 config.yml,填入以下内容(务必替换 api_key):

mode: "Transform"

server:
  addr: "127.0.0.1:38440"

models:
  deepseek-v4-pro:
    context_window: 1000000
    max_output_tokens: 384000
    default_reasoning_level: "high"
    supported_reasoning_levels:
      - effort: "high"
        description: "High reasoning effort"
      - effort: "xhigh"
        description: "Extra high reasoning effort"
    supports_reasoning_summaries: true
    default_reasoning_summary: "auto"
    extensions:
      deepseek_v4:
        enabled: true
  deepseek-v4-flash:
    context_window: 1000000
    max_output_tokens: 384000
    default_reasoning_level: "high"
    supported_reasoning_levels:
      - effort: "high"
        description: "High reasoning effort"
      - effort: "xhigh"
        description: "Extra high reasoning effort"
    supports_reasoning_summaries: true
    default_reasoning_summary: "auto"
    extensions:
      deepseek_v4:
        enabled: true

providers:
  deepseek:
    base_url: "https://api.deepseek.com/anthropic"
    api_key: "sk-your-deepseek-api-key"   # 修改为真实 API Key
    offers:
      - model: deepseek-v4-pro
      - model: deepseek-v4-flash

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

defaults:
  model: moonbridge
  max_tokens: 65536

5. 编译并启动 Moon Bridge(后台常驻)

go run ./cmd/moonbridge --config config.yml

看到 listening on 127.0.0.1:38440 表示启动成功。保持此终端运行,不要关闭。


6. 生成 Codex 配置文件

另开一个 PowerShell 窗口,仍在 moon-bridge 目录下执行:

$CODEX_HOME_DIR = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { "$env:USERPROFILE\.codex" }
New-Item -ItemType Directory -Force -Path $CODEX_HOME_DIR | Out-Null

# 备份旧配置(如存在)
if (Test-Path "$CODEX_HOME_DIR\config.toml") {
    Copy-Item "$CODEX_HOME_DIR\config.toml" "$CODEX_HOME_DIR\config.toml.bak" -Force
}

$MODEL = go run ./cmd/moonbridge --config config.yml --print-codex-model

go run ./cmd/moonbridge `
  --config config.yml `
  --print-codex-config "$MODEL" `
  --codex-base-url "http://127.0.0.1:38440/v1" `
  --codex-home "$CODEX_HOME_DIR" `
  | Set-Content -Path "$CODEX_HOME_DIR\config.toml"

执行后会在 ~\.codex 下生成 config.tomlmodels_catalog.json


7. 启动 Codex

进入你的项目目录,然后直接运行:

cd C:\path\to\my-project
codex

此时 Codex 会将请求发送给 Moon Bridge,再由 Moon Bridge 路由到 DeepSeek V4。
Codex App 也可以直接使用同一份生成的配置(自动读取 CODEX_HOME 目录下的文件)。


8. 一键启动脚本(可选)

Moon Bridge 提供了辅助脚本,可一键完成 Moon Bridge 启动、Codex 配置生成及 Codex 启动:

.\scripts\start_codex_with_moonbridge.ps1 -ProjectDirectory C:\path\to\my-project

该脚本会替代步骤 5~7 的手动操作。


9. 验证与测试

查看可用模型

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

(若 curl 不是别名,可直接用 curl;否则使用 curl.exe

发送简单对话请求

curl.exe http://127.0.0.1:38440/v1/responses `
  -H "Content-Type: application/json" `
  -d '{ "model": "moonbridge", "input": "请用一句话打个招呼。", "max_output_tokens": 1024 }'

验证推理档位

curl.exe http://127.0.0.1:38440/v1/responses `
  -H "Content-Type: application/json" `
  -d '{ "model": "moonbridge", "input": "用一句话说明 Moon Bridge 的作用。", "reasoning": {"effort": "high"}, "max_output_tokens": 1024 }'

当 Codex 发出请求后,Moon Bridge 终端应出现 POST /v1/responses 日志。


10. 常见问题

现象 解决方法
dial tcp ... connectex 下载失败 确认已配置 GOPROXY(步骤2),重启终端重试。
gcc: command not found 本项目使用纯 Go SQLite,通常无需 gcc;若出现可安装 MinGW-w64 并将 bin 加入 PATH。
connection refused Moon Bridge 未启动,或 config.ymlserver.addr 端口不正确。检查终端是否仍在运行。
Codex 看不到模型 重新执行步骤 6 生成 models_catalog.json;确认 Codex 读取的 CODEX_HOME 目录正确。
配置加载失败,提示 field provider not found 你使用的是旧版 provider.providers 格式。当前格式应为顶层 providersmodelsroutesdefaults(按本手册配置即可)。
401 认证失败 检查 config.yml 中的 api_key 是否正确,是否已正确复制 DeepSeek API Key。
402 余额错误 DeepSeek 开放平台账户余额不足,请充值。
图片输入失败 如果启用了 Visual 扩展,需要额外配置视觉 Provider(如 Kimi)的 API Key。可配置该 Provider,或在扩展中移除 visual.enabled: true 禁用 Visual。
go run 提示找不到 ./cmd/moonbridge 当前目录必须在仓库根目录(包含 cmd 文件夹)。

按照以上流程实测OK
参考资料
https://cloud.tencent.com/developer/article/2671457
https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/docs/codex.zh-CN.md

个人分享,如有侵权,联系删除

posted @ 2026-06-04 13:35  不学则殆  阅读(467)  评论(0)    收藏  举报