DeepSeek接入Claude Code:完整配置教程

还是那个终端,还是那些快捷键、斜杠命令、你已经习惯成自然的工作流。驾驶舱里什么都没变——但掀开引擎盖,底下的发动机换了。回答你的模型现在是 DeepSeek V4,跑在你自己的 API 余额上。

这就是 DeepSeek接入Claude Code 的全部卖点,而且动静比想象中小得多:不需要代理层,不需要魔改客户端,不需要包装脚本。DeepSeek 官方开放了一个说 Claude 原生协议的端点,你只要用几个环境变量把 Claude Code 的请求改道过去,所有使用习惯原样保留。这篇教程走完整条路——安装、配置、验证、排错——官方配方放前面,社区实测的真相放后面。这套搭配我自己从春天用到现在,下面的笔记就是我第一天时希望有人递给我的东西。

DeepSeek Claude Code 连接是怎么工作的

想象一个电源转接头:电器不用改,插座不用改,转接头负责在中间翻译。DeepSeek 在 https://api.deepseek.com/anthropic 跑着一个 Anthropic 兼容 API,专门为了让 Claude 生态里的工具即插即用。Claude Code 只认一个变量——ANTHROPIC_BASE_URL——一旦指向 DeepSeek,所有请求就此改道。

两个细节让这套接入比看上去更稳。

其一,Claude Code 在设置了自定义 base URL 时不校验模型名。模型字符串原样透传给供应商,所以你可以在官方预期填 Claude 名字的槽位里写 deepseek-v4-pro[1m]——客户端不管,转发就是。

其二,DeepSeek 服务端会兜底接住漏网之鱼。claude-opus 开头的名字映射到 deepseek-v4-pro,claude-sonnetclaude-haiku 开头的映射到 deepseek-v4-flash;完全不认识的名字不报错,直接落到 v4-flash。所以哪怕配置只做了一半,多半也能跑——只是悄悄地全线用了轻量模型。

同样重要的是"什么没变"。你的 CLAUDE.md 项目指令、斜杠命令、权限规则、MCP 服务器、钩子、子代理定义——这些全在客户端本地,换后端一根毫毛都动不了。服务端看到的只是模型请求、返回的只是模型响应。有人反馈某模型"不理 CLAUDE.md",那是模型听不听话的问题,不是文件没加载——指令每次请求都随行。

开始之前:API Key 与前置条件

备齐三样东西:

  • DeepSeek API Key。DeepSeek 开放平台创建,sk- 开头。计费按 token 用量走,先充几美元额度再开第一次会话——余额见底请求会直接失败。
  • Node.js 18 或更高(走 npm 安装的话)。Windows 用户还要装 Git for Windows,它提供 Claude Code 依赖的 bash 环境。
  • 想好 Key 放哪。 这个 Key 有账户级消费权限,别提交进 git 仓库——放进 .gitignore 的 env 文件或系统的密钥管理工具才是正路。

第 1 步 — 安装 Claude Code

两条官方安装路径,任选其一:

# 原生安装器(Anthropic 当前推荐,macOS/Linux/WSL)
curl -fsSL https://claude.ai/install.sh | bash

# npm 包(DeepSeek 文档给出的路径,需 Node.js 18+)
npm install -g @anthropic-ai/claude-code

claude --version 验证——能打出版本号,说明二进制已经在 PATH 上。

先埋一句忠告:只保留一种安装。如果原生二进制和一个旧 npm 副本同时存在,shell 可能解析到过期的那个,之后你会追着幽灵 bug 打转。npm 在你的网络太慢的话,装的时候临时切镜像源、装完切回来,是社区里走熟了的路子。

第 2 步 — 把 Claude Code 指向 DeepSeek

DeepSeek接入Claude Code 的核心就在这一步,做法有三种。终点相同,区别在改动能活多久、谁能读到它。

方法一:环境变量

官方接入文档给出九个变量的配方。Linux 和 macOS:

export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=<你的 DeepSeek API Key>
export ANTHROPIC_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432

Windows PowerShell 用户用 $env: 赋值同一组变量——例如 $env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"——在即将启动工具的那个窗口里执行。

每行到底在干什么:

变量作用
ANTHROPIC_BASE_URL改道开关。所有请求发往 DeepSeek 兼容端点
ANTHROPIC_AUTH_TOKEN你的 sk- Key,作认证令牌
ANTHROPIC_MODEL主对话用的模型
ANTHROPIC_DEFAULT_OPUS_MODEL"opus" 档位解析到谁
ANTHROPIC_DEFAULT_SONNET_MODEL"sonnet" 档位解析到谁
ANTHROPIC_DEFAULT_HAIKU_MODEL轻量 "haiku" 档位解析到谁
CLAUDE_CODE_SUBAGENT_MODEL后台子代理用的模型
CLAUDE_CODE_EFFORT_LEVEL思考强度,官方配方钉死 max
CLAUDE_CODE_AUTO_COMPACT_WINDOW自动压缩阈值(token 数,786432 ≈ 768K)

export 只活一个终端会话。日常使用就追加到 ~/.bashrc~/.zshrc(或 PowerShell profile)再 source 一次——经典的"怎么设置又忘了"问题,本质就是会话作用域在正常工作——我第一周问了两次,习惯才养成。

方法二:settings.json 配置文件

DeepSeek 自家的集成仓库更推荐配置文件:Linux/macOS 放 ~/.claude/settings.json,Windows 放 C:\Users\<你>\.claude\settings.json。没有就新建:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "<你的 DeepSeek API Key>",
    "ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash[1m]",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
    "CLAUDE_CODE_EFFORT_LEVEL": "max"
  }
}

为什么优先用文件?Claude Code 的每个形态都读它——CLI 和 VS Code 扩展通吃——配置跟着工具走,而不是跟着某一个 shell 走。你的 dotfiles 也能保持干净。

诚实脚注:两个官方源发布的变量集不完全一样。API 文档含子代理和自动压缩两个变量;仓库版多了 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,少了那两个。都是官方,都没错——多数实际部署最后是合并着用(文件为主,再补两个环境变量)。

方法三:CC Switch

如果你要轮换后端——今天 DeepSeek、明天另一家——GUI 切换器比手改 JSON 舒服。CC Switch 是开源桌面工具(GitHub 5 万多星),统一管理 Claude Code 和同类 CLI 的多家供应商:预设列表里选 DeepSeek,粘贴 Key,加上模型 ID deepseek-v4-pro[1m],点启用,再点一下"测试"发个验证请求。它底层写的就是方法二那个 settings.json——本质是个友好的编辑器,不是另一套机制。

快速决策:临时试水 → 方法一;日常主力 → 方法二;多后端切换 → 方法三。

第 3 步 — 验证连接

三块仪表,从便宜到权威。

油表: 在项目里启动工具,跑 /status。配置正确会显示三行——Base URL: https://api.deepseek.com/anthropic、你钉的模型、以及 Small fast model: deepseek-v4-flash

自检灯: claude doctor 检查安装本身——PATH 问题、工具损坏、版本异常。命令能启动但行为古怪时跑它。

万用表: 绕开客户端直接测端点:

curl -X POST https://api.deepseek.com/anthropic/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <你的 key>" \
  -d '{"model":"deepseek-v4-flash","max_tokens":10,"messages":[{"role":"user","content":"test"}]}'

返回 JSON,说明 Key、端点、网络全通;报认证错,问题在 Claude Code 上游。

一个预期要先立好:DeepSeek 控制台里同时出现 v4-pro 和 v4-flash 用量是正确的,不是配错了——后台子代理本来就跑 Flash。拿不准时,以供应商用量日志里的 model ID 为准,别信终端显示。

[1m] 后缀与上下文窗口

deepseek-v4-pro[1m] 里那个方括号后缀不是装饰。按 Claude Code 自家配置文档的命名规则,[1m] 表示选用百万 token 上下文窗口——同一个模型的长会话档。官方 DeepSeek 配方在所有主力槽位都钉了它,并配套把自动压缩阈值设为 786432 token:约 768K,在 1M 窗口里留出余量,让压缩赶在你掉下悬崖之前发生。

不带后缀的裸名呢?社区说法不一。一派报告裸 deepseek-v4-pro 默认给较小的窗口,加 [1m] 才解锁百万;另一派坚持官方 API 下两个模型都给 1M。两种说法都没有官方文档背书,所以务实的选择很无聊也很安全:逐字照抄官方配方,括号留着,模型串别自由发挥。

长窗口的实况,来自真把它跑满的人:400K token 的代码库分析,延迟出乎意料地接近原生;但过了 ~500K 就陆续出现"走神"报告。百万窗口是真的;指望它在整段窗口内同样锐利,就乐观了。

什么时候这个后缀真正值回票价?恰恰是 Claude Code 天然制造的那些场景:整仓级提问("这个函数在哪被调用?")、连续数小时滚雪球的超长重构、还有那种你一次次 resume 就是不肯重启的长会话。如果只是停在十万 token 以内的常规功能分支,标准窗口根本不会被发现——这也解释了官方配方为什么主力会话给大窗口、子代理给快模型:经济账算得通。

哪个模型接哪类请求

Claude Code 内部排着一张值班表:主对话一个模型,后台子代理(文件搜索、快速摘要、agent 团队)另一个,而 opus/sonnet/haiku 这些别名只是"班次",排到谁由你钉的变量决定。你的配置就是排班表:

Claude Code 槽位官方 DeepSeek 配方
主会话(opus/sonnet 档)deepseek-v4-pro[1m]
轻量调用(haiku 档)deepseek-v4-flash
子代理deepseek-v4-flash
未映射名称(服务端兜底)deepseek-v4-flash

为什么拆开配?钱和速度。有开发者把这套组合连跑一周,发现 Flash 接住了约 80% 的日常活——重构、堆栈报错分析、写新函数——延迟大多在个位数秒,真正难的规划才留给 Pro。对真实会话的分析估计,省钱的大头恰恰来自 haiku 档的路由:每一次轻量内部调用都落在 Flash 的低价档,而不是旗舰价。

还有两个行为值得知道。思考强度 CLAUDE_CODE_EFFORT_LEVEL 控制模型每一步想多深,配方钉在 max(社区观察称 Agent 流量反正会自动拿到 max)。Web Search 原生可用:模型判断问题需要新鲜信息时,会通过 DeepSeek 的 API 调搜索工具,代价是总结检索结果要多花一些 token。

用的是 Claude Desktop 桌面版而不是终端?同一套服务端映射照常生效——它的开发者模式接受自定义 base URL 和 Key,名字翻译交给映射。(这些名字背后的完整模型阵容,见什么是 DeepSeek。)

兼容层到底支持什么

转接头的比喻一直成立到请求字段级。DeepSeek 的 Anthropic 格式端点公开了一份兼容矩阵,知道它的形状,大多数"为什么 X 行为不一样"的疑惑就有了答案:

请求字段DeepSeek 端点状态
temperature(0.0–2.0)、top_pstop_sequencesstreamsystemmax_tokens完整支持
工具定义、tool_choice、工具结果完整支持
thinking支持——budget_tokens 被忽略
图像输入(base64、URL、文件)支持
top_k忽略
cache_control(提示缓存标记)忽略
文档块、代码执行结果、MCP 工具块不支持

日常真正要留意的只有两行。thinking 那行意味着推理深度走 effort 设置而非 token 预算——和配方里的 effort 变量对得上。缓存那行意味着 Anthropic 式缓存标记是空操作;DeepSeek 在计费侧自己做输入缓存命中折扣,不需要你标注缓存断点。Claude Code 默认发出的请求全部落在"支持"列里——这就是为什么这套接入感觉是原生而非硬拼的。

排错:一张表覆盖常见故障

下面每个坑都有人公开踩过。对症状,上解法:

症状可能原因解法
claude: command not found二进制不在 PATH,或装了多份重开 shell;which -a claudenpm -g ls @anthropic-ai/claude-code 揪出多余副本;只留一份
登录提示反复出现启动的 shell 没加载变量在启动它的那个 shell 里确认 env;~/.claude.jsonhasCompletedOnboarding 是社区偏方
WSL 里提示 "Not logged in"WSL 调到了 Windows 侧的二进制检查 PATH,确保跑的是 Linux 侧安装
首次请求 401Key 错,或余额为零重贴 sk- Key;充值
403base URL 没指到 DeepSeek核对 ANTHROPIC_BASE_URL 拼写
404模型串拼错逐字符照抄 deepseek-v4-pro[1m]——括号也在内
该出 Pro 的地方出了 Flash子代理本来就用 Flash先看供应商日志里的请求角色,再下结论
vim 存盘报 E212~/.claude 属主不对mkdir -p ~/.claude && chown -R $USER ~/.claude && chmod -R 755 ~/.claude
npm install 龟速或失败网络到 registry 不通装时切镜像源,装完切回

