尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Claude Code在Windows接入DeepSeek:环境配置与settings.json全解析

Claude Code在Windows接入DeepSeek:环境配置与settings.json全解析 最近好几个群里都在聊同一个问题Claude Code 能不能跑在 Windows 上而且不绑 Claude 官方账号用 DeepSeek 当后端模型驱动它我周末花了一下午把这条路完整走了一遍结论是可以而且关键配置就集中在 settings.json 一个文件里。这篇把从零到跑通的全流程写清楚包括 Node.js 环境准备、Claude Code 安装、DeepSeek API 申请以及最核心的 settings.json 配置逐项拆解最后附上我实测遇到的坑和排错思路。适合没有 Claude 订阅、日常在 Windows 下做开发、想低成本接入 AI 编程助手的人参考。1. Claude Code 与 DeepSeek 的对接逻辑为什么这套方案能成立先说结论Claude Code 本质上不是一个绑定死 Claude 模型的封闭工具它更像一个 AI 编程助手客户端默认把请求发往 Anthropic 的 API但对外暴露了一套可通过环境变量覆盖的接口配置。DeepSeek 官方也提供了兼容 Anthropic API 格式的接入端点于是两边就能对接上。这个机制搞明白了后面配置就不是背参数而是顺理成章的事。1.1 Claude Code 是一个可换后端的命令行客户端Claude Code 是 Anthropic 推出的命令行 AI 编程工具安装后你在终端里敲 claude 就能进入交互式对话界面。它做的事情本质上是把你在终端里的提问、上下文代码、工具调用请求封装成 API 请求发送到某个模型服务端点再把模型返回的内容解析、渲染成终端输出。默认情况下这个模型服务端点是 Anthropic 官方的 Claude API需要 Claude 账号或者 API Key 才能用。但 Claude Code 在设计时留了环境变量的口子比如 ANTHROPIC_BASE_URL 用来指定 API 地址ANTHROPIC_AUTH_TOKEN 用来指定密钥ANTHROPIC_MODEL 用来指定模型名称。这就意味着只要目标模型服务商提供了兼容 Anthropic API 格式的接口把这三个环境变量指过去Claude Code 就会把请求送给那个服务商。用一个不太准确但很好懂的类比Claude Code 像一台电视默认插的是 Anthropic 的机顶盒但电视后面留了通用 HDMI 口DeepSeek 做了一个同样规格的转接头于是你把 DeepSeek 的盒子插上去电视照样能看只是内容源换了。1.2 DeepSeek 的 Anthropic 兼容端点DeepSeek 官方在 API 文档里提供了一个专门给 Claude 系工具用的接入地址https://api.deepseek.com/anthropic。这个地址的请求格式、响应格式都按照 Anthropic API 的规范实现所以 Claude Code、Claude Desktop 这类原本只认 Anthropic 接口的工具可以无缝把 DeepSeek 当成后端模型来用。模型名称方面DeepSeek 开放平台主要提供两个模型deepseek-chat对应 DeepSeek-V3 系列擅长常规对话和代码生成和 deepseek-reasoner对应 DeepSeek-R1 系列擅长推理链会在输出前生成思考过程。在 Claude Code 里一般建议用 deepseek-chat因为它的响应速度更快、交互更顺畅代码生成能力也足够强deepseek-reasoner 可以在需要复杂推理的任务中切换使用。这里有一个细节需要注意Claude Code 内部会按功能把请求划分为不同模型档位比如默认主模型、快速小模型等。如果这些档位没有正确映射到 DeepSeek 的模型可能出现有些对话正常、有些功能报错的怪问题。后面配置章节会专门讲怎么把这些档位全部指向 DeepSeek 模型。1.3 这套方案适合谁不适合谁先摆清楚适用边界免得有人满怀期待配置完发现不是那么回事。适合的人没有 Claude 官方账号或海外信用卡、但又想体验 Claude Code 交互方式的开发者手上有 DeepSeek API 额度、想在命令行里用 AI 写代码的玩家对数据流向有要求、希望请求直接打到国内服务商的团队。DeepSeek 的 API 在国内可以直接访问网络这一层几乎不用额外折腾。不适合的人重度依赖 Claude 专属高级功能——比如 Artifacts 界面预览、Claude 官方网页生态联动等——的用户因为这些 Clude Code 本来就不怎么涉及跟 DeepSeek 也无关还有就是期待完全复刻 Claude 模型输出风格的DeepSeek 和 Claude 是两种模型思考方式和代码风格有明显差异不要指望像素级一致。这件事我自己的态度是工具是死的接口是公开的模型是百花齐放的。与其被单一厂商绑定不如把工具链调成自己顺手的组合。DeepSeek 驱动 Claude Code本质就是一次接口协议兼容带来的自由组合理解了这一点后面所有配置操作就都有了依据。2. Windows 前置环境Node.js、npm 与终端工具的准备Claude Code 是 Node.js 写的命令行程序通过 npm 分发所以 Windows 上第一步不是装 Claude Code 本身而是把 Node.js 环境准备好。这一步看起来简单但版本选错、npm 源没配、PowerShell 执行策略没开都会在后面让你平白踩坑。我按实际操作顺序讲每一步都给理由。2.1 Node.js 安装版本与安装细节Claude Code 对 Node.js 有最低版本要求建议直接装最新的 LTS 版本。LTS 就是长期支持版稳定性有保障Claude Code 这种持续迭代的工具在 LTS 上出兼容问题的概率最小。去 Node.js 官网下载 Windows 安装包.msi 格式安装时一路默认即可。有两点值得注意一是安装路径。默认装在 C:\Program Files\nodejs如果你介意 C 盘空间可以改到 D:\nodejs但一定要保证安装路径里没有中文和空格。我在给朋友远程配置时遇到过装在 D:\软件\nodejs 下的结果 npm 全局安装的脚本路径解析乱套命令能执行但找不到模块非常折磨。二是安装完成后要新开一个终端窗口再验证。很多人在安装后直接在旧的 PowerShell 窗口里敲 node -v发现命令不存在以为是安装失败其实只是 PATH 环境变量在旧窗口里没刷新。验证方式很简单node -v npm -v正常情况下会分别输出版本号比如 v20.x.x 和 10.x.x。如果提示无法识别先新开窗口再不行就检查环境变量里有没有 C:\Program Files\nodejs\ 或者你自定义的路径。2.2 npm 官方镜像配置不换源你会在安装时怀疑人生npm 默认源是 https://registry.npmjs.org国内访问速度时快时慢装一个 200MB 左右的包可能卡到你怀疑网络断了。Claude Code 依赖的包数量不少安装过程要拉一堆内容我强烈建议先换源这一步能节省大量时间。我推荐用 npmmirror 镜像也就是淘宝 npm 镜像稳定性和同步速度都不错。配置命令npm config set registry https://registry.npmmirror.com验证是否生效npm config get registry看到输出 https://registry.npmmirror.com 就说明成功了。顺便说一句npm 还有缓存目录的概念如果之前用官方源装过一半的包换源后再安装可能出现缓存冲突可以用 npm cache verify 检查必要时 npm cache clean --force 清理后重来。2.3 终端工具选择与 PowerShell 执行策略Claude Code 是一个交互式终端程序对终端环境有一定要求。Windows 自带的经典 conhost 窗口对 ANSI 颜色和交互式界面的支持比较弱建议使用 Windows Terminal。Win11 系统自带Win10 可以去 Microsoft Store 安装免费的装完把默认终端设置为 Windows Terminal体验会好很多。还有一个小坑PowerShell 默认执行策略是 Restricted限制脚本执行npm 安装的全局包生成的 .ps1 脚本可能无法执行导致你在 PowerShell 里输入某个命令时报无法加载脚本因为在此系统上禁止运行脚本。解决办法是用管理员权限打开 PowerShell执行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserRemoteSigned 表示本地脚本可以运行从互联网下载的脚本需要签名。这是比 Unrestricted 更稳的策略既不会卡住正常工具使用又保留了一定的安全防护。3. 安装 Claude Code 与准备 DeepSeek API 密钥环境就绪后接下来的操作就轻快多了。这一章讲 Claude Code 的安装验证和 DeepSeek API 密钥的申请都是日常高频操作但里面有一些细节会影响后面的配置文件能不能生效。3.1 npm 全局安装 Claude CodeClaude Code 的 npm 包名是 anthropic-ai/claude-code全局安装命令npm install -g anthropic-ai/claude-code安装过程会打印进度条因为依赖比较多第一次装可能耗时几分钟这很正常。装完后验证claude --version能输出类似 1.x.x 的版本号就说明安装成功。如果 claude 命令找不到多半是 npm 全局安装目录没有加到 PATH。可以用 npm prefix -g 查看全局目录把对应 bin 路径加进系统环境变量。另外提一个基于个人经验的点不要用 cnpm 装这个包。cnpm 在依赖处理上有时候会出现鞭尸式符号链接问题导致安装成功但启动报错。使用 npm 镜像源的方式足够快没必要冒这个风险。3.2 验证安装并跳过官方登录第一次在终端输入 claude 启动时默认会进入一个登录引导流程要求你登录 Anthropic 账号。如果你按照本文方案用 DeepSeek 作为后端这一步直接跳过。跳过的办法不是点跳过按钮而是先完成 settings.json 配置下一章配置好了之后 Claude Code 在启动时会检测到环境变量里的 API 地址和 Token就不会再强制要求走官方登录流程。如果你在配置完成前先 run 了一次并进入了登录页面可以用 CtrlC 退出问题不大。3.3 申请 DeepSeek API Key 与充值DeepSeek 开放平台的地址是 platform.deepseek.com用手机号注册即可。登录后在左侧菜单找到API Keys点击创建会生成一串以 sk- 开头的密钥。创建后要立刻复制保存因为密钥只显示一次关掉页面再想看只能重新生成。充值方面DeepSeek 平台支持支付宝充值按量计费对个人开发者很友好。我实测日常写代码、问问题充个几十块能用很久。价格对比上DeepSeek 的 API 调用成本比 Claude 官方 API 低一个数量级这也是很多人愿意把它接到 Claude Code 里用核心原因。安全提示API Key 本质是你的钱袋子。不要把它写在代码仓库里不要截图发群里不要提交到公开项目。建议单独存在本机一个只有你可见的文本文件里或者直接放在密码管理器里。后面配置到 settings.json 时也注意不要把这个文件传到任何同步盘或网盘——后面我会讲怎么处理这个问题。4. settings.json 全配置拆解把 DeepSeek 接进 Claude Code这一章是全文的核心。Claude Code 的配置文件 settings.json 承载了环境变量注入、模型映射、界面偏好等关键设置把它搞懂整套方案的原理也就掌握了一半。我会从文件位置、配置原理、完整示例、逐项解析四个层面讲。4.1 配置文件在哪三种定位方式Claude Code 的配置文件按环境区分分为用户级和项目级。用户级配置文件位置C:\Users\你的用户名\.claude\settings.json如果没有这个文件第一次启动 Claude Code 时会自动创建也可以手动新建 .claude 目录和 settings.json。项目级配置文件位于项目的 .claude/settings.json项目级配置会覆盖用户级配置。一般建议把环境变量这类公共设置放用户级把项目特定设置放项目级。三种定位方式按实用程度排序最常见的做法是在终端里启动 Claude Code输入 /config 命令它会显示配置文件的当前加载情况并可以直接打开配置文件进行编辑。这比手动找路径直观得多。直接进入 C:\Users\你的用户名.claude\ 目录看有没有 settings.json。在 Claude Code 对话界面中用 /status 命令查看当前生效的配置来源能区分哪些配置来自用户级、哪些来自项目级。4.2 配置原理env 字段注入环境变量settings.json 虽然是 JSON 格式的配置文件但它里面有一个 env 字段专门用来设置环境变量。Claude Code 启动时会读取 env 字段中定义的键值对注入到当前进程环境中。这意味着你在 settings.json 里配置的 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 等变量就等价于在系统里手动设置了同名环境变量但比系统环境变量更灵活、更可控。这也解答了一个很多人困惑的问题为什么配置生效了但我不需要去系统属性-环境变量里手动添加就是因为 settings.json 的 env 字段完成了这个注入动作。它和手动设置系统环境变量的关系是settings.json 的 env 字段优先级更高会覆盖同名系统环境变量。这一点在调试时很实用——你不用动系统级配置只改 settings.json 就可以切换不同后端。4.3 完整配置示例下面是我在 Windows 11 上实际运行通过的一份完整配置包含了接入 DeepSeek 的核心项和一些提升体验的设置{ env: { ANTHROPIC_BASE_URL: https://api.deepseek.com/anthropic, ANTHROPIC_AUTH_TOKEN: sk-你的DeepSeek密钥, ANTHROPIC_MODEL: deepseek-chat, ANTHROPIC_DEFAULT_OPUS_MODEL: deepseek-chat, ANTHROPIC_DEFAULT_SONNET_MODEL: deepseek-chat, ANTHROPIC_DEFAULT_HAIKU_MODEL: deepseek-chat, API_TIMEOUT_MS: 600000, CLAUDE_CODE_USE_BEDROCK: 0 }, permissions: { allow: [ Read, Glob, Bash, Edit ], deny: [ Write ] }, theme: dark, verbose: false }提示上面这份配置里的 ANTHROPIC_AUTH_TOKEN 需要替换成你在 DeepSeek 平台创建的 sk- 密钥。千万不要原样照抄更不要把填好密钥的 settings.json 分享给任何人。4.4 每个配置项逐行解析我把配置里的每一项为什么这么写、不写会怎样、写错了会怎样逐一讲清楚。第一组是 env 字段里的环境变量。ANTHROPIC_BASE_URL 的值是 DeepSeek 的 Anthropic 兼容端点地址。这是整个配置的地基没有它Claude Code 还是会往 Anthropic 官方地址发请求那你就需要官方 Key整个方案就不成立了。如果你看到请求失败并提示 404 或者 host 无法解析先检查这一项是否写对。ANTHROPIC_AUTH_TOKEN 是认证密钥。DeepSeek 的兼容接口要求这个字段填写你的 DeepSeek API Key。Claude Code 拿到这个值会自动在请求头中带上 Authorization 信息。值得强调的是这个字段名不是 DEEPSEEK_API_KEY而是 ANTHROPIC_AUTH_TOKEN因为 Claude Code 只认这个标准字段名至于里面装的是谁的钥匙它不管。这是很多初次配置的人容易搞混淆的地方。ANTHROPIC_MODEL 指定默认主模型。这里填 deepseek-chat。如果不配Claude Code 可能使用它内置的默认模型名比如 claude-3-5-sonnet而 DeepSeek 接口不认识这个名字就会返回模型不存在错误。后面三个 ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL 是模型档位映射。Claude Code 内部逻辑里会把不同任务分派给不同档位的模型复杂任务用 Opus 档日常任务用 Sonnet 档轻量任务或后台处理用 Haiku 档。这三个档位默认都是 Claude 系模型名如果只设置了 ANTHROPIC_MODEL部分任务还是可能去请求 Claude 模型导致报错。把它们全部映射到 deepseek-chat可以确保无论内部怎么分配最终请求都发给 DeepSeek这是避免一半能用一半报错的关键。API_TIMEOUT_MS 设置请求超时时间。默认超时时间可能不够长因为 DeepSeek 的 deepseek-reasoner 这类推理模型在思考长链路问题时响应时间会显著增长超时导致任务中断非常可惜。我设成了 600000也就是 10 分钟。如果你主要用 deepseek-chat可以缩到 3000005 分钟根据实际体感调整。CLAUDE_CODE_USE_BEDROCK 是关闭 Bedrock 后端的一个标志。Claude Code 在某些环境下会尝试通过 AWS Bedrock 接入模型我们不需要它显式设置 0 可以避免误探测带来的启动延迟或报错。第二组是 permissions 权限配置。Claude Code 在执行操作时会请求权限默认是每次弹窗询问。这对日常交互很啰嗦所以我配置了 allow 和 deny。allow 数组里放的是允许自动执行的动作类型Read、Glob 是读取类操作Bash 是执行终端命令Edit 是编辑文件。deny 里我放了 Write也就是不自动放行写入操作——注意这里的 Write 指的是某些需要谨慎处理的写入行为比如全局级联修改。这个配置思路是只读和命令执行放行涉及关键写入时人工确认兼顾效率和安全性。个人使用可以这样配团队使用建议保持默认询问策略。第三组是界面偏好。theme 设为 dark对应我个人偏好。Claude Code 支持 dark 和 light在 Windows Terminal 深色背景下dark 更舒服。verbose 设为 false 是让输出更精简不放太多日志噪音。如果你喜欢看详细的请求状态把它改成 true。4.5 配置完成后如何验证生效写完配置保存然后重新打开终端启动 claude。确认是否生效有两个方法第一个是看启动画面或对话框如果不再出现需要登录 Anthropic 的引导说明 ANTHROPIC_AUTH_TOKEN 已被正确读取。第二个是直接在 Claude Code 对话里输入 /status这个命令会列出一大堆当前运行参数包括 API 端点、模型名称、权限策略。如果看到 API Base URL 显示 https://api.deepseek.com/anthropic模型显示 deepseek-chat说明你的配置已经完全接管了 Claude Code 的后端。5. 实测跑通与常见问题排查配置完成只是开始真正跑起来才是见真章的时候。这一章分享我的实测过程、碰到的几个典型问题以及对应的排查思路这些问题很典型你大概率也会遇到。5.1 一个真实任务实测我配置完成后跑的第一个任务是让 Claude Code 在当前目录里写一个 Python 脚本爬取一个网页表格数据到 CSV 文件。这是一个相对完整的小需求能同时验证对话、写代码、读取文件、执行命令几项核心能力。实际体验是启动 claude 后输入需求它很快给出了思路然后自动创建了一个 .py 文件代码结构完整再接着运行脚本把 CSV 生成了。整个过程的交互流畅度超出我预期。DeepSeek 模型的代码生成风格偏务实给的代码直接能跑注释不多但清晰没有大段无意义的解释。测试 deepseek-reasoner 的体验也值得说一下。把模型切到 deepseek-reasoner 后面对分析这段代码的潜在性能瓶颈这类需要推理的问题它会先输出一段思考过程再给结论能感觉到推理链条的存在但响应速度比 deepseek-chat 慢不少。日常编程我更推荐 deepseek-chat理由很简单交互效率高中等复杂度的任务完全够用。5.2 高频报错对照表我在调通的过程中遇到过几类报错这里整理成对照表方便你直接在排错时对照报错表现根本原因解决方法提示 401 UnauthorizedANTHROPIC_AUTH_TOKEN 填错或没填重新复制 DeepSeek API Key检查 settings.json 中字段名有无拼写错误提示 404 Model Not Found模型名不被 DeepSeek 接口识别检查 ANTHROPIC_MODEL 以及三个 DEFAUL 映射项确认都是 deepseek-chat 或 deepseek-reasoner请求超时推理模型响应慢超时时间短把 API_TIMEOUT_MS 增大到 600000启动时仍要求登录 Anthropicsettings.json 没有生效或文件路径错误确认文件位于 C:\Users\你的用户名.claude\settings.json并检查 JSON 格式是否合法工具调用失败陷入反复重试某个内部档位还在请求 Claude 模型补齐三个 DEFAULT 系列的模型映射项输出中文乱码或终端 UI 错乱终端对 ANSI 支持不好使用 Windows Terminal避免经典 conhost 窗口补充一个血泪教训JSON 文件是严格格式不能有注释。我在一开始的 settings.json 里按习惯写了 // 注释结果 Claude Code 直接拒绝加载配置文件命令行里也完全不报错查了半天才发现是注释的锅。记住JSON 里不要放代码注释。5.3 工具调用异常时的降级方案Claude Code 的能力很大程度上来自工具调用也就是它能自己读写文件、执行命令。配置完 DeepSeek 后如果工具调用链路出现异常比如模型返回的格式 Claude Code 解析不了或者权限配置过严导致半步都走不了可以采取以下降级策略。第一步先把 permissions 配置简化成最开放的 allow 数组临时允许所有常见操作permissions: { allow: [ Read, Glob, Bash, Edit, Write ] }如果这样还不行再考虑配置问题之外的原因比如当前工作目录是否写入受限、杀毒软件是否拦截了命令行子进程。我用的是 Windows Defender 默认配置没有出现拦截。如果你装了第三方安全软件可以临时关闭文件监控测试是否受影响。第二步如果工具调用失败只出现在特定操作上比如网络请求类工具可以退回到让模型只生成代码由你自己手动执行命令。Claude Code 支持在对话里直接要求不要执行工具只输出代码和操作步骤模型一般都会配合。这种方式虽然交互效率打折但能保证任务推进不至于卡死。5.4 日常使用建议与效率技巧跑通之后有一段持续调优的过程这部分分享几个我用着顺手的技巧。目录级别的配置隔离。我在不同的项目目录里放各自的 .claude/settings.json有些项目希望 AI 更积极地改文件权限放宽有些项目只希望 AI 给建议不动代码权限收紧。这个灵活度是项目级配置文件带来的别浪费。配置文件备份与恢复。settings.json 里含有密钥不建议直接存网盘但可以把它结构备份密钥单独存。我习惯在本地新建一个 claude-config-template.json把密钥字段留空每次重装只需要复制模板、填入密钥即可。这样既避免忘掉配置结构又不至于泄露密钥。用 /model 命令快速切换模型。在 Claude Code 对话里输入 /model可以即时检查和切换当前模型不用反复改文件。我在常规开发时用 deepseek-chat遇到复杂重构任务时手动切 deepseek-reasoner。善用 CLAUDE.md 项目说明文件。在项目根目录放一个 CLAUDE.md里面写清楚项目的技术栈、目录结构、常见命令、代码规范Claude Code 会自动读取它作为上下文。这个文件对模型输出质量和贴合度提升非常明显比在对话里反复解释高效得多。最后聊一点个人体会。这套配置方案我用了差不多三周最大的感受是工具链的自由组合比一家厂商的大而全更实用。DeepSeek 的成本优势和国内直连体验配合 Claude Code 的交互设计和工具调用架构算是在 Windows 上搭出了一个低成本、体验不错的 AI 编程环境。当然没有完美的方案DeepSeek 模型对非常复杂的多文件架构调整的理解能力和 Claude 官方模型仍有差距偶尔会出现生成代码逻辑不完整的情况。但考虑到成本差异这些小代价完全可以接受。
返回列表