开始之前,先把几个关键认知摆正
我在这篇文章里要聊的是:在 Windows 上安装 Claude Code,并且用 DeepSeek 的 API 驱动它干活,核心配置都在settings.json里完成。这个组合最近热度很高,原因很简单——Claude Code 本身是 Anthropic 官方出品的命令行 AI 编程助手,交互体验和上下文管理都做得相当好,但官方接口有使用门槛;DeepSeek 的 API 便宜、开放、兼容性好,把它接到 Claude Code 上,等于用一套熟悉的工具链,配上成本更低的模型后端。
这篇文章适合谁看?两种情况:
- 你在 Windows 上折腾过 Claude Code,但卡在安装或者环境变量上;
- 你已经装好了 Claude Code,但还没搞定自定义模型接入,想用 DeepSeek 的 key 把它驱动起来。
两种读者都能在这篇文章里找到对应的步骤,我会把安装、配置、踩坑、排查一路讲完。整个过程不需要 Linux,不需要 WSL,就是纯 Windows 环境下的操作。
另外先说清楚一个概念:Claude Code 本身是一个 Node.js 写的命令行工具,它的核心是一个交互式终端界面,你在这个终端里用自然语言描述需求,它会调用背后的大模型来理解任务、生成代码、执行命令、读写文件。默认情况下它只能连 Anthropic 官方 API,但通过settings.json和环境变量,我们可以把它重定向到任何兼容 Anthropic API 格式的端点——DeepSeek 的接口就是其中之一。
1. 整体思路拆解:为什么是 DeepSeek + Claude Code,而不是别的组合
1.1 Claude Code 是什么,它能解决什么问题
Claude Code 是 Anthropic 在 2025 年初推出的一款终端 AI 编程代理工具。它不像 Cursor 那样是一个完整的 IDE,也不像 GitHub Copilot 那样只是一个补全插件,它是一个运行在终端里的“代理”——你给它一个任务,它会自己规划步骤、搜索文件、修改代码、运行测试,甚至执行 shell 命令。它的工作方式非常接近你雇了一个远程程序员坐在你的电脑前面,通过终端和你对话。
这个工具的核心价值有几点:
- 深度上下文理解:它会把你的项目目录结构、关键文件内容读入上下文,然后基于对项目的整体理解来回答问题或修改代码。
- 自主执行能力:它不只是给出代码建议,而是可以直接编辑文件、运行命令、查看输出,形成一个“提出方案 → 执行 → 验证 → 修正”的闭环。
- 对话式交互:你在终端里和它对话,它可以记住同一个会话里的上下文,不用反复解释项目背景。
但问题在于,Claude Code 官方的模型接入需要 Anthropic API key,而 Anthropic 的 API 对中国大陆用户来说使用成本较高,而且开通流程也比较麻烦。这就给 DeepSeek 这类第三方模型提供了切入空间——DeepSeek 的 API 兼容 Anthropic 的接口格式,或者说我们可以通过配置把它伪装成 Anthropic 的端点来对接。
1.2 DeepSeek 在这里扮演什么角色
DeepSeek 是深度求索公司推出的开源大模型系列,它的 API 服务在国内可以直接访问,价格远低于 Anthropic 官方 API,而且模型能力在编程任务上表现不错。用 DeepSeek 驱动 Claude Code,本质上就是“借壳”——Claude Code 作为前端交互层和工具执行层,DeepSeek 的模型作为后端的推理引擎。
这个组合的思路是:把工具链(Claude Code)和模型(DeepSeek)解耦。Claude Code 的优势在于工具调用、文件操作、会话管理,这是它作为“代理”的核心价值;DeepSeek 的优势在于便宜、可用、推理能力够用。两者结合,各取所长。
这样做的好处非常明显:
- 成本:DeepSeek 的 API 价格比 Anthropic 官方便宜一个数量级,尤其是缓存命中的场景下,价格差距更大。
- 可用性:不需要海外支付方式,不需要特殊网络环境,国内网络直连即可。
- 灵活性:settings.json 里可以随时切换模型端点,今天用 DeepSeek,明天想换别的兼容 API,改几个字段就行。
1.3 为什么要在 Windows 上折腾,有哪些特殊难点
很多关于 Claude Code 的教程都是基于 macOS 或 Linux 写的,Windows 上会遇到一些额外的问题,这是这篇文章存在的意义。
Windows 上的主要难点有三个:
- Node.js 环境差异:Claude Code 依赖 Node.js 18+,Windows 上的 Node.js 安装和路径配置和 Unix 系统有区别。
- shell 兼容性:Claude Code 默认使用 bash 风格的 shell 命令,在 Windows 上需要调整成 PowerShell 或 cmd 的语法,否则它执行命令时会报错。
- 环境变量和配置文件路径:Windows 的用户目录结构、环境变量配置方式都和 Unix 不同,
settings.json该放哪里、环境变量怎么设,都有 Windows 特有的坑。
我在这篇文章里会逐个解决这些问题。安装部分会照顾到 Windows 的实际情况,配置部分会说明settings.json里每个字段的作用,后面再附上我在实际使用中遇到的问题排查记录。
2. 环境准备:Windows 上安装 Claude Code 的前置条件
2.1 安装 Node.js:版本选择和注意事项
Claude Code 是一个 Node.js 包,通过 npm 或直接通过官方安装脚本安装,所以第一步是确保 Windows 上有 Node.js。
我推荐安装Node.js 18 LTS 或更高版本,目前最新的 LTS 版本是 20.x 或 22.x,都可以用。不要装太老的版本,否则 npm 包依赖解析会出问题。
在 Windows 上安装 Node.js 有两种方式:
方式一:官网下载安装包(推荐新手)
去 Node.js 官网下载 Windows Installer (.msi) 文件,一路下一步即可。安装完成后,打开 PowerShell 验证:
node -v npm -v如果能看到版本号,说明安装成功。这里有个 Windows 特有的注意事项:安装时默认会勾选“Add to PATH”,一定要确保这个选项是勾上的,否则后面node命令会提示找不到。
方式二:通过 winget 安装(推荐熟悉命令行的用户)
Windows 10/11 自带 winget 包管理器,可以直接:
winget install OpenJS.NodeJS.LTS这种方式安装得快,但装完后可能需要手动重启终端才能刷新 PATH。
注意:安装完 Node.js 后,如果之前已经打开过终端,建议关掉重开。Windows 的 PATH 环境变量修改后,不会自动刷新到已打开的终端会话中,这是很多新手踩过的坑——明明装好了,但
node -v就是报错。
2.2 安装 Claude Code:两种方式对比
Claude Code 的安装方式有两种,我在 Windows 上都试过,分别说下体验。
方式一:npm 全局安装
npm install -g @anthropic-ai/claude-code这是传统的安装方式,装完直接全局可用。优点是通过 npm 安装,版本管理比较方便,想升级就再执行一遍同样的命令。缺点是如果 npm 源比较慢,安装会卡很久,建议先切换 npm 镜像源:
npm config set registry https://registry.npmmirror.com方式二:官方安装脚本
Claude Code 官方提供了一键安装脚本,在 PowerShell 里执行:
irm https://claude.ai/install.ps1 | iex这条命令的作用是:用 PowerShell 的Invoke-RestMethod下载安装脚本,然后通过Invoke-Expression在当前会话中执行。装完后的效果和 npm 全局安装一样。
我个人更推荐方式一,原因有两个:一是 npm 安装的版本更新及时,官方脚本的更新有时候会滞后;二是 npm 安装可以配合镜像源使用,国内环境下速度更可控。
安装完成后,验证是否成功:
claude --version如果看到版本号输出,说明安装成功。
2.3 确认 Claude Code 能正常运行
装完之后,先别急着配置 DeepSeek,先跑一下claude命令确认基本功能正常:
claude如果这是第一次运行,它会提示你需要登录 Anthropic 账号。这一步可以跳过,因为我们后面要用 DeepSeek 替代官方后端。如果它卡在登录页面,直接按Ctrl+C退出即可,不影响后面的配置。
这里有一个 Windows 上的常见问题:如果你在 Windows Terminal 里运行claude,发现界面显示异常(比如光标错位、颜色不对),可以检查一下 Windows Terminal 的版本,建议升级到最新版。老版本 Windows Terminal 对 ANSI 转义序列的支持不够完善,会导致 Claude Code 的交互界面显示错乱。
3. settings.json 配置详解:把 DeepSeek 接进 Claude Code
3.1 配置文件在哪里:Windows 路径说明
Claude Code 的配置文件按优先级分为三层:企业级配置 → 用户级配置 → 项目级配置。对我们来说,最常用的是用户级配置,它的位置在:
C:\Users\你的用户名\.claude\settings.json注意两点:
- 这个
.claude文件夹在你第一次运行claude命令时才会自动创建,如果找不到,先手动运行一次claude再退出。 - 项目级配置放在项目的
.claude/settings.json里,它只对当前项目生效,优先级高于用户级配置。如果你只想在某个项目里用 DeepSeek,其他项目还用官方 API,就可以把配置放在项目级。
对于大多数场景,我建议配置在用户级,这样所有项目都能直接用 DeepSeek 驱动。
3.2 settings.json 的核心字段解读
settings.json支持很多配置项,但和“接入 DeepSeek”直接相关的核心逻辑并不在 settings.json 里,而是通过环境变量来指定的。这里需要先澄清一个容易混淆的点:
Claude Code 的模型端点配置,主要靠两个环境变量:
ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN。settings.json主要负责的是模型参数、权限控制、自定义指令等辅助配置。
所以完整的配置分两步走:
第一步:设置环境变量
在 PowerShell 中执行:
$env:ANTHROPIC_BASE_URL = "https://api.deepseek.com/anthropic" $env:ANTHROPIC_AUTH_TOKEN = "你的DeepSeek API Key" $env:ANTHROPIC_MODEL = "deepseek-chat" $env:ANTHROPIC_SMALL_FAST_MODEL = "deepseek-chat"这四个环境变量的作用分别是:
| 环境变量 | 作用 | 说明 |
|---|---|---|
ANTHROPIC_BASE_URL | 指定 API 端点地址 | 指向 DeepSeek 的 Anthropic 兼容端点 |
ANTHROPIC_AUTH_TOKEN | API 认证令牌 | 填写你的 DeepSeek API Key |
ANTHROPIC_MODEL | 主模型 | 用于处理复杂任务的大模型 |
ANTHROPIC_SMALL_FAST_MODEL | 快速模型 | 用于处理简单任务、标题生成等 |
这里重点解释一下ANTHROPIC_BASE_URL为什么是https://api.deepseek.com/anthropic。DeepSeek 官方提供了一个兼容 Anthropic API 格式的端点,路径就是/anthropic。Claude Code 在启动时会读取这个环境变量,把所有的 API 请求都发到这个地址上,然后 DeepSeek 的服务端会把这些请求转换成 DeepSeek 模型能理解的格式。
第二步:在 settings.json 里补充配置
用文本编辑器打开settings.json,填入内容。这里给一个我实际在用的最小可用配置:
{ "model": "deepseek-chat", "env": { "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek API Key", "ANTHROPIC_MODEL": "deepseek-chat", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat" } }settings.json里的env字段可以定义环境变量,Claude Code 在启动时会把这里定义的变量注入到当前进程中,这样就不需要每次都在 PowerShell 中手动设置环境变量了,方便很多。
这个配置里的几个字段解释一下:
model:指定主模型,deepseek-chat对应 DeepSeek-V3 系列模型。env:定义需要注入的环境变量,相当于在启动时自动执行那些$env:XXX命令。ANTHROPIC_SMALL_FAST_MODEL也设成deepseek-chat是因为 DeepSeek 目前没有单独的“快速模型”端点,用同一个模型不会影响正常使用。
注意:如果你在 PowerShell 里已经手动设置了环境变量,又在 settings.json 的
env字段里设置了同样的变量,settings.json 里的值会覆盖你手动设置的值。如果你改了 settings.json 但发现没生效,先检查是不是环境变量冲突了。
3.3 DeepSeek API Key 的获取
在配置之前,你需要先有一个 DeepSeek 的 API Key。注册 DeepSeek 开放平台账号后,在控制台里可以创建 API Key,创建的时候会显示一次完整的 key,记得复制保存。Key 的格式一般是sk-开头的一长串字符。
创建 API Key 之后,建议先在 PowerShell 里用 curl 测试一下连通性:
curl https://api.deepseek.com/anthropic/v1/messages ` -H "Content-Type: application/json" ` -H "x-api-key: 你的DeepSeek API Key" ` -H "anthropic-version: 2023-06-01" ` -d '{\"model\":\"deepseek-chat\",\"max_tokens\":1024,\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'如果返回正常的 JSON 响应,说明你的 API Key 有效、网络连通正常。如果返回 401 或 403,检查 Key 是否复制完整;如果超时,检查网络是否能正常访问 DeepSeek 的 API。
3.4 完整配置示例与启动验证
设置好环境变量和 settings.json 之后,启动 Claude Code:
claude如果配置正确,它会直接进入交互式界面,不会要求登录 Anthropic 账号。你可以先输入一个简单的测试:
请帮我写一个 Python 函数,计算斐波那契数列的第 n 项。如果它正常生成了代码,说明整个链路已经通了。如果它提示认证失败或者 401 错误,那就需要按照后面的排查步骤来检查。
4. 实操过程:从安装到跑通的完整流程记录
4.1 第一步:安装 Node.js 和 Claude Code
以一台全新的 Windows 11 机器为例,完整流程如下:
- 下载 Node.js 20 LTS 安装包并安装,安装时保持默认选项(确保 Add to PATH 勾选)。
- 重启 PowerShell,执行
node -v,确认版本。 - 执行
npm install -g @anthropic-ai/claude-code,等待安装完成。 - 执行
claude --version,确认 Claude Code 安装成功。
整个安装过程一般不会超过 5 分钟,除非 npm 下载特别慢。如果遇到 npm 下载慢的问题,先切换镜像源再重试:
npm config set registry https://registry.npmmirror.com npm install -g @anthropic-ai/claude-code4.2 第二步:获取 DeepSeek API Key
去 DeepSeek 开放平台注册并创建 API Key。创建时会让你选择模型权限,选 DeepSeek-V3 即可,通用对话和编程场景都适用。
创建好之后,在本地用记事本临时保存一下 Key,方便后面配置时复制。
4.3 第三步:配置环境变量和 settings.json
打开 PowerShell,执行:
$env:ANTHROPIC_BASE_URL = "https://api.deepseek.com/anthropic" $env:ANTHROPIC_AUTH_TOKEN = "sk-你的key"然后编辑settings.json,一个完整可用的配置文件如下:
{ "model": "deepseek-chat", "env": { "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek API Key", "ANTHROPIC_MODEL": "deepseek-chat", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat" }, "permissions": { "allow": [ "Bash(npm:*)", "Bash(node:*)", "Read(.*)", "Edit(.*)" ], "deny": [] }, "cleanupPeriodDays": 90, "enableAllProjectMcpServers": true }我解释一下这个配置里几个额外字段的作用:
permissions.allow:允许 Claude Code 自动执行的命令和操作。Bash(npm:*)允许它执行 npm 命令,Bash(node:*)允许执行 node 命令,Read(.*)和Edit(.*)允许读写项目文件。不配置的话,Claude Code 每次执行操作前都会弹窗询问,很影响效率。cleanupPeriodDays:会话清理周期,这里设 90 天,超过 90 天的历史会话会被自动清理。enableAllProjectMcpServers:启用项目中配置的所有 MCP 服务器。MCP 是 Claude Code 的扩展机制,后面细说。
4.4 第四步:启动并测试
配置完成后,运行claude,进入交互界面,简单测试一下:
请读取当前目录下的文件列表,并告诉我项目结构。如果它能正确列出文件并分析项目结构,说明文件读取功能正常。接着可以测试代码修改能力:
把 index.js 里的所有 var 改成 const 或 let。正常情况下它会先读取index.js,分析哪些变量定义需要修改,然后自动编辑文件,并把修改结果展示给你。
4.5 Windows 上的一个特殊配置:终端编码问题
我在 Windows 上使用 Claude Code 时遇到过一个问题:默认的 PowerShell 编码是 GBK,而 Claude Code 输出的是 UTF-8,导致中文显示乱码。
解决方法是在启动 Claude Code 之前,把 PowerShell 的输出编码改成 UTF-8:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8或者一劳永逸地改注册表,把系统默认编码改成 UTF-8。但我个人建议不用改系统编码,只在启动 Claude Code 前执行上面那条命令就行。也可以在 Windows Terminal 的设置里把默认编码设为 UTF-8,这样所有终端会话都默认 UTF-8,不用每次手动设置。
5. 高级配置:让 Claude Code 在 Windows 上更好用
5.1 CLAUDE.md:给 Claude Code 写项目说明书
Claude Code 支持通过CLAUDE.md文件来给它提供关于项目的“背景知识”。这个文件放在项目根目录,Claude Code 在启动时会自动读取它,并把内容作为上下文的一部分。
为什么要用CLAUDE.md?因为每次开新会话时,Claude Code 对你项目是一无所知的,它不是一个常驻内存的工具,每次都是全新的上下文。如果你每次都要在对话里重复解释“这个项目的技术栈是什么、目录结构是怎样的、代码规范是什么”,效率会非常低。通过CLAUDE.md,把这些信息固化下来,让 Claude Code 每次启动时自动加载。
一份简单的CLAUDE.md示例:
# 项目说明 ## 技术栈 - 前端:Vue 3 + Vite + TypeScript - 后端:Node.js + Express - 数据库:PostgreSQL ## 目录结构 - src/:前端源码 - server/:后端源码 - shared/:共享类型定义 ## 代码规范 - 使用 Biome 进行代码检查和格式化 - 组件命名使用 PascalCase - 所有 API 路由放在 server/routes/ 下 ## 常用命令 - 启动前端:npm run dev - 启动后端:npm run server - 运行测试:npm test有了这个文件之后,你告诉 Claude Code“帮我加一个用户注册接口”,它不需要再问“项目用什么框架、路由怎么组织”,而是会直接按照CLAUDE.md里描述的规范和结构来写代码。这能极大提升生成代码的匹配度。
5.2 配置快捷键和自动接受权限
Claude Code 在 Windows 下的交互效率,很大程度取决于权限配置。默认情况下,Claude Code 在执行任何操作之前都会先征求你的同意——包括读取文件、编辑文件、运行命令。如果你是在一个可信项目中,频繁弹窗会让你疯掉。
在 settings.json 里把permissions.allow配置好后,Claude Code 会对匹配规则的命令和操作自动放行。比如你想让它自动执行 npm 命令但不自动执行删除命令,可以这样配置:
"permissions": { "allow": [ "Bash(npm:*)", "Bash(node:*)", "Read(.*)" ], "deny": [ "Bash(rm:*)", "Bash(del:*)" ] }这里的Read(.*)是允许读取所有文件,Edit(.*)是允许编辑所有文件,如果你是第一次用,建议先只配置 Read 权限,等熟悉了再放开 Edit。权限配置的基本原则是:先最小化授权,跑通了再逐步放开,避免 Claude Code 误操作修改了不该改的文件。
5.3 MCP 服务器扩展:让 Claude Code 拥有更丰富的能力
MCP(Model Context Protocol)是 Anthropic 提出的一种开放协议,它允许 Claude Code 连接外部工具和数据源。打个比方:如果把 Claude Code 比作一个程序员,那么 MCP 服务器就是这个程序员的“外挂装备”——可以读取数据库、操作浏览器、调用第三方 API 等。
在 settings.json 里,enableAllProjectMcpServers配置项控制是否启用项目中配置的 MCP 服务器。如果项目里有.mcp.json文件定义了 MCP 服务器,默认情况下 Claude Code 会提示你是否启用,设成true后会自动启用。
一个实际可用的.mcp.json示例:
{ "mcpServers": { "sqlite": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sqlite"], "env": {} }, "fetch": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-fetch"], "env": {} } } }配置了 SQLite MCP 服务器后,你可以在 Claude Code 里直接说“帮我查询数据库 users 表的所有数据”,它会通过 SQLite MCP 服务器执行查询并返回结果。
5.4 让 Claude Code 在 Windows 上使用 Git Bash
Claude Code 在 Windows 上默认使用 PowerShell 作为 shell。但我在实际使用中发现,PowerShell 的语法和 bash 差异大,Claude Code 生成的很多命令(比如grep、ls -la、rm -rf)在 PowerShell 里会执行失败。
一个有效的解决方式,是在 Claude Code 的配置中指定用 Git Bash 作为执行 shell。前提是你安装了 Git for Windows(自带 Git Bash)。然后在 settings.json 中加一个配置:
"shell": { "path": "C:\\Program Files\\Git\\bin\\bash.exe", "args": [] }这样 Claude Code 里执行的 bash 风格命令就能在 Git Bash 中正常运行了。需要注意的是,路径里的反斜杠需要转义,写成双反斜杠。
注意:不是所有 Windows 上 Claude Code 的命令都要走 Git Bash。如果你只在 Windows 上开发 .NET 或 PowerShell 脚本,用默认的 PowerShell 也可以,关键是看你的项目类型。我是在写前端和 Node.js 项目时切换成 Git Bash 的,命令兼容性会好得多。
6. 常见问题与排查技巧实录
以下这些问题都是我实际遇到过的,每个都附上排查思路和解决办法。
6.1 启动后提示认证失败或 401
现象:运行claude后,进入界面,但每一次对话请求都返回 401 Unauthorized。
排查步骤:
检查
ANTHROPIC_AUTH_TOKEN是否设置。在 PowerShell 里执行:echo $env:ANTHROPIC_AUTH_TOKEN如果输出为空,说明环境变量没设置成功。
检查 API Key 是否有效。直接调用 DeepSeek API 测试,排除 Claude Code 本身的问题。
检查
settings.json里的env字段是否写错。特别是 JSON 格式问题,比如引号用了中文引号、逗号多了少了。JSON 解析失败时 Claude Code 可能不会报错,但环境变量不会生效。如果以上都没问题,检查
ANTHROPIC_BASE_URL是否填写正确。常见错误包括:https://api.deepseek.com/anthropic写成了https://api.deepseek.com(少了 /anthropic),或者末尾多了一个斜杠。
最终解决办法:把ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN同时写在 settings.json 的env字段里,而不是依赖 PowerShell 的环境变量设置。因为 PowerShell 的环境变量只在当前会话有效,关掉终端就没了,但 settings.json 里的配置每次都生效。
6.2 中文乱码或界面显示异常
现象:Claude Code 输出的中文内容是乱码,或者界面边框、颜色显示异常。
原因:Windows PowerShell 默认代码页是 GBK(代码页 936),而 Claude Code 输出 UTF-8。终端按 GBK 解码 UTF-8 的中文字节流,自然就乱码了。
解决办法:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8或者在 Windows Terminal 里,打开设置 → 配置文件 → 默认,把“编码”改为 UTF-8。
如果你用的是 Windows Terminal,还可以在 settings.json 里给 PowerShell 配置文件加上:
{ "name": "Windows PowerShell", "commandline": "powershell.exe", "cursorShape": "bar", "colorScheme": "Campbell" }这种界面显示异常的问题在新版 Windows Terminal 里比较少,如果还是显示错乱,考虑升级 Windows Terminal 到最新版。
6.3 “spawn E2BIG” 错误
现象:Claude Code 执行命令时报错spawn E2BIG。
原因:这个错误在 Windows 上比较常见,是 Node.js 的child_process在执行 shell 命令时,命令参数长度超过了操作系统限制。
解决方式:
- 把 Claude Code 切换到 Git Bash,因为 Git Bash 的命令行参数限制比 PowerShell 宽松。
- 或者让 Claude Code 先把复杂命令写入临时脚本文件再执行,减少单次命令长度。
- 检查是否有某个环境变量特别长(比如
PATH),导致子进程的环境变量太大。
6.4 配置文件不生效的问题
现象:修改了settings.json,但重启 Claude Code 后没有变化。
排查思路:
- 确认修改的是正确的文件路径。用户级配置在
C:\Users\你的用户名\.claude\settings.json,不是项目里的.claude文件夹,也不是 Claude Code 安装目录下的文件。 - 确认 JSON 格式合法。可以用任意 JSON 校验工具验证一下,语法错误会导致解析失败,Claude Code 可能直接忽略这个文件。
- 检查是否有企业级配置覆盖了你的设置。如果公司环境或系统层面存在配置优先级更高的文件,用户级配置不生效。这个情况一般出现在公司电脑上,个人电脑很少遇到。
6.5 DeepSeek 响应速度慢或超时
现象:Claude Code 能正常启动,但每次请求都要等很久,甚至直接超时。
原因分析:
- DeepSeek 的 API 在高峰期确实会有排队,特别是免费额度和低价套餐时段。
- 请求上下文中包含了大量文件内容时,token 数量大,推理时间自然长。
- Windows 防火墙或安全软件拦截了 Node.js 进程的网络请求。
解决方式:
- 在
ANTHROPIC_SMALL_FAST_MODEL使用同一个模型的情况下,简单任务的响应依赖该模型的推理速度。如果频繁超时,可以考虑申请 DeepSeek 的更高服务等级。 - 检查 Windows 防火墙,确保 Node.js 进程被允许访问网络。具体操作:控制面板 → Windows Defender 防火墙 → 允许应用通过防火墙 → 找到 Node.js,勾选“专用”和“公用”。
- 尽量控制单次请求的上下文。不要在一个会话里堆太多问题,用新的会话来处理新任务。
6.6 如何彻底卸载 Claude Code(可选补充)
如果配置折腾了半天还是不行,或者想换个工具,卸载 Claude Code 的方法:
npm uninstall -g @anthropic-ai/claude-code然后删除.claude文件夹里的配置(如果你想保留配置文件就跳过这一步):
Remove-Item -Recurse -Force $env:USERPROFILE\.claude7. 我对这套组合的一些体会
这篇文章写到这里,核心内容基本讲完了。最后分享几个我在实际使用中的感受,希望能帮你少走弯路。
第一,Claude Code 的模型输出质量,直接受模型本身能力影响。DeepSeek 的模型在代码生成、代码理解方面的能力已经很强了,但它和 Anthropic 自家模型在处理某些复杂任务时还是存在差距的。如果你拿它写简单脚本、重构代码、写测试用例,完全够用;但如果你的项目特别复杂,涉及多文件大规模重构,建议还是用回官方模型。这也是为什么我把配置做成了“可切换”的——需要强模型时改一行设置就切回官方 API,日常开发用 DeepSeek 降低成本,两不耽误。
第二,Windows 上的坑,大多数集中在终端和编码上。如果你用 Windows Terminal 而不是 PowerShell 原生窗口,体验会好很多。Windows Terminal 对 UTF-8 的支持、对 ANSI 转义序列的支持都更好。建议所有在 Windows 上用 Claude Code 的同学,第一步先把 Windows Terminal 装上、配置好。
第三,权限配置要循序渐进。我一开始图省事,直接把Read(.*)和Edit(.*)全放开了,结果 Claude Code 有一次把我项目里的一个配置文件“优化”了,虽然内容没错但风格大变。从那以后我就学乖了,先只允许读操作,跑一个周期确认它的行为符合预期,再逐步放开写权限和命令执行权限。
第四,善用CLAUDE.md,它比任何教程都重要。我给几个项目写了CLAUDE.md之后,明显感觉 Claude Code 生成的代码质量上了一个台阶。它不再是一问一答的“聊天工具”,而是真正理解了项目结构的“协作者”。如果你发现 Claude Code 输出的代码经常不符合项目规范,大概率是CLAUDE.md没写好或者没建。
最后补充一个小技巧:在settings.json里加一个"verbose": true配置项,Claude Code 启动时会打印详细的初始化日志,包括读取了哪些配置、注入了哪些环境变量。如果你在配置过程中遇到诡异问题,先把这个开关打开看日志,比盲猜要高效得多。