在 Claude Code CLI 中使用 DeepSeek 作为模型

Claude Code 是 Anthropic 的 AI 编程助手,默认只使用 Anthropic 的模型。通过环境变量 ANTHROPIC_BASE_URL 可以切换 API 端点,DeepSeek 官方提供了 Anthropic API 兼容 的接口,因此可以直接把 Claude Code CLI 接到 DeepSeek,无需代理或第三方路由。

本文介绍如何配置 Claude Code CLI,使其使用 DeepSeek 作为后端模型。

前置条件

方式一:官方 Anthropic 兼容 API(推荐)

DeepSeek 提供与 Anthropic Messages API 兼容的端点,只需改环境变量即可让 Claude Code 走 DeepSeek。

1. 配置环境变量

在终端中执行(将 YOUR_DEEPSEEK_API_KEY 换成你的 DeepSeek API Key):

1
2
3
4
5
6
7
8
9
10
11
12
13
# DeepSeek Anthropic 兼容 API 端点
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=YOUR_DEEPSEEK_API_KEY

# 指定使用的模型(见下方「模型选择」)
export ANTHROPIC_MODEL=deepseek-chat
export ANTHROPIC_SMALL_FAST_MODEL=deepseek-chat

# 可选:避免长输出时客户端超时(单位毫秒,例如 10 分钟)
export API_TIMEOUT_MS=600000

# 可选:禁用非必要流量(仅在使用第三方 API 时建议)
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

2. 启动 Claude Code

1
2
cd your-project
claude

之后 Claude Code 的请求会发往 DeepSeek,使用你配置的模型。

3. 写入 Shell 配置(长期使用)

避免每次手动 export,可写入 ~/.bashrc~/.zshrc 或 Fish 的 config.fish

Bash / Zsh 示例:

1
2
3
4
5
6
# DeepSeek + Claude Code
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=YOUR_DEEPSEEK_API_KEY
export ANTHROPIC_MODEL=deepseek-chat
export ANTHROPIC_SMALL_FAST_MODEL=deepseek-chat
export API_TIMEOUT_MS=600000

Fish 示例:

1
2
3
4
5
6
7
8
function claude-deepseek
set -x ANTHROPIC_BASE_URL https://api.deepseek.com/anthropic
set -x ANTHROPIC_AUTH_TOKEN "YOUR_DEEPSEEK_API_KEY"
set -x ANTHROPIC_MODEL deepseek-chat
set -x ANTHROPIC_SMALL_FAST_MODEL deepseek-chat
set -x API_TIMEOUT_MS 600000
claude $argv
end

之后在 Fish 中执行 claude-deepseek 即用 DeepSeek;其他终端保持默认则仍用 Anthropic。

模型选择

DeepSeek 在 Anthropic 兼容接口中常用模型名:

模型名 说明
deepseek-chat 通用对话,响应快,适合日常编码与问答
deepseek-reasoner 推理模式,步骤更详细,适合复杂分析与多步推理

通过修改 ANTHROPIC_MODELANTHROPIC_SMALL_FAST_MODEL 即可切换。若传入 DeepSeek 不支持的模型名,接口会自动映射到 deepseek-chat

方式二:通过 Claude Code Router + OpenRouter

若希望在同一套 Claude Code 里切换多种模型(如 Claude、GPT、DeepSeek),可使用 Claude Code Router,通过 OpenRouter 统一接入。

1. 安装

1
2
# 已安装 Claude Code 的前提下
npm install -g @musistudio/claude-code-router

2. 获取 OpenRouter API Key

OpenRouter 注册并创建 API Key,按用量计费,可选用 DeepSeek 等模型。

3. 配置文件

创建并编辑 ~/.claude-code-router/config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"LOG": true,
"LOG_LEVEL": "info",
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1/chat/completions",
"api_key": "YOUR_OPENROUTER_API_KEY",
"transformer": {
"use": ["openrouter", "tooluse"]
},
"models": [
"anthropic/claude-sonnet-4",
"openai/gpt-4o",
"deepseek/deepseek-chat"
]
}
],
"Router": {
"default": "openrouter,deepseek/deepseek-chat",
"background": "openrouter,deepseek/deepseek-chat",
"think": "openrouter,deepseek/deepseek-chat"
}
}

YOUR_OPENROUTER_API_KEY 换成你的 OpenRouter API Key。transformer 中的 "tooluse" 需保留,否则 Claude Code 的工具调用(编辑文件、执行命令等)会异常。

4. 启动方式

用 Router 启动 Claude Code(不再直接运行 claude):

1
ccr code

会话中可切换模型,例如:

1
2
/model openrouter,deepseek/deepseek-chat
/status

Anthropic API 兼容性说明(方式一)

DeepSeek 的 Anthropic 兼容接口支持:

  • 常用参数max_tokensstop_sequencesstreamsystemtemperature(0.0~2.0)、top_p
  • 工具调用toolstool_choice,适合 Claude Code 的编辑与执行等能力
  • 内容类型:文本、thinking 类内容

以下能力在 DeepSeek 端不支持或不生效:

  • 消息中的图片、文档等 multimodal 类型
  • 部分 MCP 相关类型(如 mcp_tool_usemcp_tool_result
  • 部分 Anthropic 专有字段(如 anthropic-betacontainermetadata 等)

仅使用「写代码、改文件、跑命令」等常见能力时,方式一即可满足需求。

常见问题

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 分钟)。


参考链接