Codex.app 是 OpenAI 出品的 AI 编程助手,对标 Cursor / Claude Code。选它的理由很简单:

一句话:Cursor 的体验 + Claude Code 的可配置性 + 开放的模型接入能力。
DeepSeek 不直接兼容 OpenAI Responses API。Moon Bridge 在本地起一个代理,自动做协议翻译:
|
1 |
Codex.app → 127.0.0.1:38440 → Moon Bridge → api.deepseek.com → DeepSeek |
先装三个东西:
|
1 2 3 4 5 6 7 8 |
# 1. Go 1.25+ brew install go
# 2. Node.js 18+(通常已有) node --version
# 3. Codex CLI(配置链路要用) npm install -g @openai/codex |
|
1 2 3 4 |
git clone https://github.com/ZhiYi-R/moon-bridge.git cd moon-bridge git reset --hard 4dd578afb25a5389c3f658390ac49a6190efcf52 go build -o /usr/local/bin/moonbridge ./cmd/moonbridge |
在 moon-bridge/ 目录下创建 config.yml,只改 api_key:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
mode: "Transform"
server: addr: "127.0.0.1:38440"
models: deepseek-chat: context_window: 128000 max_output_tokens: 8192
providers: deepseek: base_url: "https://api.deepseek.com/anthropic" api_key: "sk-你的DeepSeek-API-Key" # ← 改成你的 key offers: - model: deepseek-chat
routes: moonbridge: model: deepseek-chat provider: deepseek |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 启动 Moon Bridge(后台运行) moonbridge --config config.yml & # 等 2 秒确认它已启动 sleep 2
# 生成 Codex 配置 moonbridge --config config.yml \ --print-codex-config moonbridge \ --codex-base-url "http://127.0.0.1:38440/v1" \ --codex-home "$HOME/.codex" \ > "$HOME/.codex/config.toml"
# 验证 curl -s http://127.0.0.1:38440/v1/models |
看到返回 "moonbridge" 就说明链通了。
配置写入 ~/.codex/config.toml 后,Codex.app 启动时自动读取,不需要额外操作。
终端验证:
|
1 2 3 |
cd /任意项目目录 CODEX_HOME="$HOME/.codex" codex --cd "$PWD" # 问一句 "你好,介绍一下你自己" 确认模型正常响应 |
每次开机后,先启动 Moon Bridge:
|
1 |
moonbridge --config /你的路径/moon-bridge/config.yml & |
然后正常打开 Codex.app 即可。
想开机自启的话,把这行加到 ~/.zshrc 或者用 launchctl 做个守护进程。
| 现象 | 检查 |
|---|---|
| connection refused | moonbridge 进程没启动,或者端口不是 38440 |
| 401 | config.yml 里的 api_key 不对 |
| Codex 里看不到模型 | ~/.codex/config.toml 没有正确生成,重跑第三步 |
| 重启 Mac 后 moonbridge 找不到 | 二进制在 /tmp 里被清了,用 go build -o /usr/local/bin/moonbridge |