Claude Code 是 Anthropic 的 AI 编程助手,默认只使用 Anthropic 的模型。通过环境变量 ANTHROPIC_BASE_URL 可以切换 API 端点,DeepSeek 官方提供了 Anthropic API 兼容 的接口,因此可以直接把 Claude Code CLI 接到 DeepSeek,无需代理或第三方路由。
本文介绍如何配置 Claude Code CLI,使其使用 DeepSeek 作为后端模型。
前置条件
- 已安装 Claude Code(官方安装:
curl -fsSL https://claude.ai/install.sh | bash) - 已注册 DeepSeek 开放平台 并获取 API Key(API Keys 页面)
方式一:官方 Anthropic 兼容 API(推荐)
DeepSeek 提供与 Anthropic Messages API 兼容的端点,只需改环境变量即可让 Claude Code 走 DeepSeek。
1. 配置环境变量
在终端中执行(将 YOUR_DEEPSEEK_API_KEY 换成你的 DeepSeek API Key):
1 | # DeepSeek Anthropic 兼容 API 端点 |
2. 启动 Claude Code
1 | cd your-project |
之后 Claude Code 的请求会发往 DeepSeek,使用你配置的模型。
3. 写入 Shell 配置(长期使用)
避免每次手动 export,可写入 ~/.bashrc、~/.zshrc 或 Fish 的 config.fish。
Bash / Zsh 示例:
1 | # DeepSeek + Claude Code |
Fish 示例:
1 | function claude-deepseek |
之后在 Fish 中执行 claude-deepseek 即用 DeepSeek;其他终端保持默认则仍用 Anthropic。
模型选择
DeepSeek 在 Anthropic 兼容接口中常用模型名:
| 模型名 | 说明 |
|---|---|
deepseek-chat |
通用对话,响应快,适合日常编码与问答 |
deepseek-reasoner |
推理模式,步骤更详细,适合复杂分析与多步推理 |
通过修改 ANTHROPIC_MODEL 和 ANTHROPIC_SMALL_FAST_MODEL 即可切换。若传入 DeepSeek 不支持的模型名,接口会自动映射到 deepseek-chat。
方式二:通过 Claude Code Router + OpenRouter
若希望在同一套 Claude Code 里切换多种模型(如 Claude、GPT、DeepSeek),可使用 Claude Code Router,通过 OpenRouter 统一接入。
1. 安装
1 | # 已安装 Claude Code 的前提下 |
2. 获取 OpenRouter API Key
在 OpenRouter 注册并创建 API Key,按用量计费,可选用 DeepSeek 等模型。
3. 配置文件
创建并编辑 ~/.claude-code-router/config.json:
1 | { |
将 YOUR_OPENROUTER_API_KEY 换成你的 OpenRouter API Key。transformer 中的 "tooluse" 需保留,否则 Claude Code 的工具调用(编辑文件、执行命令等)会异常。
4. 启动方式
用 Router 启动 Claude Code(不再直接运行 claude):
1 | ccr code |
会话中可切换模型,例如:
1 | /model openrouter,deepseek/deepseek-chat |
Anthropic API 兼容性说明(方式一)
DeepSeek 的 Anthropic 兼容接口支持:
- 常用参数:
max_tokens、stop_sequences、stream、system、temperature(0.0~2.0)、top_p - 工具调用:
tools、tool_choice,适合 Claude Code 的编辑与执行等能力 - 内容类型:文本、thinking 类内容
以下能力在 DeepSeek 端不支持或不生效:
- 消息中的图片、文档等 multimodal 类型
- 部分 MCP 相关类型(如
mcp_tool_use、mcp_tool_result) - 部分 Anthropic 专有字段(如
anthropic-beta、container、metadata等)
仅使用「写代码、改文件、跑命令」等常见能力时,方式一即可满足需求。
常见问题
Q: 必须用 Python 吗?
A: 不必。方式一只是改环境变量,任意终端/shell 均可;方式二需要 Node.js 来跑 ccr。
Q: DeepSeek 免费吗?
A: 注册会有一定免费额度,超出后按官方定价计费,详见 DeepSeek 定价页。
Q: 如何确认当前用的是 DeepSeek?
A: 方式一:看环境变量 ANTHROPIC_BASE_URL 是否为 https://api.deepseek.com/anthropic。方式二:在会话里输入 /status 查看当前模型。
Q: 长输出被截断或超时?
A: 增大 API_TIMEOUT_MS(例如 600000 表示 10 分钟)。