将 DeepSeek 免费对话版转换为 OpenAI & Claude 兼容 API,支持多账号轮询、自动 Token 刷新、可视化管理界面。
- 🔄 双协议兼容 - 同时支持 OpenAI 和 Claude (Anthropic) API 格式
- 🚀 多账号轮询 - Round-Robin 负载均衡,支持高并发场景
- 🔐 Token 自动刷新 - 过期自动重新登录,无需手动维护
- 🌐 WebUI 管理 - 可视化添加账号、测试 API、同步 Vercel 配置
- 🔍 联网搜索 - 支持 DeepSeek 原生搜索增强模式
- 🧠 深度思考 - 支持推理模式,输出思考过程
- 🛠️ 工具调用 - 兼容 OpenAI Function Calling 格式
- ☁️ Vercel 一键部署 - 无需服务器,快速上线
| 模型 | 深度思考 | 联网搜索 | 说明 |
|---|---|---|---|
deepseek-chat |
❌ | ❌ | 标准对话模式 |
deepseek-reasoner |
✅ | ❌ | 推理模式(输出思考过程) |
deepseek-chat-search |
❌ | ✅ | 联网搜索模式 |
deepseek-reasoner-search |
✅ | ✅ | 推理 + 联网搜索 |
| 模型 | 说明 |
|---|---|
claude-sonnet-4-20250514 |
映射到 deepseek-chat(标准模式) |
claude-sonnet-4-20250514-fast |
映射到 deepseek-chat(快速模式) |
claude-sonnet-4-20250514-slow |
映射到 deepseek-reasoner(推理模式) |
提示:Claude 接口实际调用的是 DeepSeek,响应格式会自动转换为 Anthropic 标准格式。
- 点击上方按钮,设置管理密码
DS2API_ADMIN_KEY - 部署完成后访问
/admin管理界面 - 添加 DeepSeek 账号和自定义 API Key
- 点击「同步到 Vercel」保存配置
首次同步会自动验证账号并保存 Token,后续操作无需重复输入凭证。
# 1. 克隆仓库
git clone https://github.com/CJackHwang/ds2api.git
cd ds2api
# 2. 安装依赖
pip install -r requirements.txt
# 3. 配置账号
cp config.example.json config.json
# 编辑 config.json,添加 DeepSeek 账号信息
# 4. 启动服务
python dev.py服务启动后访问 http://localhost:5001
| 变量 | 说明 | 必填 |
|---|---|---|
DS2API_ADMIN_KEY |
管理面板密码 | Vercel 必填 |
DS2API_CONFIG_JSON |
配置 JSON 或 Base64 编码 | 可选 |
VERCEL_TOKEN |
Vercel API Token(用于同步) | 可选 |
VERCEL_PROJECT_ID |
Vercel 项目 ID | 可选 |
PORT |
服务端口(默认 5001) | 可选 |
{
"keys": ["your-api-key-1", "your-api-key-2"],
"accounts": [
{
"email": "user@example.com",
"password": "your-password",
"token": ""
},
{
"mobile": "12345678901",
"password": "your-password",
"token": ""
}
]
}说明:
keys: 自定义的 API 密钥,用于调用本服务accounts: DeepSeek 网页版账号,支持邮箱或手机号登录token: 留空即可,系统会自动获取并刷新
完整 API 文档请参阅 API.md
获取模型列表:
curl http://localhost:5001/v1/modelsOpenAI 格式调用:
curl http://localhost:5001/v1/chat/completions \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}'Claude 格式调用:
curl http://localhost:5001/anthropic/v1/messages \
-H "x-api-key: your-api-key" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="http://localhost:5001/v1"
)
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "请解释量子纠缠"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")location / {
proxy_pass http://localhost:5001;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 120;
}# 使用环境变量配置
docker run -d \
-p 5001:5001 \
-e DS2API_ADMIN_KEY=your-admin-key \
-e DS2API_CONFIG_JSON='{"keys":["api-key"],"accounts":[...]}' \
ds2api本项目基于逆向工程实现,服务稳定性无法保证。
- 仅供学习研究使用,禁止商业用途或对外提供服务
- 建议正式项目使用 DeepSeek 官方 API
- 使用本项目产生的任何风险由用户自行承担
本项目基于以下开源项目: