0x-elfateh1/claude-code-deepseek
GitHub: 0x-elfateh1/claude-code-deepseek
该项目让 Claude Code CLI 接入 DeepSeek API,以极低成本实现高频自动化 AI 编程与代码分析。
Stars: 27 | Forks: 5
# ⚡ claude-code-deepseek
[](https://platform.deepseek.com)
[](https://claude.ai/code)
[](./LICENSE)
[](https://github.com/0x-elfateh1/claude-code-deepseek/stargazers)



## 🚀 概览
| | 详情 |
|---|---|
| 🧠 **主模型** | `deepseek-v4-pro` — 适合高强度推理和作为主 agent |
| ⚡ **子 agent 模型** | `deepseek-v4-flash` — 快速且便宜,适合后台任务 |
| 💸 **成本** | 约每 350M token 花费 $6 |
| 🔓 **无头模式** | API key 可在 VPS 上运行 — 无需浏览器 OAuth |
| 🔄 **可恢复** | 一条 `unset` 命令即可恢复至 Anthropic 订阅 |
| 🖥️ **平台** | Linux, macOS, Windows, VPS |
## 📋 目录
- [为什么选择 DeepSeek?](#-why-deepseek)
- [模型 ID](#-model-ids)
- [快速设置](#-quick-setup)
- [设置方法](#-setup-methods)
- [方法 1 — 全局配置](#method-1--global-all-deepseek-always)
- [方法 2 — 单项目配置](#method-2--per-project-selective)
- [方法 3 — Shell 函数 ⭐](#method-3--shell-function-per-session-)
- [方法 4 — 自动化 / CI](#method-4--automation--ci)
- [恢复至 Anthropic](#-reverting-to-anthropic-subscription)
- [关键注意事项](#-key-notes)
- [文件](#-files)
- [作者](#-author)
## 💡 为什么选择 DeepSeek?
| | Anthropic 订阅 | DeepSeek API |
|---|:---:|:---:|
| 交互式编程 | ✅ 最佳 | ✅ 良好 |
| 无头模式 / VPS 自动化 | ❌ 需要 OAuth 登录 | ✅ 只需一个 API key |
| 速率限制 | 受订阅额度限制 | 按 token 付费,无硬性限制 |
| 大规模使用成本 | 固定月费 | 约每 350M token 花费 $6 |
| 子 agent 高负载任务 | 极易耗尽额度 | 使用 `v4-flash` 成本极低 |
| CI / cron pipeline | 身份验证问题 | ✅ 运行顺畅 |
## 🔑 模型 ID
| 模型 | ID | 最适用场景 |
|---|---|---|
| 🧠 旗舰版 | `deepseek-v4-pro` | 主 agent、复杂推理、安全分析 |
| ⚡ 快速版 | `deepseek-v4-flash` | 子 agent、后台任务、文件搜索、快速问答 |
**自动映射:** DeepSeek 会自动映射 Claude 的模型名称:
- `claude-opus-*` → `deepseek-v4-pro`
- `claude-haiku-*` / `claude-sonnet-*` → `deepseek-v4-flash`
## ⚡ 快速设置
完整配置来自 [DeepSeek 官方文档](https://api-docs.deepseek.com/guides/coding_agents):
```
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=
export ANTHROPIC_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
```
在 [`configs/`](./configs/) 中有开箱即用的配置片段。
## 🛠 设置方法
### 方法 1 — 全局配置(始终使用 DeepSeek)
如果您希望在所有 Claude Code 会话中都使用 DeepSeek,这是最佳选择。
添加到 `~/.zshrc` 或 `~/.bashrc`:
```
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=
export ANTHROPIC_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
```
然后重新加载:`source ~/.zshrc`
### 方法 2 — 单项目配置(按需选择)
如果您只想在特定的项目文件夹中使用 DeepSeek,这是最佳选择。其他所有目录将继续正常使用您的 Anthropic 订阅。
在项目中创建 `.claude/settings.json` 文件:
```
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash"
}
}
```
查看 [`configs/settings.json`](./configs/settings.json) 获取开箱即用的模板。
### 方法 3 — Shell 函数(按会话配置) ⭐
**推荐。** 让 `claude` 命令继续使用您的 Anthropic 订阅。当您想用 DeepSeek 时使用 `claude-ds`。无需修改任何配置,即可在不同的终端会话之间自由切换。
添加到 `~/.zshrc`:
```
claude-ds() {
ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic" \
ANTHROPIC_AUTH_TOKEN="" \
ANTHROPIC_MODEL="deepseek-v4-pro" \
ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro" \
ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro" \
ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash" \
CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash" \
claude "$@"
}
```
然后重新加载:`source ~/.zshrc`
| 命令 | 结果 |
|---|---|
| `claude` | Anthropic 订阅 — 保持不变 |
| `claude-ds` | DeepSeek 会话 |
| `claude-ds -p "audit this file"` | 正确传递所有 flags/args |
### 方法 4 — 自动化 / CI
非常适合无头模式的 VPS 运行、cron 任务和 CI pipeline。无需全局配置 — 在每个脚本中内联设置变量即可。
```
ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic" \
ANTHROPIC_AUTH_TOKEN="" \
ANTHROPIC_MODEL="deepseek-v4-pro" \
CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash" \
claude --dangerously-skip-permissions -p "your task here"
```
您的 Anthropic 订阅在其他所有终端中将保持不变。
## 🔄 恢复至 Anthropic 订阅
无需 API key — 只需 unset DeepSeek 的变量即可。Claude Code 会自动回退到存储在 `~/.claude/` 中的订阅 OAuth 会话。
**临时恢复(仅限当前终端):**
```
unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN ANTHROPIC_MODEL \
ANTHROPIC_DEFAULT_OPUS_MODEL ANTHROPIC_DEFAULT_SONNET_MODEL \
ANTHROPIC_DEFAULT_HAIKU_MODEL CLAUDE_CODE_SUBAGENT_MODEL \
CLAUDE_CODE_EFFORT_LEVEL
```
**永久恢复:** 从 `~/.zshrc` / `~/.bashrc` 中删除这些 export 行,然后 `source` 该文件。
如果您使用了 `.claude/settings.json` — 删除该文件或移除其中的 `env` 块。
## 📌 关键注意事项
- **`ANTHROPIC_BASE_URL` 是进程全局有效的** — 您无法在同一个会话中将部分调用路由到 Anthropic,又将另一部分路由到 DeepSeek
- **`CLAUDE_CODE_SUBAGENT_MODEL`** 控制生成的子 agent 所使用的模型 — 设置为 `deepseek-v4-flash` 可实现低成本的并行 agent 工作
- **请使用 `ANTHROPIC_AUTH_TOKEN`** 而不是 `ANTHROPIC_API_KEY` — Claude Code 使用了不同的环境变量名称
- **Shell 函数 > alias** — 该函数能正确传递所有 flags;在 zsh 中,多行 alias 容易出错
## 📁 文件
```
├── configs/
│ ├── zshrc.snippet # zsh: env block + claude-ds function
│ ├── bashrc.snippet # bash: env block (Ubuntu VPS default)
│ ├── settings.json # .claude/settings.json per-project template
│ └── windows.ps1 # Windows PowerShell config
└── scripts/
└── setup.sh # Ubuntu automated installer
```
## 📚 参考来源
- [DeepSeek Anthropic API 文档](https://api-docs.deepseek.com/guides/anthropic_api)
- [DeepSeek 编程 Agent 指南](https://api-docs.deepseek.com/guides/coding_agents)
- [Claude Code 模型配置文档](https://code.claude.com/docs/en/model-config)
## 👤 作者
**0x-elfateh** · 安全研究员 & 漏洞赏金猎人
[](https://www.linkedin.com/in/0x-elfateh/)
*觉得这个项目有用吗?点个 ⭐ 吧 — 这能帮助其他人发现它。*
标签:AI合规, API集成, Claude Code, Cutter, DeepSeek, Homebrew安装, LNA, SOC Prime, 可观测性, 开发工具, 成本优化, 熵值分析, 网络调试, 自动化