# DS2API [![License](https://img.shields.io/github/license/CJackHwang/ds2api.svg)](LICENSE) ![Stars](https://img.shields.io/github/stars/CJackHwang/ds2api.svg) ![Forks](https://img.shields.io/github/forks/CJackHwang/ds2api.svg) 将 DeepSeek 网页版转换为 OpenAI 兼容 API,支持多账号轮询、自动 Token 刷新、可视化管理界面。 ## ✨ 特性 - 🚀 **OpenAI 兼容** - 完全兼容 OpenAI API 格式,无缝接入现有应用 - 🔄 **多账号轮询** - Round-Robin 负载均衡,支持高并发 - 🔐 **Token 自动刷新** - 过期自动重新登录,无需手动维护 - 🌐 **WebUI 管理** - 可视化添加账号、测试 API、同步 Vercel - 🔍 **联网搜索** - 支持 DeepSeek 搜索增强模式 - 🧠 **深度思考** - 支持 R1 推理模式 - ☁️ **Vercel 部署** - 一键部署,无需服务器 ## 📋 模型支持 | 模型 | 说明 | |-----|------| | `deepseek-chat` | DeepSeek V3.2 非推理模式 | | `deepseek-reasoner` | DeepSeek V3.2 推理模式(深度思考) | | `deepseek-chat-search` | 非推理 + 联网搜索 | | `deepseek-reasoner-search` | 推理 + 联网搜索 | ## 🚀 快速开始 ### Vercel 部署(推荐) [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/CJackHwang/ds2api) 1. 点击上方按钮部署 2. 设置环境变量 `DS2API_ADMIN_KEY`(管理密码,**必填**) 3. 部署完成后访问 `/webui` 管理界面 4. 添加 DeepSeek 账号和 API Key 5. 点击「同步到 Vercel」完成配置 > **首次同步会自动验证账号、保存 Token 和 Vercel 凭证,后续操作无需再输入。** ### 本地运行 ```bash # 克隆仓库 git clone https://github.com/CJackHwang/ds2api.git cd ds2api # 安装依赖 pip install -r requirements.txt # 配置 cp config.example.json config.json # 编辑 config.json 添加账号 # 运行 python dev.py ``` ## ⚙️ 配置说明 ### 环境变量 | 变量 | 说明 | 是否必填 | |-----|------|---------| | `DS2API_ADMIN_KEY` | WebUI 管理密码 | Vercel 必填 | | `DS2API_CONFIG_JSON` | 配置 JSON(支持 Base64) | 可选 | | `VERCEL_TOKEN` | Vercel API Token(用于快捷同步) | 可选 | | `VERCEL_PROJECT_ID` | Vercel 项目 ID | 可选 | ### 配置文件格式 ```json { "keys": ["your-api-key"], "accounts": [ { "email": "your@email.com", "password": "your-password", "token": "" } ] } ``` ## 📡 API 接口 ### 模型列表 ``` GET /v1/models ``` ### 对话补全 ``` POST /v1/chat/completions Authorization: Bearer your-api-key ``` 请求示例: ```json { "model": "deepseek-chat", "messages": [{"role": "user", "content": "你好"}], "stream": true } ``` ### 管理接口 | 接口 | 说明 | |-----|------| | `GET /webui` | 管理界面 | | `GET /admin/config` | 获取配置 | | `POST /admin/accounts/test` | 测试单个账号 | | `POST /admin/accounts/test-all` | 批量测试账号 | | `POST /admin/vercel/sync` | 同步到 Vercel | ## 🔧 Nginx 反代配置 ```nginx location / { proxy_pass http://localhost:5001; proxy_buffering off; chunked_transfer_encoding on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 120; } ``` ## ⚠️ 免责声明 **逆向 API 不稳定,建议前往 [DeepSeek 官方](https://platform.deepseek.com/) 付费使用 API。** **本项目仅供学习交流,禁止商用或对外提供服务,风险自担!** ## 📜 鸣谢 本项目基于以下开源项目并进行了大量修改: - [iidamie/deepseek2api](https://github.com/iidamie/deepseek2api) - 二开版本 - [LLM-Red-Team/deepseek-free-api](https://github.com/LLM-Red-Team/deepseek-free-api) - 早期原始项目 ## 📊 Star History [![Star History Chart](https://api.star-history.com/svg?repos=CJackHwang/ds2api&type=Date)](https://star-history.com/#CJackHwang/ds2api&Date)