Claude Code 用的视觉中间件:除图片请求外,所有 Anthropic 请求都透明透传到 DeepSeek Anthropic API。只有 POST /v1/messages 里出现 image block 时,网关才会先调用本地 VLM,再把视觉上下文注入后转发。

flowchart LR
C[Claude Code] --> G[本地网关]
G -->|无图片请求原样透传| D[DeepSeek Anthropic]
G -->|有图片请求| V[本地 Ollama VLM]
V --> G
G --> D
D --> G
G --> C
选择Deepseek预设,填写API key,修改请求地址为配置地址(默认(https://localhost:8080 )即可>
复制模板:
cp config.example.yaml config.yaml示例:
server:
listen_addr: ":8080"
upstream:
base_url: "https://api.deepseek.com/anthropic"
vlm:
base_url: "http://localhost:11434"
api_key: "ollama"
model: "MiniCPM-v4.6"
vision:
max_context_chars: 2000环境变量:(可选)
GATEWAY_CONFIG
GATEWAY_LISTEN_ADDR
UPSTREAM_BASE_URL
VLM_BASE_URL
VLM_API_KEY
VLM_MODEL
VISION_MAX_CONTEXT_CHARS
go run ./cmd/gateway- 入站协议:Anthropic API
- 出站协议:DeepSeek Anthropic API
- 只拦截带图片的
POST /v1/messages GET /v1/models透明透传- 其余请求直接原样透传
- 图片源只支持 Anthropic
source.type=base64 - 上游认证来自每个请求的
Authorization或x-api-key - 不再使用配置里的上游 API key 兜底
- 本地 VLM 认证仍由
config.yaml或环境变量提供