其中三个值得多说一句。PATH 冲突最阴险——两份二进制、旧的赢了,症状像什么都像,就是不像安装问题。curl 测试是最干净的二分法:一条命令把"Key 和端点"从"客户端和配置"里剥出来。而 404 几乎全是模型名里的隐形字符或丢了括号——所以配方值得粘贴,不值得手打。

预期管理:诚实的利弊账

换过去到底什么体感?公开过的数字形状很一致。

成本:一位知名开发者用 v4-pro 高强度跑 Agent,大约每小时烧 1 美元。一位安全研究员记下了一整个工作日——412 次工具调用、三道专家级 Web 挑战加一个真实 Android 应用——6.84 美元。对照 Anthropic 旗舰上线时点的输出价,v4-pro 每 token 大约便宜七倍,盲测榜单上两者 SWE-bench Verified 相差 0.2 分。(这些是 2026 年 4–5 月窗口的数字,自己算账前先看现价。)

能力:几周社区用下来,公允的概括是"约十分之一的价格,换来 Claude 八成到八成五的体验"。Flash 速度的活几乎无感,Pro 上的硬规划也扛得住。

糙边也是真的。一位长跑用户的清单:有时不理 CLAUDE.md 的指令、要反复提醒才看记忆笔记和编码规则、还做过无人监督的改动,最后靠 git 才捞回来。结论是"便宜,但得盯着"——这个结论我自己的 git reflog 可以作证。两个习惯能拆掉大部分雷:一次只换一个模型槽位,出回归时嫌疑犯明确;凡是让它无人监督改文件的,终端放在眼皮底下。

一个被低估的好处:按 token 计费让每轮成本可见。那条六千 token 的 CLAUDE.md、那三个你早忘了的 MCP 服务器,都变成账单行项——配置文件很快就被清理干净了。

谁该三思?会话真的超过五十万 token、且要求全程高一致性的那类人——漂移报告正是聚在这个区间,旗舰 Claude 模型在这里仍有真实优势。其他人——功能开发、重构、代码评审、日常拉锯——这笔交易怎么算都是赚的。

常见问题

这套方案需要 Anthropic 账号或 API Key 吗?不需要。这条路只用 ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN 里的 DeepSeek Key,没有任何东西向 Anthropic 认证。如果弹出登录流程,说明启动它的 shell 没加载变量。

免费吗?不免费——DeepSeek API 按量计费,按 token 结算,输入有缓存命中折扣。充个几十块就够跑很久,但空账户会拒绝请求。有新账号赠金的说法,别指望它。

Web Search 能用吗?能,原生支持。模型判断问题需要新鲜资料时,会经 DeepSeek 的 API 调搜索工具。总结检索结果要花额外 token,重度搜索会体现在账单上。

怎么切回官方 Claude 模型?清掉覆盖项即可——删掉环境变量(或 settings.json 里的 env 块),正常登录。用 CC Switch 的话,供应商列表里点一下。

日常写代码用哪个模型?按官方拆法:主会话和难题用 v4-pro,轻量档和子代理用 Flash。社区实测 Flash 一个就能接住约八成日常请求;给两个模型调提示词的话,DeepSeek 提示词技巧里的方法直接通用。

VS Code 扩展里能用吗?能。扩展读的就是同一个 ~/.claude/settings.json——Claude Code配置DeepSeek 的每一处入口都吃这份文件,这正是长期配置优先用文件而不是 shell 变量的原因。

整个迁移就三步:平台拿 Key,把官方九变量配方贴进 shell 或配置文件,/status 确认 base URL 生效。DeepSeek接入Claude Code 这件事,难的不是配置,是知道每个变量在干什么——现在你知道了。之后,驾驶舱还是你的:命令照旧、手感照旧,引擎盖底下换了一台养得起的发动机,油表敢看了。