如何用 DeepSeek V4 替代 Anthropic 跑 Claude Code:5 分钟省 90% API 费用
不用改习惯、不用换界面、不用多花钱——Claude Code 直接连 DeepSeek V4 的完整教程
入门 · 10 分钟 · 2026年4月28日
教程目标
10 分钟内完成配置,让 Claude Code 使用 DeepSeek V4 模型运行——同样的终端界面、同样的命令、同样的效率,API 费用降低 90%+。
你将实现什么
- 一个命令启动 Claude Code,后端走 DeepSeek V4 Flash(约 1 元/百万 token)
- 原有 Claude Code 配置完全不受影响,两个后端随时切换
- 验证 API 路由是否成功切换
准备清单
- 一台装了 Claude Code 的电脑(macOS / Linux)
- DeepSeek 平台账号(免费注册,送 10 美元体验金)
- 终端操作基础(复制粘贴即可完成)
为什么要用 DeepSeek 跑 Claude Code?
Claude Code 是目前最强的 AI 编程助手之一,但直接使用 Anthropic API 的费用较高——Claude Sonnet 约 15 元/百万输入 token,Opus 更贵。DeepSeek V4 提供了兼容的 API 接口,价格仅为 Anthropic 的 5%-10%,且代码能力在多个基准测试中与 Claude Sonnet 持平。
更关键的是:你不需要改变任何使用习惯。Claude Code 的命令行界面、文件编辑能力、项目管理功能,全都照常工作。
| 对比 | Anthropic API | DeepSeek V4(本教程) |
|---|---|---|
| 百万输入 token 价格 | 约 15 元(Sonnet) | 约 1 元(Flash) |
| 百万输出 token 价格 | 约 75 元(Sonnet) | 约 4 元(Flash) |
| 代码能力 | 顶级 | 同级别 |
| 需改使用习惯? | — | 不需要,相同 CLI |
| 同时使用两个后端? | — | 支持,两个终端随便切换 |
第 1 步:获取 DeepSeek API 密钥
打开浏览器访问 DeepSeek 平台,注册账号并登录。注册完成后,平台会赠送 10 美元体验金,足够完成大量测试。
在控制台左侧找到「API Keys」菜单,点击「Create API key」,输入任意名称后复制生成的密钥(以 sk- 开头)。这个密钥就是 Claude Code 用来连接 DeepSeek 的凭证。
提示:将密钥保存在一个安全的位置。如果之后丢失,可以在控制台重新生成。
第 2 步:创建本地密钥文件
在终端中执行以下命令,创建一个专属目录存放配置文件:
mkdir -p ~/.config/mg-deepseek && chmod 700 ~/.config/mg-deepseek然后用你的密钥替换下面命令中的 sk-your-key-here,写入文件:
echo 'export DEEPSEEK_API_KEY="sk-your-key-here"' > ~/.config/mg-deepseek/key.env
chmod 600 ~/.config/mg-deepseek/key.env
source ~/.config/mg-deepseek/key.env这个目录和文件权限设置得很严格(700 和 600),确保其他人的程序无法读取你的 API 密钥。
第 3 步:创建 Claude Code 设置覆盖文件
这是最关键的一步。Claude Code 会从多个来源读取配置:OAuth 登录、Vertex AI、AWS Bedrock、环境变量。为了让 DeepSeek 生效,必须创建一个专门的高优先级设置文件:
cat > ~/.config/mg-deepseek/claude-deepseek-settings.json <<EOF
{
"env": {
"CLAUDE_CODE_USE_VERTEX": "",
"ANTHROPIC_VERTEX_PROJECT_ID": "",
"CLOUD_ML_REGION": "",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "",
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "$DEEPSEEK_API_KEY",
"ANTHROPIC_API_KEY": "$DEEPSEEK_API_KEY"
}
}
EOF
chmod 600 ~/.config/mg-deepseek/claude-deepseek-settings.json这份 JSON 文件做了三件事:
- 前 4 个空键:清空 Vertex AI 和 AWS Bedrock 的默认配置,防止它们抢在前面
ANTHROPIC_BASE_URL:把 API 请求指向 DeepSeek 的 Anthropic 兼容端点https://api.deepseek.com/anthropicANTHROPIC_AUTH_TOKEN/ANTHROPIC_API_KEY:设置认证凭据
DeepSeek 专门搭建了这个兼容接口,能完整理解 Anthropic API 的 JSON 消息格式,所以 Claude Code 不需要任何代码层面的修改。
第 4 步:运行 Claude Code — DeepSeek 后端
现在启动 Claude Code,使用 DeepSeek 后端:
claude --bare \
--settings ~/.config/mg-deepseek/claude-deepseek-settings.json \
--model sonnet \
"用 Python 写一个带 JWT 认证的 REST API,包含测试用例"关键参数说明:
--bare:告诉 Claude Code 忽略 OAuth 登录、密钥链和其他自动检测的配置,完全从 settings 文件读取认证信息。——这是必需的,缺少它会导致认证冲突--settings:指向刚才创建的 JSON 设置文件--model sonnet:Claude Code 内部对模型名做了验证,只允许 Anthropic 的模型名。DeepSeek 在服务端做映射:sonnet→DeepSeek V4 Flash
第一个命令成功后,Claude Code 的终端界面和平时完全一样。你可以正常使用所有的 / 命令(/help、/bug、/review 等),因为这些都是 Claude Code 自身的功能,不依赖于后端。
| 参数 | 说明 | 是否必选 |
|---|---|---|
--bare | 忽略 OAuth/密钥链 | ✅ 必须 |
--settings | 指向 DeepSeek 配置 JSON | ✅ 必须 |
--model sonnet | 模型名映射(服务端转 DeepSeek V4 Flash) | ✅ 必须 |
提示:如果你想要 DeepSeek V4 Pro(链式推理版本),需直接调用 DeepSeek API。但是在 Claude Code 中推荐使用 Flash,它对于编码任务速度更快、性价比更高。
第 5 步:验证切换是否成功
为了确认 API 请求真的发到了 DeepSeek,执行检查命令:
claude --bare --settings ~/.config/mg-deepseek/claude-deepseek-settings.json \
--debug-file /tmp/check.log --model sonnet "回复:SWAP_TEST"
grep "API REQUEST" /tmp/check.log | head -1如果输出包含 /anthropic/v1/messages,说明成功切到了 DeepSeek 端点。如果看到 /v1/projects/.../publishers/anthropic/,说明仍在走 Vertex AI——检查 settings JSON 文件中前 4 个空键是否正确。如果看到 bedrock-runtime,说明还在走 AWS Bedrock——同样的原因。
| 日志输出 URL 特征 | 实际后端 | 处理方式 |
|---|---|---|
/anthropic/v1/messages | ✅ DeepSeek V4 | 成功! |
/v1/projects/.../publishers/anthropic/ | ❌ 还在走 Vertex AI | 检查 JSON 的前 4 个空键 |
bedrock-runtime | ❌ 还在走 AWS Bedrock | 检查 JSON 的前 4 个空键 |
第 6 步:两个后端同时运行
这是本教程最实用的技巧:开两个终端窗口,分别使用不同后端:
终端 1 — 正常 Claude Code(Anthropic / Vertex / Bedrock)
claude --model opus "帮我设计一个多区域容灾系统"终端 2 — DeepSeek 后端
claude --bare --settings ~/.config/mg-deepseek/claude-deepseek-settings.json \
--model sonnet "把这段代码改成 async/await 写法"完全没有冲突。两个 Claude Code 进程使用不同的 settings 文件,连接不同的后端,互不干扰。
进阶:创建别名一键切换
如果你经常需要在两个后端间切换,把别名加到 shell 配置中:
# 加到 ~/.zshrc 或 ~/.bashrc
alias claude-cheap='claude --bare --settings ~/.config/mg-deepseek/claude-deepseek-settings.json --model sonnet'之后使用就很简单了:
claude-cheap "重构这个模块"→ DeepSeek V4 Flash(约 1 元/百万 token)claude "调研这个难题"→ 默认后端(Opus 或 Sonnet)
两个命令都在 shell 历史中清晰可查。
常见问题排查
Q1:启动时提示「auth conflict」?
这是 Claude Code 同时读到环境变量和 OAuth 登录信息导致的。确保命令中包含了 --bare 参数,它会忽略密钥链和已登录的账号。
Q2:运行后还是 Anthropic 的回复?
使用 --debug-file 检查实际路由:
claude --bare --settings ~/.config/mg-deepseek/claude-deepseek-settings.json \
--debug-file /tmp/check.log --model sonnet "test"
grep "API REQUEST" /tmp/check.log查看 URL 中是否包含 deepseek.com。如果不是,检查 JSON 文件格式是否正确,然后重新启动终端 shell。
Q3:可以把 ANTHROPIC_BASE_URL 加到 .zshrc 里吗?
不建议。内联环境变量前缀在 Claude Code 的配置优先级中不如其他后端(Vertex/Bedrock)高。用 --bare --settings 组合是最可靠的做法。
Q4:为什么只能用 --model sonnet 或 --model opus?
Claude Code 在启动时会对模型名做白名单校验,只允许 Anthropic 官方模型名。DeepSeek 在服务端做了映射处理:sonnet → DeepSeek V4 Flash,opus → DeepSeek V4 Pro。直接传入 deepseek-v4 会被 Claude Code 拒绝。
工具词条
正文中直接写出了这些工具,平台会自动匹配工具库生成悬浮信息卡:Claude Code、DeepSeek、Anthropic、Vertex AI、AWS Bedrock、OpenAI