特别说明:对于不太会部署,只是希望使用上最强 DeepClaude 组合的朋友,可以直接访问 Erlich 个人网站自助购买按量付费的 API:https://erlich.fun/deepclaude-pricing 也可以直接联系 Erlich(微信:geekthings)国内可以直接访问
更新日志:
2025-02-08.1: 添加 Github Actions,支持 fork 自动同步、支持自动构建 Docker 最新镜像、支持 docker-compose 部署
2025-02-07.2: 修复 Claude temperature 参数可能会超过范围导致的请求失败的 bug
2025-02-07.1: 支持 Claude temputerature 等参数;添加更详细的 .env.example 说明
2025-02-06.1:修复非原生推理模型无法获得到推理内容的 bug
2025-02-05.1: 支持通过环境变量配置是否是原生支持推理字段的模型,满血版本通常支持
2025-02-04.2: 支持跨域配置,可在 .env 中配置
2025-02-04.1: 支持 Openrouter 以及 OneAPI 等中转服务商作为 Claude 部分的供应商
2025-02-03.3: 支持 OpenRouter 作为 Claude 的供应商,详见 .env.example 说明
2025-02-03.2: 由于 deepseek r1 在某种程度上已经开启了一个规范,所以我们也遵循推理标注的这种规范,更好适配支持的更好的 Cherry Studio 等软件。
2025-02-03.1: Siliconflow 的 DeepSeek R1 返回结构变更,支持新的返回结构
- Table of Contents
- Introduction
- Implementation
- How to run
- Deployment
- Automatic fork sync
- Technology Stack
- Star History
- Buy me a coffee
- About Me
最近 DeepSeek 推出了 DeepSeek R1 模型,在推理能力上已经达到了第一梯队。但是 DeepSeek R1 在一些日常任务的输出上可能仍然无法匹敌 Claude 3.5 Sonnet。Aider 团队最近有一篇研究,表示通过采用 DeepSeek R1 + Claude 3.5 Sonnet 可以实现最好的效果。
R1 as architect with Sonnet as editor has set a new SOTA of 64.0% on the aider polyglot benchmark. They achieve this at 14X less cost compared to the previous o1 SOTA result.
并且 Aider 还 开源了 Demo,你可以直接在他们的项目上进行在线体验。
本项目受到该项目的启发,通过 fastAPI 完全重写,并支持 OpenAI 兼容格式,支持 DeepSeek 官方 API 以及第三方托管的 API。
用户可以自行运行在自己的服务器,并对外提供开放 API 接口,接入 OneAPI 等实现统一分发(token 消耗部分仍需开发)。也可以接入你的日常 ChatBox 软件以及 接入 Cursor 等软件实现更好的编程效果(Claude 的流式输出+ Tool use 仍需开发)。
项目支持本地运行和服务器运行,本地运行可与 Ollama 搭配,实现用本地的 DeepSeek R1 与 Claude 组合输出
- 获取 DeepSeek API,因为最近 DeepSeek 还在遭受攻击,所以经常无法使用,推荐使用 Siliconflow 的效果更好(也可以本地 Ollama 的): https://cloud.siliconflow.cn/i/RXikvHE2 (点击此链接可以获得到 2000 万免费 tokens)
- 获取 Claude 的 API KEY (目前还没有做中转模式,以及对 Google 和 AWS 托管的版本的兼容支持,欢迎 PR):https://console.anthropic.com
Step 1. 克隆本项目到适合的文件夹并进入项目
git clone [email protected]:ErlichLiu/DeepClaude.git
cd DeepClaude
Step 2. 通过 uv 安装依赖(如果你还没有安装 uv,请看下方注解)
# 通过 uv 在本地创建虚拟环境,并安装依赖
uv sync
# macOS 激活虚拟环境
source .venv/bin/activate
# Windows 激活虚拟环境
.venv\Scripts\activate
Step 3. 配置环境变量
# 复制 .env 环境变量到本地
cp .env.example .env
Step 4. 按照环境变量当中的注释依次填写配置信息(在此步骤可以配置 Ollama)
Step 5. 本地运行程序
# 本地运行
uvicorn app.main:app
Step 6. 配置程序到你的 Chatbox(推荐 NextChat、ChatBox、LobeChat)
# 通常 baseUrl 为:http://127.0.0.1:8000/v1
注:本项目采用 uv 作为包管理器,这是一个更快速更现代的管理方式,用于替代 pip,你可以在此了解更多
项目支持 Docker 服务器部署,可自行调用接入常用的 Chatbox,也可以作为渠道一直,将其视为一个特殊的
DeepClaude
模型接入到 OneAPI 等产品使用。
一键部署到 Railway
-
点击打开 Railway 主页:https://railway.com?referralCode=RNTGCA
-
部署完成后,点击
Settings
按钮,然后向下查看到Networking
区域,然后选择Generate Domain
,并输入8000
作为端口号
一键部署到 Zeabur
- 首先 fork 一份代码。
- 进入 Zeabur,登录。
- 选择 Create New Project,选择地区为新加坡或日本区域。
- 选择项目来源为 Github,搜索框搜索 DeepClaude 后确认,然后点击右下角的 Config。
- 在 Environment Variables 区域点击 Add Environment Variables,逐个填写 .env.example 当中的配置,等号左右对应的就是 Environment Variables 里的 Key 和 Value。(注意:ALLOW_API_KEY 是你自己规定的外部访问你的服务时需要填写的 API KEY,可以随意填写,不要有空格)
- 全部编辑完成后点击 Next,然后点击 Deploy,静待片刻即可完成部署。
- 完成部署后点击当前面板上部的 Networking,点击 Public 区域的 Generate Domain(也可以配置自己的域名),然后输入一个你想要的域名即可(这个完整的 xxx.zeabur.app 将是你接下来在任何开源对话框、Cursor、Roo Code 等产品内填写的 baseUrl)
- 接下来就可以去上述所说的任何的项目里去配置使用你的 API 了,也可以配置到 One API,作为一个 OpenAI 渠道使用。(晚点会补充这部分的配置方法)
推荐可以使用 docker-compose.yml
文件进行部署,更加方便快捷。
-
确保已安装 Docker Compose。
-
复制
docker-compose.yml
文件到项目根目录。 -
修改
docker-compose.yml
文件中的环境变量配置,将your_allow_api_key
,your_allow_origins
,your_deepseek_api_key
和your_claude_api_key
替换为你的实际配置。 -
在项目根目录下运行 Docker Compose 命令启动服务:
docker-compose up -d
服务启动后,DeepClaude API 将在 http://宿主机IP:8000/v1/chat/completions
上进行访问。
-
构建 Docker 镜像
在项目根目录下,使用 Dockerfile 构建镜像。请确保已经安装 Docker 环境。
docker build -t deepclaude:latest .
-
运行 Docker 容器
运行构建好的 Docker 镜像,将容器的 8000 端口映射到宿主机的 8000 端口。同时,通过
-e
参数设置必要的环境变量,包括 API 密钥、允许的域名等。请根据.env.example
文件中的说明配置环境变量。docker run -d \ -p 8000:8000 \ -e ALLOW_API_KEY=your_allow_api_key \ -e ALLOW_ORIGINS="*" \ -e DEEPSEEK_API_KEY=your_deepseek_api_key \ -e DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions \ -e DEEPSEEK_MODEL=deepseek-reasoner \ -e IS_ORIGIN_REASONING=true \ -e CLAUDE_API_KEY=your_claude_api_key \ -e CLAUDE_MODEL=claude-3-5-sonnet-20241022 \ -e CLAUDE_PROVIDER=anthropic \ -e CLAUDE_API_URL=https://api.anthropic.com/v1/messages \ -e LOG_LEVEL=INFO \ --restart always \ deepclaude:latest
请替换上述命令中的
your_allow_api_key
,your_allow_origins
,your_deepseek_api_key
和your_claude_api_key
为你实际的 API 密钥和配置。ALLOW_ORIGINS
请设置为允许访问的域名,如"http://localhost:3000,https://chat.example.com"
或"*"
表示允许所有来源。
项目已经支持 Github Actions 自动更新 fork 项目的代码,保持你的 fork 版本与当前 main 分支保持一致。如需开启,请 frok 后在 Settings 中开启 Actions 权限即可。
- Email: [email protected]
- Website: Erlichliu