☰
Windows下将Claude Code接入DeepSeek:完整配置指南
2026/9/30 5:16:17 网站建设 项目流程

上周末我把 Windows 上的 Claude Code 接到了 DeepSeek 上,整套流程从零开始,到真正在项目里跑起来,大概花了二十分钟。标题里说的“DeepSeek 驱动 Claude Code”,不是拿 DeepSeek 的模型去模拟 Claude Code,而是让 Claude Code 这个 Agent 工具保留完整的工作流(读文件、改代码、跑命令、自动化迭代),底层的大模型推理从 Anthropic API 换成 DeepSeek API。这么做的直接好处是:API Key 注册即用、价格便宜很多,Windows 下的安装配置也完全可复现。

这篇文章适合两类人看:一类是已经装了 Claude Code 但还在用官方 API,想省点成本的;另一类是刚听说了 Claude Code,准备在 Windows 上尝鲜,但不想折腾 Anthropic 账号的人。我尽量把每个步骤背后的原因也讲清楚,而不是只给命令,这样你调试的时候才知道往哪个方向查。

1. 为什么要把 Claude Code 的模型后端换成 DeepSeek

1.1 Claude Code 默认的模型链路和真实门槛

Claude Code 是 Anthropic 出的命令行 AI Agent 工具,核心使用方式是在终端里用自然语言描述任务,它自己去读项目文件、修改代码、执行命令,然后根据命令输出继续迭代。在 Windows 上,它本质是一个跑在 Node.js 里的 CLI 包。默认情况下,它通过 ANTHROPIC_API_KEY 或者账号登录态连接 Anthropic 官方 API,推理用的是 Claude 系列模型。

从实际使用的角度看,默认链路有两个门槛:第一,你得有一个能用的 Anthropic 账号和 API Key,光是账号开通、支付方式绑定这步就有一堆流程要处理;第二,Claude 系列 API 的定价偏高,尤其是高频调用的时候,账单压力很明显。如果你只是个人开发、做一些中小型项目,每天让 AI 帮你写代码、跑测试、看日志,token 消耗累加起来是很可观的。

有人可能会问:那为什么不直接用 DeepSeek 的官方聊天页面,或者别的 IDE 插件?因为 Claude Code 的价值不在模型本身,而在它具备整套 Agent 工作流——主动拆解需求、精确修改文件、自动运行测试、多轮自我修正。这套交互框架是可复用的,换掉模型后端,就不用放弃这套成熟的工具链。

1.2 DeepSeek 的兼容端点让替换变得零代码

DeepSeek 平台提供的 API 里,有一个面向 Anthropic 协议的兼容端点,地址是https://api.deepseek.com/anthropic。这意味着 Claude Code 发出的请求协议不需要任何修改,只要把 API 基地址指向这个 URL,把密钥换成 DeepSeek 的,底层模型就自动切换了。

这个兼容方案对 Claude Code 的日常工作完全够用:

  • deepseek-chat(对应 V3):响应快,日常生成和修改代码的主力。
  • deepseek-reasoner(对应 R1):带深度思维链,适合复杂逻辑分析和方案设计。
  • 价格比 Claude API 低一个量级,按 tokens 计费,充值门槛低。

我自己的实际体验:日常让 Claude Code 帮我写脚本、查 bug、重构函数,deepseek-chat 的响应速度和效果是够的,而且连续用几个小时,费用也就在几块钱级别。真正需要 reasoner 的复杂场景,我一般单独切模型,不会让所有小任务都走深度推理,那是浪费。

2. Windows 环境准备:Node.js 和终端的两个细节

2.1 装 Node.js:版本和 PATH 是两个绕不开的细节

Claude Code 是 Node CLI,第一步自然是 Node.js。版本上,官方要求 18 以上,我建议直接装 20 LTS 或 22 LTS,这两个版本目前稳定性和兼容性都最好。到 nodejs.org 下载 Windows 安装包,一路 Next 装好,然后打开 PowerShell 验证:

