CJackHwang /ds2api
DeepSeek-Compatible Middleware Interface: A technical exploration project in Go, focusing on high-concurrency protocol adaptation. It serves as a reference implementation for converting diverse web protocols into standardized formats.
★ 4,720⑂ 1,633👁 18▤ 61
4,720
stars
+0+-1+-16
1,633
forks
18
watchers
–
prs
–
issues
61
releases
–
discussions
README
DS2API
!Stars
!Forks
语言 / Language: 中文 | English
将 DeepSeek Web 对话能力转换为 OpenAI、Claude 与 Gemini 兼容 API。核心后端以 Go 实现,Vercel 流式桥接额外使用少量 Node Runtime,前端为 React WebUI 管理台(源码在 webui/,部署时自动构建到 static/admin)。
文档入口:文档导航 / 架构说明 / 接口文档
【感谢Linux.do社区及GitHub社区各位开发者对项目的支持与贡献】
Star History
重要免责声明
本仓库仅供学习、研究、个人实验和内部验证使用,不提供任何形式的商业授权、适用性保证或结果保证。
作者及仓库维护者不对因使用、修改、分发、部署或依赖本项目而产生的任何直接或间接损失、账号封禁、数据丢失、法律风险或第三方索赔负责。
请勿将本项目用于违反服务条款、协议、法律法规或平台规则的场景。商业使用前请自行确认 LICENSE、相关协议以及你是否获得了作者的书面许可。
目录
- 架构概览(摘要)
- 核心能力
- 平台兼容矩阵
- 模型支持
- OpenAI 接口
- Claude 接口
- Gemini 接口
- 快速开始
- 方式一:下载 Release 构建包
- 方式二:Docker 运行
- 方式三:Vercel 部署
- 方式四:本地源码运行
- 配置说明
- 鉴权模式
- 并发模型
- Tool Call 适配
- 本地开发抓包工具
- 文档索引
- 测试
- Release 自动构建(GitHub Actions)
- 免责声明
架构概览(摘要)
mermaid
flowchart LR
Client["🖥️ 客户端 / SDK\n(OpenAI / Claude / Gemini)"]
Upstream["☁️ DeepSeek API"]
subgraph DS2API["DS2API 4.x(模块化 HTTP surface + PromptCompat 内核)"]
Router["chi Router + 中间件\n(RequestID / RealIP / Logger / Recoverer / CORS)"]
subgraph HTTP["HTTP API surface"]
OA["OpenAI\nchat / responses / files / embeddings"]
CA["Claude\n/anthropic/ + /v1/messages"]
GA["Gemini\n/v1beta/models/ + /v1/models/"]
Admin["Admin API\n资源子包"]
WebUI["WebUI\n/admin(静态托管)"]
Vercel["Vercel Node Stream\n/v1/chat/completions"]
end
subgraph Runtime["运行时核心能力"]
Compat["PromptCompat\n(API - 网页纯文本上下文)"]
Completion["Completion Runtime\n(Session / PoW / Completion)"]
Turn["AssistantTurn\n(输出语义归一)"]
Auth["Auth Resolver\n(API key / bearer / x-goog-api-key)"]
Pool["Account Pool + Queue\n(并发槽位 + 等待队列)"]
DSClient["DeepSeek Client\n(Session / Auth / Completion / Files)"]
Pow["PoW 实现\n(纯 Go)"]
Tool["Tool Sieve\n(Go/Node 语义对齐)"]
History["Current Input File\n(DS2API_HISTORY.txt)"]
end
end
Client -- Router
Router -- OA & CA & GA
Router -- Admin
Router -- WebUI
Router -- Vercel
OA -- Compat
CA & GA -- Compat
Compat -- Completion
Completion -.完整上下文.- History
Completion -- Turn
Vercel -.Go prepare.- Completion
Vercel -.Node SSE.- Tool
Completion -- Auth
Completion -.账号轮询.- Pool
Completion -.工具调用解析.- Tool
Completion -.PoW 计算.- Pow
Auth -- DSClient
DSClient -- Upstream
Upstream -- DSClient
Turn -- Client
Vercel -- Client
详细架构拆分与目录职责见 docs/ARCHITECTURE.md。
- 后端:Go(cmd/ds2api/、api/、internal/),不依赖 Python 运行时
- 前端:React 管理台(webui/),运行时托管静态构建产物
- 部署:本地运行、Docker、Vercel Serverless、Linux systemd
核心能力
| 能力 | 说明 |
| --- | --- |
| OpenAI 兼容 | GET /v1/models、GET /v1/models/{id}、POST /v1/chat/completions、POST /v1/responses、GET /v1/responses/{response_id}、POST /v1/embeddings、POST /v1/files、GET /v1/files/{file_id} |
| Claude 兼容 | GET /anthropic/v1/models、POST /anthropic/v1/messages、POST /anthropic/v1/messa