alitrack

给 DeepSeek V4 装上「眼睛」:Moon Bridge 一桥接三端

给 DeepSeek V4 装上「眼睛」:Moon Bridge 一桥接三端

Go 写的高性能协议网关,一个端口同时接 Codex、Claude Code、Chat 客户端。视觉扩展纯配置启用,三端点原生支持。

Codex CLI 好用,但它默认绑定 OpenAI 的模型定价——重度用户一个月烧几百美元。
DeepSeek V4 Pro 编程场景完全不输 GPT-5,价格是后者的零头。问题在于:Codex 说 Responses API,Claude Code 说 Messages API,普通 Chat 客户端说 Completions API——DeepSeek 不提供这三种完全一样的端点。
不过 DeepSeek 有个宝藏:Anthropic 兼容接口(/anthropic)。这条路 Prompt Caching 命中率 99%、thinking mode 原生暴露、工具调用不出错。Moon Bridge 做的事就是把三种客户端协议统一转换到 DeepSeek 的 Anthropic 端点。
实测,三个端点全通:

端点客户端结果
/v1/messagesClaude Code✅
/v1/responsesCodex CLI✅
/v1/chat/completionsOpenAI Chat 客户端✅

一个 go run,三个协议入口全部就绪。

架构

1Claude Code ────→ POST /v1/messages ─────────┐
2                                              │
3Codex CLI ──────→ POST /v1/responses ────────┤
4                                              │
5Chat 客户端 ────→ POST /v1/chat/completions ──┤
6                                              │
7                         Moon Bridge ←────────┘
8                             │
9                  CoreRequest(统一中间表示)
10                             │
11                  插件管道(视觉 / 缓存 / 防循环)
12                             │
13                  DeepSeek API(Anthropic 协议)

三个入口各自有独立的 handler,但最终汇聚到同一个 dispatchCoreRequest 管道——一份协议转换逻辑,三端共享。不是 adapter 套壳,是原生支持。

部署

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

config.yml:

1mode: "Transform"
2
3server:
4  addr: "127.0.0.1:38440"
5
6cache:
7  prompt_caching: true
8
9models:
10  deepseek-v4-pro:
11    context_window: 128000
12    max_output_tokens: 65536
13    default_reasoning_level: "xhigh"
14    input_modalities: ["text", "image"]
15  deepseek-v4-flash:
16    context_window: 128000
17    max_output_tokens: 65536
18    default_reasoning_level: "high"
19    input_modalities: ["text", "image"]
20
21providers:
22  deepseek:
23    base_url: "https://api.deepseek.com/anthropic"
24    api_key: "sk-你的Key"
25    version: "2023-06-01"
26    offers:
27      - model: deepseek-v4-pro
28      - model: deepseek-v4-flash
29
30routes:
31  "gpt-5.4":
32    model: deepseek-v4-pro
33    provider: deepseek
34  "gpt-5.1-codex":
35    model: deepseek-v4-flash
36    provider: deepseek
37
38defaults:
39  model: "deepseek-v4-flash"
40  max_tokens: 65536
1go run ./cmd/moonbridge
2# Transform server listening on 127.0.0.1:38440

接入客户端

Claude Code——只改一行

现有的 DeepSeek 直连配置:

1export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
2export ANTHROPIC_AUTH_TOKEN=sk-xxx
3export ANTHROPIC_MODEL=deepseek-v4-pro
4export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro
5export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash

对接 Moon Bridge,只改一行:

1export ANTHROPIC_BASE_URL=http://127.0.0.1:38440/v1
2export ANTHROPIC_AUTH_TOKEN=sk-any

其他环境变量完全不动。模型名、thinking level 全部保持原样。不需要经过 cc-switch 中转,Claude Code 直连 Moon Bridge。

Codex CLI

1# ~/.codex/config.toml
2[model_providers.custom]
3name = "custom"
4wire_api = "responses"
5requires_openai_auth = false
6base_url = "http://127.0.0.1:38440/v1"

模型名用 gpt-5.4(路由到 Pro)或 gpt-5.1-codex(路由到 Flash)。

OpenAI Chat 客户端

1curl http://127.0.0.1:38440/v1/chat/completions \
2  -H "Content-Type: application/json" \
3  -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"hello"}]}'

任何走 OpenAI Chat Completions 协议的客户端(LangChain、OpenAI SDK、Copilot CLI 的 Chat 模式)都可以直接对接。模型名同样通过 routes 映射。

给 DeepSeek 装上「眼睛」

DeepSeek V4 API 不支持图片。Moon Bridge 的解法:让 DeepSeek 调用一个看图工具。

1发图 → Moon Bridge 拦截 → 注入 visual_brief 工具
2→ DeepSeek 调用工具 → 图片转发 Qwen VL(魔搭免费)
3→ 分析结果返回 → DeepSeek 基于结果回复

纯配置,零代码。

1providers:
2  qwen-vision:
3    base_url: "https://api-inference.modelscope.cn/v1"
4    api_key: "ms-你的Token"
5    protocol: "openai-chat"
6    offers:
7      - model: Qwen/Qwen3-VL-8B-Instruct
8        overrides:
9          input_modalities: ["text", "image"]
10
11extensions:
12  visual:
13    enabled: true
14    config:
15      provider: qwen-vision
16      model: Qwen/Qwen3-VL-8B-Instruct
17      max_rounds: 4
18      max_tokens: 1024

重启即用。Qwen3-VL-8B 魔搭免费 2000 次/天。三端(Codex、Claude Code、Chat)的图片请求都能走这个视觉管道。

成本

场景GPT-5.4DeepSeek V4 ProDeepSeek V4 Flash
日常~$15/天~$2/天~$0.2/天
重度~$75/天~$10/天~$1/天

配合 Prompt Caching(cache.prompt_caching: true),输入成本再降 90%。

总结

  • 一桥三端:Messages / Responses / Chat Completions 三个入口全部原生支持
  • Go 单二进制,零依赖,go run 即用
  • 官方 API,不依赖网页反向工程
  • 视觉扩展:纯配置 + 魔搭免费模型,三端共享
  • 推理链透传:thinking mode 完整保留,不走 Chat 协议的 reasoning_content 映射
  • 5 分钟配好,每月省几百刀

moon-bridge — MIT 协议,Go 1.25+。