node -v npm -v

如果node -v报了“无法识别”,基本就是 PATH 没有生效。装完 Node 后重启终端再看;实在不行,手动把 nodejs 的安装目录加进系统环境变量的 Path 里。

这里有个隐性坑值得单独说一下:不少 Windows 机器上装的是很老的 Node(12.x、14.x),跑 Claude Code 要么启动后没反应,要么跑到一半流式输出异常。遇到这种情况,最佳实践是先把旧 Node 卸载干净,再装 LTS。如果你想装多个 Node 版本,用 nvm-windows 管理,平时切换版本很方便。我的经验是,Claude Code 这种依赖流式、长连接的 CLI,对 Node 版本敏感度比普通脚本高得多,别在版本上将就。

2.2 终端选型直接决定体验

Claude Code 是个交互式终端工具,终端渲染能力直接影响使用体验。Win11 自带的 Windows Terminal 是首选,Win10 也可以单独安装。打开 Windows Terminal 设置,把默认配置文件设置为 PowerShell(推荐 PowerShell 7),尽量别用传统 cmd.exe。

原因很简单:Claude Code 会在终端里渲染动态信息——当前正在执行的工具、进度状态、流式输出,这些内容依赖 ANSI 转义序列。传统 conhost 窗口对这些支持差,容易出现重影、错位、闪屏。Windows Terminal 对这些处理得很干净。

另外,如果你曾经被中文乱码困扰过,可以顺手把默认代码页切成 UTF-8:

chcp 65001

PowerShell 7 + Windows Terminal 的组合下,这条命令基本不需要,主要是保留给 cmd 等老场景应急。Windows 上跑 Claude Code,终端这一步做对了,后面排查问题会轻松很多。

3. 安装 Claude Code:npm 全局安装与登录绕行

3.1 安装命令和 PATH 处理

打开 PowerShell,执行全局安装:

npm install -g @anthropic-ai/claude-code

安装过程通常几十秒到几分钟,取决于镜像速度。执行完验证一下:

claude --version

能输出版本号就说明安装成功。如果提示“claude 无法识别为 cmdlet、函数或脚本文件”,是 npm 的全局 bin 目录不在 PATH 里。用这个命令查看全局目录:

npm prefix -g

输出类似C:\Users\你的用户名\AppData\Roaming\npm,把这个路径加进系统 Path,重新打开终端即可。

在这步容易遇到权限问题:如果 Node 装在 Program Files 下面,npm 全局安装可能需要管理员权限,报 EPERM 或者装得莫名其妙。解决方法是:要么用管理员身份运行 PowerShell 再执行npm install -g;要么干脆用 nvm-windows 把 Node 装到用户目录,不碰系统保护路径,一劳永逸。

3.2 首次启动:搞清楚登录流程是哪一个环节

装好后,在任意目录输入:

claude

如果什么都没配置,首次运行会引导你登录 Anthropic 账号,走浏览器 OAuth 授权。这一步是默认链路的一部分,但如果你打算接 DeepSeek,完全可以跳过。关键点是配置优先级:只要 settings.json 或环境变量里已经给了 ANTHROPIC_API_KEY 和 ANTHROPIC_BASE_URL,Claude Code 启动时会直接用这套连接参数,不再要求登录授权。

我实测的表现是:写好 settings.json 之后再启动 claude,直接出现的是工作目录交互界面,没有任何 OAuth 环节。反过来,如果你之前已经用官方账号登录过,登录态可能会有残留,导致请求仍然发往 Anthropic。处理方式是到C:\Users\你的用户名\.claude目录里,清掉除 settings.json 之外的登录缓存文件。这个操作不影响你已经写好的配置,放心删。

这里还有个小技巧:不想全局安装的话,也可以在项目目录里用 npx 临时运行:

npx -y @anthropic-ai/claude-code

