通过你自己的 Anthropic 兼容代理,使用 Claude Code CLI、VS Code、JetBrains ACP 或聊天机器人。
Deep Claude Code 把 Claude Code 的 Anthropic Messages API 流量路由到 DeepSeek 优先,同时支持 NVIDIA NIM、Kimi、Wafer、OpenRouter、LM Studio、llama.cpp、Ollama、OpenCode Zen、9routor 和 oMLX。默认面向 DeepSeek V4 设计,零配置启动。
- Claude Code 的 Anthropic API 调用即插即用代理
- 十个服务商后端:DeepSeek、NVIDIA NIM、Kimi、Wafer、OpenRouter、LM Studio、llama.cpp、Ollama、OpenCode Zen 和 9routor
- 支持 9routor 本地路由代理,便于在受限网络下连通多家上游
- 按模型分级路由:Opus、Sonnet、Haiku 与回退流量可分别走不同服务商
- 通过代理的
/v1/models端点原生支持 Claude Code 的/model选择器(Claude Code 需开启 Gateway 模型发现;见 模型选择器) - 流式传输、工具调用、思考/推理块处理,本地请求优化
- 可选的 Discord 或 Telegram 机器人包装,用于远程编码会话
- 通过 VSCode 扩展可选用量统计
- 通过本地 Whisper 或 NVIDIA NIM 提供可选语音转写
- 本地 管理后台位于
/admin,编辑代理设置、校验改动、检测服务商(仅限回环访问)
关键组件:
- FastAPI 暴露 Anthropic 兼容路由,包括
/v1/messages、/v1/messages/count_tokens、/v1/models - 模型路由把 Claude 模型名解析为
MODEL_OPUS、MODEL_SONNET、MODEL_HAIKU或MODEL - NIM、OpenCode Zen 使用 OpenAI 风格 chat 流式,再转换为 Anthropic SSE
- Wafer、OpenRouter、DeepSeek、LM Studio、llama.cpp 和 Ollama 使用 Anthropic Messages 风格的传输
- 代理把 thinking 块、工具调用、token 用量元数据和服务商错误统一为 Claude Code 期望的形态
- 请求优化在本地直接回复 Claude Code 的琐碎探测请求,节省延迟和配额
1. 安装最新版 Claude Code
npm install -g @anthropic-ai/claude-code安装最新版 uv 和 Python 3.14。
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv self update
uv python install 3.14Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv self update
uv python install 3.14在 platform.deepseek.com/api_keys 获取免费或付费 API key。
充几美元即可;DeepSeek 价格非常低廉。
uv tool install --force git+https://github.com/jasonet/deep-claude.git使用同一条命令即可更新到最新版本。
dc-server启动后浏览器自动打开管理后台,粘贴你的 DeepSeek Key:
Server URL: http://127.0.0.1:8082
Admin UI: http://127.0.0.1:8082/admin
打开 管理后台(http://127.0.0.1:8082/admin)。
把 key 粘贴到 DeepSeek API Key,依次点 Validate → Apply。
dcc
# 或
dc-claude两条命令都会通过本地代理启动 Claude Code。在你的项目目录中运行它们。
挑一个服务商,在管理后台填它的 key 或本地 URL,把 MODEL 设置成带服务商前缀的模型 slug。MODEL 是回退值。MODEL_OPUS、MODEL_SONNET、MODEL_HAIKU 可以覆盖 Claude Code 各个模型层级的路由。
1. NVIDIA NIM
在 build.nvidia.com/settings/api-keys 获取 key。
在管理后台填到 NVIDIA_NIM_API_KEY。默认 MODEL 是 nvidia_nim/z-ai/glm4.7。
在 build.nvidia.com 浏览模型。
2. Kimi
在 platform.moonshot.ai/console/api-keys 获取 key。
在管理后台填到 KIMI_API_KEY,然后把 MODEL 设置成 Kimi slug,例如 kimi/kimi-k2.5。
在 platform.moonshot.ai 浏览模型。
3. Wafer
在 wafer.ai 获取 key。在管理后台填到 WAFER_API_KEY,然后把 MODEL 设置成 Wafer Pass 模型,例如 wafer/DeepSeek-V4-Pro。
常见示例:
wafer/DeepSeek-V4-Prowafer/MiniMax-M2.7wafer/Qwen3.5-397B-A17Bwafer/GLM-5.1
该服务商使用 Wafer 的 Anthropic 兼容端点 https://pass.wafer.ai/v1/messages。
4. OpenRouter
在 openrouter.ai/keys 获取 key。
在管理后台填到 OPENROUTER_API_KEY,然后把 MODEL 设置成 OpenRouter slug,例如 open_router/stepfun/step-3.5-flash:free。
5. DeepSeek
在 platform.deepseek.com/api_keys 获取 key。
在管理后台填到 DEEPSEEK_API_KEY,然后把 MODEL 设置成 DeepSeek slug,例如 deepseek/deepseek-chat。
该服务商使用 DeepSeek 的 Anthropic 兼容端点,不是 OpenAI 风格的 chat-completions 端点。
6. LM Studio
启动 LM Studio 的本地服务器并加载一个模型。在管理后台保留或更新 LM_STUDIO_BASE_URL,然后把 MODEL 设置成 LM Studio 显示的模型标识,加 lmstudio/ 前缀。
工具调用相关的工作流推荐使用支持工具的模型。
7. llama.cpp
启动 llama-server,提供 Anthropic 兼容的 /v1/messages 端点,并预留足够的上下文供 Claude Code 请求使用。
在管理后台保留或更新 LLAMACPP_BASE_URL,然后把 MODEL 设置成本地模型 slug,加 llamacpp/ 前缀。
本地编码模型的上下文长度很重要。若 llama.cpp 对正常的 Claude Code 请求返回 HTTP 400,请增大 --ctx-size 并确认所选模型/服务端编译版本支持所需功能。
8. Ollama
运行 Ollama 并拉一个模型:
ollama pull llama3.1
ollama serve在管理后台保留或更新 OLLAMA_BASE_URL,把 MODEL 设置成 ollama list 显示的同样 tag,加 ollama/ 前缀。
OLLAMA_BASE_URL 是 Ollama 服务器根地址,不要追加 /v1。模型 slug 示例:ollama/llama3.1 和 ollama/llama3.1:8b。
9. OpenCode Zen
在 opencode.ai/auth 获取 API key。
在管理后台填到 OPENCODE_API_KEY,然后把 MODEL 设置成 OpenCode Zen 模型 slug,例如 opencode/gpt-5.3-codex。
OpenCode Zen 是一个精选的模型网关,通过单一 API key 和 OpenAI 兼容端点 https://opencode.ai/zen/v1 提供来自 Anthropic、OpenAI、Google、DeepSeek 等多家厂商的模型。
在 opencode.ai 浏览可用模型。
通过在管理后台分别设置 MODEL_OPUS、MODEL_SONNET、MODEL_HAIKU,每个模型层级可以使用不同服务商。某一层留空则继承 MODEL。
举例:Opus 路由到 nvidia_nim/moonshotai/kimi-k2.5,Sonnet 走 open_router/deepseek/deepseek-r1-0528:free,Haiku 走 lmstudio/unsloth/GLM-4.7-Flash-GGUF,回退 MODEL 保持 opencode/gpt-5.3-codex。
终端使用推荐已安装的启动器:
dcc 或 dc-claude工作时保持 dc-server 运行。管理后台负责管理代理配置、在运行时设置变更时重启服务,dc-claude 每次启动都会读取管理后台维护的端口和 auth token。
打开设置,搜索 claude-code.environmentVariables,选择 Edit in settings.json,添加:
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "http://localhost:8082" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "dc-auth" },
{ "name": "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY", "value": "1" }
]重新加载扩展。如果扩展显示登录页面,选择一次 Anthropic Console 路径即可;环境变量生效后,本地代理仍然会接管模型流量。
编辑已安装的 Claude ACP 配置:
- Windows:
C:\Users\%USERNAME%\AppData\Roaming\JetBrains\acp-agents\installed.json - Linux/macOS:
~/.jetbrains/acp.json
为 acp.registry.claude-acp 设置 env:
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:8082",
"ANTHROPIC_AUTH_TOKEN": "dc-auth",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}改完之后重启 IDE。
机器人包装在远程运行 Claude Code 会话,流式推送进度,支持按回复分支的会话,并能停止或清空任务。
Discord 最小配置:
MESSAGING_PLATFORM="discord"
DISCORD_BOT_TOKEN="your-discord-bot-token"
ALLOWED_DISCORD_CHANNELS="123456789"
CLAUDE_WORKSPACE="./agent_workspace"
ALLOWED_DIR="C:/Users/yourname/projects"在 Discord 开发者门户创建机器人,启用 Message Content Intent,并以读/发/查历史权限邀请它进群。
Telegram 最小配置:
MESSAGING_PLATFORM="telegram"
TELEGRAM_BOT_TOKEN="123456789:ABC..."
ALLOWED_TELEGRAM_USER_ID="your-user-id"
CLAUDE_WORKSPACE="./agent_workspace"
ALLOWED_DIR="C:/Users/yourname/projects"去 @BotFather 拿 token,去 @userinfobot 查你的用户 ID。
常用命令:
/stop取消任务;回复某条任务消息只停那个分支/clear重置会话;回复消息只清那个分支/stats查看会话状态
语音笔记在 Discord 和 Telegram 上都可用。选一个后端:
uv sync --extra voice_local
uv sync --extra voice
uv sync --extra voice --extra voice_localVOICE_NOTE_ENABLED=true
WHISPER_DEVICE="cpu" # cpu | cuda | nvidia_nim
WHISPER_MODEL="base"
HF_TOKEN=""WHISPER_DEVICE="nvidia_nim" 配合 voice extra 和 NVIDIA_NIM_API_KEY 即可使用 NVIDIA 托管转写。
.env.example 是变量的权威清单。下面列出大多数用户最常改的几节。
仅在你偏好文件配置或运行无头模式时使用。首次配置建议优先用管理后台。
cp .env.example .envNVIDIA NIM 示例:
NVIDIA_NIM_API_KEY="nvapi-your-key"
MODEL="nvidia_nim/z-ai/glm4.7"
ANTHROPIC_AUTH_TOKEN="dc-auth"配置优先级:仓库 .env,然后 ~/.config/deep-claude/.env,最后是 DCC_ENV_FILE(如已设置)。ANTHROPIC_AUTH_TOKEN 可以是任意本地 secret;把同一个值传给 Claude Code。
MODEL="nvidia_nim/z-ai/glm4.7"
MODEL_OPUS=
MODEL_SONNET=
MODEL_HAIKU=
ENABLE_MODEL_THINKING=true
ENABLE_OPUS_THINKING=
ENABLE_SONNET_THINKING=
ENABLE_HAIKU_THINKING=分层级值留空则继承回退值。思考覆盖留空则继承 ENABLE_MODEL_THINKING。
NVIDIA_NIM_API_KEY=""
OPENROUTER_API_KEY=""
DEEPSEEK_API_KEY=""
WAFER_API_KEY=""
OPENCODE_API_KEY=""
LM_STUDIO_BASE_URL="http://localhost:1234/v1"
LLAMACPP_BASE_URL="http://localhost:8080/v1"
OLLAMA_BASE_URL="http://localhost:11434"每个服务商独立代理设置:
NVIDIA_NIM_PROXY=""
OPENROUTER_PROXY=""
LMSTUDIO_PROXY=""
LLAMACPP_PROXY=""
WAFER_PROXY=""
OPENCODE_PROXY=""PROVIDER_RATE_LIMIT=1
PROVIDER_RATE_WINDOW=3
PROVIDER_MAX_CONCURRENCY=5
HTTP_READ_TIMEOUT=120
HTTP_WRITE_TIMEOUT=10
HTTP_CONNECT_TIMEOUT=10免费托管服务商建议把限制调低;本地服务商在机器性能足够时可以提升并发。
ANTHROPIC_AUTH_TOKEN=
LOG_RAW_API_PAYLOADS=false
LOG_RAW_SSE_EVENTS=false
LOG_API_ERROR_TRACEBACKS=false
LOG_RAW_MESSAGING_CONTENT=false
LOG_RAW_CLI_DIAGNOSTICS=false
LOG_MESSAGING_ERROR_DETAILS=false原始日志开关可能暴露 prompt、工具参数、路径以及模型输出。仅在本地调试时打开。
结构化 TRACE 行带 "trace": true、stage、event、source 等字段,并附带跟踪 Claude Code 流程所需的会话上下文。看起来像凭据的字典键(例如嵌套在结构化负载里的 api_key / authorization 值)会被脱敏;但你输入到 prompt 里的任意自然语言文本仍可能原样出现。
ENABLE_WEB_SERVER_TOOLS=true
WEB_FETCH_ALLOWED_SCHEMES=http,https
WEB_FETCH_ALLOW_PRIVATE_NETWORKS=false这些工具会从代理发出对外 HTTP 请求。除非你在受控的实验环境,否则别打开私有网络访问。
deep-claude/
├── server.py # ASGI 入口
├── api/ # FastAPI 路由、服务层、路由表、优化
├── core/ # 共享 Anthropic 协议辅助和 SSE 工具
├── providers/ # 服务商传输、注册表、限流
├── messaging/ # Discord/Telegram 适配、会话、语音
├── cli/ # 包入口和 Claude 进程管理
├── config/ # 设置、服务商目录、日志
└── tests/ # 单元和契约测试
如果你在做开发或想直接从 checkout 运行:
git clone https://github.com/jasonet/deep-claude.git
cd deep-claude
uv run uvicorn server:app --host 0.0.0.0 --port 8082uv run ruff format
uv run ruff check
uv run ty check
uv run pytest推送前依次跑这几条。CI 会强制同样的检查。
pyproject.toml 安装:
dc-server:用配置的 host 和 port 启动代理dc-init:可选的文件配置骨架到~/.config/deep-claude/.envdcc:用配置的本地代理 URL 启动 Claude Code(DeepSeek 优先)dc-claude:等同于dcc;通过代理启动 Claude Codedeep-claude:dc-server的兼容别名
- 添加 OpenAI 兼容的服务商时,继承
OpenAIChatTransport - 添加 Anthropic Messages 服务商时,继承
AnthropicMessagesTransport - 在
config.provider_catalog注册服务商元数据,在providers.registry接好工厂 - 添加消息平台时,在
messaging/实现MessagingPlatform接口
下面这些开源项目与本仓库属于同一生态,可与 DeepSeek / Claude Code 搭配使用。点击名称跳转到对应 GitHub 仓库。
| 项目 | 用途 |
|---|---|
| Claude Code Haha | 为 Claude Code 提供可插拔的增强能力与实用工具 |
| DeepSeek-TUI | DeepSeek API 终端界面客户端 |
| claude-desktop-deepseek | 使用 DeepSeek 后端的 Claude Desktop |
| deepclaude | DeepSeek + Claude 双模型代理 |
| Ghostty | 快速、功能丰富的终端模拟器 |
| cmux | Claude Code 会话管理器 |
| yazi | 极速终端文件管理器 |
上述清单同步显示在管理后台的「工具推荐」区块。
MIT License。详见 LICENSE。



