为 DeepSeek 补齐视觉理解、联网搜索与 Anthropic / OpenAI 兼容接口的代理服务。
DeepSeek 官方 API 是纯文本模型,这会极大限制 Agent 的能力以及用户的对话体验,尤其是在 Claude Code 等场景使用时还需要额外的联网搜索和抓取能力,本项目也一并补齐。
本项目是 Proma 的旁支开源项目。Proma 是最丝滑的通用开源 Agent,对 DeepSeek v4 系列的适配最为完整,已在云端服务中补齐了包括视觉、联网搜索在内的全部缺失能力,欢迎直接使用。本仓库提供可自部署的代理版本,让你用同一个 DeepSeek API Key 接入任何 AI 工具。
启动后访问 http://localhost:8000,在配置器页面填写 API Key,点击「应用并重启」即可。
# Docker
docker build -t deepseek-vision .
docker run -p 8000:8000 deepseek-visioncp .env.example .env
# 编辑 .env,至少填写:ADMIN_PASSWORD、MASTER_API_KEY、DEEPSEEK_API_KEY# Docker
docker run --env-file .env -p 8000:8000 deepseek-vision
# 本地(uv)
uv sync && uv run python main.py
# 本地(pip)
pip install . && python main.py| 登录页 | 配置器 |
![]() |
![]() |
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/v1/messages |
Anthropic Messages API |
POST |
/v1/messages/count_tokens |
Token 计数 |
POST |
/v1/chat/completions |
OpenAI Chat Completions API |
GET |
/v1/models |
查询可用模型 |
GET |
/health |
存活检查 |
GET |
/ |
配置器 UI |
所有 API 端点需要通过 x-api-key 请求头(Anthropic 风格)或 Authorization: Bearer <key>(OpenAI 风格)传入 MASTER_API_KEY。
客户端(Anthropic SDK / OpenAI SDK / LangChain / Cline)
│
├─ POST /v1/chat/completions ──► OpenAI → Anthropic 格式转换
│ │
└─ POST /v1/messages ──────────────────────►┤
│
视觉中间件
图片块 → 调用视觉模型 → 文字描述
│
web_search / web_fetch 中间件
Anthropic 工具协议 → Tavily/Brave
→ 结果注入上下文
│
DeepSeek 上游
(Anthropic Messages API)
│
响应 → 返回给客户端
默认使用阿里云 Qwen(qwen3.6-flash),只需填写 VISION_API_KEY 即可启用:
VISION_API_KEY=sk-your-dashscope-key每个请求里的 image 内容块会被替换为 [Image N] <描述文字> 的文本块,多张图片并行处理。
也可以替换为其他 OpenAI 兼容的视觉模型:
VISION_BASE_URL=https://api.openai.com/v1
VISION_API_KEY=sk-...
VISION_MODEL=gpt-4o-mini支持的视觉后端(任何具有 OpenAI 兼容接口的服务):
- 阿里云 DashScope(
qwen3.6-flash、qwen-vl-max等) - OpenAI(
gpt-4o、gpt-4o-mini) - GLM-4V、InternVL、LLaVA(通过 vLLM 自部署)
在请求中使用 Anthropic 工具协议添加 web_search 或 web_fetch 工具。代理会拦截工具调用、执行搜索/抓取,并将结果注回上下文——DeepSeek 本身仍只做文本生成。
两轮架构:第一轮让模型规划所有查询(并行执行),第二轮基于搜索结果生成最终答案。结果自动附加 [N] 引用标注。
配置 Tavily(推荐)或 Brave:
TAVILY_API_KEY=tvly-...
# 或
WEB_SEARCH_PROVIDER=brave
BRAVE_API_KEY=BSA-...带 SSRF 防护和 DNS pinning 的 URL 抓取。支持 HTML、纯文本和 PDF。结果自动附加 [Document N] 引用标注。无需额外配置。
默认暴露 deepseek-v4-pro 和 deepseek-v4-flash,可通过 DEEPSEEK_MODELS 自定义:
# 直接使用上游 ID
DEEPSEEK_MODELS=deepseek-v4-pro,deepseek-v4-flash
# 使用别名(client-id:upstream-id)
DEEPSEEK_MODELS=pro:deepseek-v4-pro,flash:deepseek-v4-flash通过 EXTRA_BACKEND_* 添加第二个 Anthropic 兼容上游:
EXTRA_BACKEND_NAME=my-provider
EXTRA_BACKEND_BASE_URL=https://api.example.com/anthropic
EXTRA_BACKEND_API_KEY=sk-...
EXTRA_BACKEND_MODELS=model-a,model-b| 变量 | 默认值 | 说明 |
|---|---|---|
ADMIN_PASSWORD |
123456 |
配置器登录密码,请修改 |
MASTER_API_KEY |
必填 | 客户端访问代理所用的 Key,逗号分隔支持多个 |
DEEPSEEK_API_KEY |
必填 | DeepSeek API Key |
DEEPSEEK_BASE_URL |
https://api.deepseek.com/anthropic |
DeepSeek 上游地址 |
DEEPSEEK_MODELS |
deepseek-v4-pro,deepseek-v4-flash |
暴露给客户端的模型列表 |
VISION_BASE_URL |
https://dashscope.aliyuncs.com/compatible-mode/v1 |
视觉模型接口地址 |
VISION_API_KEY |
— | 视觉模型 API Key(留空则禁用视觉补齐) |
VISION_MODEL |
qwen3.6-flash |
视觉模型名称 |
VISION_MAX_IMAGES |
5 |
单次请求最多处理的图片数量 |
WEB_SEARCH_PROVIDER |
tavily |
搜索服务商(tavily 或 brave) |
TAVILY_API_KEY |
— | Tavily API Key |
BRAVE_API_KEY |
— | Brave Search API Key |
PORT |
8000 |
服务端口 |
LOG_LEVEL |
INFO |
日志级别 |
-
/v1/embeddings接口 - SearXNG 搜索支持(自部署)
- OpenAI 兼容模式下的流式工具调用
MIT