这种形式适合偶尔体验,但日常使用还是建议全局安装,命令短、也不会每次重新解析包。

4. 写出关键的 settings.json:指向 DeepSeek

4.1 配置文件的层级和优先级

Claude Code 的配置有用户级和项目级两类:

  • 用户级:C:\Users\<你的用户名>\.claude\settings.json,影响这台机器上所有项目。
  • 项目级:当前项目下的.claude\settings.local.json,只影响当前项目,且优先级更高。

启动时,项目级配置会覆盖用户级同名项。如果你的日常项目统一走 DeepSeek,建议只写用户级 settings.json;个别项目要单独用其他模型,再在项目里建 settings.local.json 覆盖。这样配置管理最清晰。

另外一个需要警惕的点是系统环境变量。Claude Code 启动时会读取当前进程的环境变量,而 settings.json 里的 env 块本质上也是注入环境变量。两者并存时容易出现“到底用的是哪一份配置”的困扰。我的建议是:所有和 DeepSeek 相关的配置只写在 settings.json 里,不要在 Windows 环境变量里重复设置 ANTHROPIC_BASE_URL 或 ANTHROPIC_MODEL,避免互相覆盖说不清。

4.2 最小可用的 settings.json 配置模板

在C:\Users\<你的用户名>\.claude\settings.json中写入:

{ "env": { "ANTHROPIC_API_KEY": "sk-在这里填你的DeepSeek密钥", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_MODEL": "deepseek-chat", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat" } }

保存,重点看两个字段:

  • ANTHROPIC_BASE_URL:必须带/anthropic结尾。DeepSeek 的 Anthropic 兼容端点和 Claude Code 用的 Messages API 格式是对应的,如果手滑写成/v1,请求格式不匹配,大概率返回 404 或解析失败。
  • ANTHROPIC_MODEL:填 API 模型名deepseek-chat,不是宣传名DeepSeek-V3。API 名才是平台实际接受的名字。

settings.json 是严格的 JSON 格式,不能有注释,编辑时注意别用带 BOM 的保存方式。改完配置后,重启 claude 让它生效。

4.3 主模型和后台模型的分配逻辑

ANTHROPIC_MODEL是主模型,负责核心的对话、代码生成、工具调用决策。ANTHROPIC_SMALL_FAST_MODEL是后台快模型,负责标题生成、对话总结、信息抽取这类轻量任务。

这两个角色分开设置,是因为 Claude Code 内部有大量并不需要深度思考的小调用。如果所有任务都跑主模型,既贵又慢;把它们拆开,后台小任务用便宜的模型,主流程用高质量模型,整体体验才会顺。按照这个逻辑:

  • ANTHROPIC_MODEL日常用deepseek-chat,理由很简单:Agent 多轮交互要的是稳定和速度,V3 已经够强。
  • ANTHROPIC_SMALL_FAST_MODEL也是deepseek-chat,后台任务必须快。
  • 复杂场景需要深度推理时,可以临时在主会话里切换到deepseek-reasoner,但一般不建议把 reasoner 设成默认主模型。Claude Code 的 Agent 循环是高频、多步的,每一步都带完整思维链,延迟会大到难以接受,费用也会明显上涨。

4.4 API Key 的获取和安全存放

DeepSeek 的 API Key 在 platform.deepseek.com 注册后创建,创建时只显示一次,务必立刻复制保存。账户需要充值后才能真正调用 API,按 tokens 消耗扣费。

密钥的安全存放是个容易被忽略的事:settings.json 里虽然可以直接写 key,但如果你把整个目录同步到 Git 仓库,key 就等于公开了。我的做法是:

  • 个人项目的.claude目录加进.gitignore。
  • 团队共享的 settings.json 不写任何人的 key,只放模型配置和 base URL;key 由每个人在自己的 settings.local.json 里填。
  • 如果发现 key 泄露,第一时间到平台删除重建,不要抱有侥幸心理。

5. 启动 Claude Code 跑通一次真实任务

5.1 用真实项目验证配置是否生效

配置完成后,开一个干净目录实测:

mkdir test-claude cd test-claude claude

启动后如果直接进入交互界面,说明连接参数已经生效。建议先在会话里抛一个小任务,比如:

创建一个 Python 脚本,输出斐波那契数列前 20 项,并生成 requirements.txt

正常的 Agent 流程是:先简单确认需求,然后调用文件写入工具创建脚本,再执行命令验证结果。你可以用另一个终端打开 DeepSeek 平台的调用记录页面,如果看到请求在实时产生,就说明流量确实走的是 DeepSeek,而不是残留的 Anthropic 配置。

还有一个验证隐藏配置的办法:执行/init让 Claude Code 扫描并理解当前项目。这一步会触发大量后台小模型调用,此时如果ANTHROPIC_SMALL_FAST_MODEL配得不合理(比如设成了 reasoner),你会明显感觉每一步都在长时间等待。所以/init也是检验快模型配置是否正确的天然测试场景。

5.2 我踩过的坑与完整排查链路

这组配置我在自己机器上跑了好几遍,也经历过一些失败,下面是最容易踩的几个点。

现象可能原因排查思路
启动后仍然要求登录 Anthropic没配 key,或旧登录态残留检查 settings.json 是否存在、JSON 是否合法;清理.claude目录里除 settings.json 外的登录缓存后重启
调用返回 401 / 403API Key 错误、未充值、余额不足去 DeepSeek 平台确认 key 有效性,确认账户有余额
返回 404Base URL 写错确认以/anthropic结尾,不要写成/v1或其他路径
返回 400,提示模型不存在模型名用了宣传名改用deepseek-chat/deepseek-reasoner这两个 API 名
终端中文输出乱码代码页不是 UTF-8运行chcp 65001,或改用 Windows Terminal + PowerShell 7
claude 命令闪退或没反应PowerShell 执行策略限制脚本运行管理员执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

先说最大的坑:登录态残留。我第一次配好配置文件启动,还是进了 OAuth 页面,原因就是之前用官方账号登录过,缓存没清。这个坑的排查思路很简单,但很隐蔽:你只盯配置没有,因为问题是旧的缓存文件。清掉除 settings.json 之外的登录缓存,重新启动就正常了。

第二个要重点提醒的是模型名。我在ANTHROPIC_MODEL里填过deepseek-v3,结果每次调用都报模型不存在。DeepSeek 的 API 只认deepseek-chat和deepseek-reasoner,宣传名 V3、R1 不能直接用。这类错误返回的信息又不太直观,容易让人误以为是 API 地址的问题,白查半天。

第三个是执行策略。Windows 的 PowerShell 默认对脚本运行有严格限制,npm 全局安装的 cli 脚本可能被挡住,表现就是命令一闪而过,或者完全没有输出。管理员 PowerShell 执行一次:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

只影响当前用户,不是系统级放开,风险可控。这是微软提供的正规做法,不是绕过安全机制。

还有一类问题在旧设备上比较常见:Node 版本太老导致流式输出异常。表现是能启动,但回复是一个字一个字蹦出来,甚至卡住。如果你用的是 18 以下的 Node,别犹豫,升级到 20 LTS 再测。

最后一个提醒是关于防火墙的。如果你的 Windows 开启了自带防火墙,且第一次运行 claude 时有弹窗询问是否允许网络访问,要允许 Node.js 通过,否则 Claude Code 连不上 API,表现是启动后卡在初始化阶段,没有任何报错。这个坑和配置无关,但排查起来很折腾,一并写在这里。

我的习惯是,每次改完 settings.json 都用 claude 跑一个小任务验证,确认改动生效,再继续下一个操作。Windows 上这套环境,只要 Node 版本、终端、执行策略这三个基础项没问题,剩下的基本就是配置准确性的问题,照着上面表格逐项查,很快能定位。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询