Skip to content

Deepseek官网对话转API,多账号轮询,包含完整后台管理,支持纯vercel直接一键部署使用

License

Notifications You must be signed in to change notification settings

CJackHwang/ds2api

Repository files navigation

DS2API

License Stars Forks Version

将 DeepSeek 免费对话版转换为 OpenAI & Claude 兼容 API,支持多账号轮询、自动 Token 刷新、可视化管理界面。

✨ 特性

  • 🔄 双协议兼容 - 同时支持 OpenAI 和 Claude (Anthropic) API 格式
  • 🚀 多账号轮询 - Round-Robin 负载均衡,支持高并发场景
  • 🔐 Token 自动刷新 - 过期自动重新登录,无需手动维护
  • 🌐 WebUI 管理 - 可视化添加账号、测试 API、同步 Vercel 配置
  • 🔍 联网搜索 - 支持 DeepSeek 原生搜索增强模式
  • 🧠 深度思考 - 支持推理模式,输出思考过程
  • 🛠️ 工具调用 - 兼容 OpenAI Function Calling 格式
  • ☁️ Vercel 一键部署 - 无需服务器,快速上线

📋 模型支持

OpenAI 兼容接口 (/v1/chat/completions)

模型 深度思考 联网搜索 说明
deepseek-chat 标准对话模式
deepseek-reasoner 推理模式(输出思考过程)
deepseek-chat-search 联网搜索模式
deepseek-reasoner-search 推理 + 联网搜索

Claude 兼容接口 (/anthropic/v1/messages)

模型 说明
claude-sonnet-4-20250514 映射到 deepseek-chat(标准模式)
claude-sonnet-4-20250514-fast 映射到 deepseek-chat(快速模式)
claude-sonnet-4-20250514-slow 映射到 deepseek-reasoner(推理模式)

提示:Claude 接口实际调用的是 DeepSeek,响应格式会自动转换为 Anthropic 标准格式。

🚀 快速开始

方式一:Vercel 部署(推荐)

Deploy with Vercel

  1. 点击上方按钮,设置管理密码 DS2API_ADMIN_KEY
  2. 部署完成后访问 /admin 管理界面
  3. 添加 DeepSeek 账号和自定义 API Key
  4. 点击「同步到 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) 可选

配置文件格式 (config.json)

{
  "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 文档请参阅 API.md

快速示例

获取模型列表

curl http://localhost:5001/v1/models

OpenAI 格式调用

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": "你好"}]
  }'

Python SDK 使用

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="")

🔧 部署配置

Nginx 反向代理

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 部署(可选)

# 使用环境变量配置
docker run -d \
  -p 5001:5001 \
  -e DS2API_ADMIN_KEY=your-admin-key \
  -e DS2API_CONFIG_JSON='{"keys":["api-key"],"accounts":[...]}' \
  ds2api

⚠️ 免责声明

本项目基于逆向工程实现,服务稳定性无法保证。

  • 仅供学习研究使用,禁止商业用途或对外提供服务
  • 建议正式项目使用 DeepSeek 官方 API
  • 使用本项目产生的任何风险由用户自行承担

📜 鸣谢

本项目基于以下开源项目:

📊 Star History

Star History Chart

About

Deepseek官网对话转API,多账号轮询,包含完整后台管理,支持纯vercel直接一键部署使用

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •