DS2API

6个月前发布 290 00

DS2API 是一个基于 Go 语言全量实现的后端服务,配合 React 构建的管理后台,能够将 DeepSeek 的网页对话能力转换为标准的 OpenAI、Anthropic (Claude) 和 Google (Gemini) 兼容 API。

所在地:
中国
收录时间:
2026-04-29

DeepSeek 凭借其强大的推理能力和极具竞争力的价格(甚至免费额度)吸引了大量用户。然而,官方并未直接提供所有模型的高并发 API 服务,或者某些高级功能仅限网页端体验。DS2API 是一个基于 Go 语言全量实现的后端服务,配合 React 构建的管理后台,能够将 DeepSeek 的网页对话能力转换为标准的 OpenAI、Anthropic (Claude) 和 Google (Gemini) 兼容 API。

这意味着你可以使用任何支持这些标准协议的客户端(如 Cursor、VS Code Copilot、LangChain、OpenWebUI 等),无缝调用 DeepSeek 的强大能力,同时享受多账号轮询、高并发控制和自动 Token 刷新带来的便利。

核心亮点:为什么选择 DS2API?

1. 全协议兼容,无缝切换

DS2API 不仅模拟了 OpenAI 接口,还完整实现了 Claude 和 Gemini 的 API 规范:

  • OpenAI 兼容:支持 /v1/chat/completions、/v1/embeddings、/v1/files 等主流 endpoint。
  • Claude 兼容:支持 /anthropic/v1/messages、Token 计数及快捷路径,完美适配 Claude Code 等工具。
  • Gemini 兼容:支持 generateContent 和 streamGenerateContent,包括 Tool Calling 的结构化输出。
  • 统一 CORS:针对 Vercel 等边缘计算环境优化,减少预检请求限制。

2. 智能多账号管理与高并发

  • 自动轮询:支持邮箱/手机号双登录,自动维护 Session 和 Token 刷新。
  • 并发队列控制:每个账号可设置最大并行请求数(In-flight),超出部分进入等待队列,避免触发风控导致 429 错误。
  • 动态建议:系统会根据账号状态动态计算建议并发值,最大化利用率。

3. 高性能与安全性

  • 纯 Go 实现:后端采用 Go 语言,性能强劲,内存占用低。
  • DeepSeek PoW 加速:内置高性能 DeepSeekHashV1 算法实现,毫秒级完成 Proof-of-Work 验证,显著降低延迟。
  • Tool Calling 防泄漏:通过非代码块高置信特征识别和结构化增量输出,确保工具调用的准确性和安全性,防止敏感信息泄露。

4. 强大的管理后台 (WebUI)

  • 可视化配置:支持中英文双语、深色模式,轻松管理账号、查看实时对话记录。
  • 运行时热更新:无需重启服务即可调整并发限制、代理设置等参数。
  • 运维探针:提供 /healthz 和 /readyz 接口,方便集成到 Kubernetes 或监控系统。

模型支持与映射

DS2API 通过巧妙的别名映射,让你可以用熟悉的模型名称调用 DeepSeek 的不同能力版本。

OpenAI 接口映射示例

模型 ID (Alias)对应 DeepSeek 模型思考模式搜索增强
deepseek-v4-flashdeepseek-v4-flash默认开启❌
deepseek-v4-flash-nothinkingdeepseek-v4-flash强制关闭❌
deepseek-v4-prodeepseek-v4-pro默认开启❌
deepseek-v4-pro-searchdeepseek-v4-pro默认开启✅
gpt-4.1 / gpt-5(映射至 flash/pro)根据配置–

注:支持 gpt-*, claude-*, gemini-* 等常见别名,系统会自动映射到对应的 DeepSeek 原生模型。追加 -nothinking 后缀可强制关闭思考过程。

Claude 接口映射示例

请求模型名映射目标
claude-sonnet-4-6deepseek-v4-flash
claude-opus-4-6deepseek-v4-pro
claude-haiku-4-5deepseek-v4-flash

注:可通过 config.json 中的 model_aliases 自定义映射关系。

快速开始:四种部署方式

方式一:下载 Release 包(推荐新手)

最简单的方式,无需编译环境。

  1. 从 GitHub Releases 下载对应平台的压缩包。
  2. 解压后复制配置文件:cp config.example.json config.json。
  3. 编辑 config.json,填入你的 DeepSeek 账号信息。
  4. 运行二进制文件:./ds2api。

方式二:Docker 部署(推荐生产环境)

适合需要容器化管理的用户。

# 1. 准备配置
cp .env.example .env
cp config.example.json config.json
# 编辑 .env,设置 DS2API_ADMIN_KEY

# 2. 启动
docker-compose up -d

# 3. 查看日志
docker-compose logs -f

默认端口映射:宿主机 6011 -> 容器 5001。可通过环境变量 DS2API_HOST_PORT 修改。

方式三:Vercel 部署(适合无服务器架构)

  1. Fork 仓库到你的 GitHub。
  2. 在 Vercel 导入项目。
  3. 设置环境变量 DS2API_ADMIN_KEY 和 DS2API_CONFIG_JSON(建议将 config.json 转为 Base64 填入)。
  4. 部署即可。
    注意:Vercel 上流式响应通过 Node Runtime 处理,以保证 SSE 实时性。

方式四:本地源码运行(适合开发者)

前置要求:Go 1.26+, Node.js 20+。

git clone https://github.com/CJackHwang/ds2api.git
cd ds2api
cp config.example.json config.json
# 编辑 config.json
go run ./cmd/ds2api

首次启动会自动构建 WebUI。访问 http://127.0.0.1:5001/admin 进行管理。

关键配置说明

config.json 是核心配置文件,主要字段包括:

  • keys/api_keys:客户端访问密钥。
  • accounts:DeepSeek 托管账号列表,支持 email/mobile 登录。
  • model_aliases:自定义模型名称映射。
  • runtime:并发控制策略,如 account_max_inflight(每账号最大并发)。
  • auto_delete.mode:会话清理策略(none/single/all),保护隐私并节省资源。
  • thinking_injection:是否在用户消息末尾追加思考增强提示词,提升推理稳定性。

进阶技巧:Claude Code 接入避坑指南

如果你打算将 DS2API 用于 Claude Code,请注意以下几点:

  1. Base URL 设置:ANTHROPIC_BASE_URL 应直接指向 DS2API 根地址(如 http://127.0.0.1:5001)。
  2. API Key 格式:ANTHROPIC_API_KEY 需与 config.json 中的 keys 一致。建议同时保留常规 key 和 sk-ant-* 格式的 key,以兼容不同客户端校验逻辑。
  3. 代理设置:如果系统设置了全局代理,务必将 DS2API 地址加入 NO_PROXY 列表(如 NO_PROXY=127.0.0.1,localhost,<你的IP>),避免本地回环请求被拦截。
  4. Tool Calling 格式:确保模型输出符合推荐的 DSML 工具块格式 <|DSML|tool_calls>...,否则可能无法正确执行工具调用。

相关导航