配置 Claude Code + DeepSeek:从安装到跑通(Windows 实操)
适用人群:想在终端里用 AI 写代码,又不想被官方订阅价格绑住的开发者。 本文在 Windows 10/11 上实测,macOS / Linux 的差异会单独标注。 文中配置依据 Anthropic 与 DeepSeek 官方文档(2026-10 核对),API 细节可能随版本变化,以官方为准。
一、Claude Code 是什么
Claude Code 是 Anthropic 官方推出的终端 AI 编程智能体(CLI 工具,闭源,仓库主要用于反馈与文档)。
它和 Copilot 这类"下一行补全"工具的根本区别:
| Copilot 类 | Claude Code 类 | |
|---|---|---|
| 工作方式 | 你写,它猜下一行 | 你说目标,它自己规划步骤 |
| 能力范围 | 单个文件内的补全 | 读整个仓库、跨文件改代码、执行命令、跑测试、Git 提交 |
| 交互形态 | 编辑器插件 | 终端里的对话式 Agent |
你在终端里说一句"帮我把这个接口加上分页",它会自己去读相关文件、改代码、跑构建、报错再改,直到完成。
为什么可以配 DeepSeek
Claude Code 走的是 Anthropic 的 Messages API 格式。DeepSeek 官方提供了 Anthropic 兼容层,地址是:
https://api.deepseek.com/anthropic
所以只要把「请求地址 + 密钥 + 模型名」三样换掉,就能用 DeepSeek 的模型驱动 Claude Code——客户端不变,账单换成 DeepSeek 的。
二、环境准备
2.1 系统要求
| 系统 | 版本 |
|---|---|
| macOS | 10.15+ |
| Linux | Ubuntu 20.04+ / Debian 10+,以及其他主流发行版 |
| Windows | Windows 10/11,必须装 Git for Windows(提供 bash 环境) |
Windows 建议用 Git Bash 或 WSL。用 PowerShell 也能跑,但要先处理执行策略(见 3.5)。
2.2 Node.js(必须 ≥ 18)
Claude Code 通过 npm 分发,Node.js 是硬性依赖。
- 下载地址:https://nodejs.org/en/download
- 选 LTS 版本(20.x / 22.x 都行),不要用 16 或更老
- Windows 下载
node-vXX.XX.X-x64.msi
装完打开终端验证:
node -v # 应 ≥ v18,推荐 v20+
npm -v
2.3 Git(Windows 必装)
Claude Code 在 Windows 上执行 shell 命令依赖 Git Bash,所以必须安装:
- 下载:https://git-scm.com/download/win
- 安装时保持默认即可(会自带 Git Bash)
验证:
git --version
2.4 终端怎么选
| 终端 | 评价 |
|---|---|
| Git Bash | Windows 上最省心,和官方文档对齐 |
| PowerShell | 可用,但要注意执行策略(见 3.5) |
| WSL | 体验最接近 Linux,适合重度使用 |
| CMD | 不推荐,很多脚本行为不一致 |
2.5 网络
需要能访问 api.deepseek.com。国内网络一般直连即可;如果你挂了代理,注意终端可能不继承系统代理,需要单独设置 HTTP_PROXY / HTTPS_PROXY。
三、安装 Claude Code
3.1 安装
npm install -g @anthropic-ai/claude-code
npm 全局安装会写系统目录,Windows 上如果报权限错误,用管理员身份打开终端再执行。
3.2 验证
claude --version
注意命令是 claude,不是 claude-code。 网上很多教程写成 claude-code,那是错的,会提示找不到命令。
3.3 第一次运行会发生什么
cd 你的项目目录
claude
首次启动会进入引导流程,要求登录 Anthropic 账号(浏览器授权)。
如果你打算用 DeepSeek(本文路线),可以跳过这一步——见下一节。想用官方账号就直接登录。
3.4 跳过登录引导(可选)
用第三方 API 时不需要官方账号,但引导流程会卡住。社区常用做法是改配置文件:
- 找到用户主目录下的
.claude.json- Windows:
C:\Users\你的用户名\.claude.json - macOS / Linux:
~/.claude.json
- Windows:
- 用文本编辑器打开,在顶层加一个字段(注意给上一行补逗号):
"hasCompletedOnboarding": true
- 保存后重新运行
claude,就不会再要求登录。
⚠️ 这是社区方案,不是官方文档承诺的接口,版本升级后可能失效;如果失效,改用
ANTHROPIC_AUTH_TOKEN正常配置即可(见第四章)。
3.5 安装阶段最常见的两个报错
① npm : 无法加载文件 ...\npm.ps1,因为在此系统上禁止运行脚本
PowerShell 默认执行策略是 Restricted,拦截了 npm 的 .ps1 脚本。解决:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned = 本地脚本可运行,网络下载的未签名脚本仍被拦截,是微软推荐给开发者的安全级别。不要用 -Scope LocalMachine,没必要且影响全机。
② claude: command not found
说明 npm 全局目录不在 PATH 里。查一下全局目录:
npm config get prefix
把输出的路径(Windows 一般是 C:\Users\你\AppData\Roaming\npm)加进 PATH,重开终端。
四、接入 DeepSeek(核心步骤)
4.1 拿 API Key
- 打开 https://platform.deepseek.com/api_keys
- 注册/登录 → 创建 API Key → 复制(形如
sk-xxxxxxxx) - 只显示一次,立刻保存;泄露了立刻删掉重建
4.2 原理
Claude Code ──Anthropic 格式请求──▶ api.deepseek.com/anthropic ──▶ DeepSeek 模型
Claude Code 只认 Anthropic 协议,DeepSeek 在服务端做了兼容转换。所以我们只需要改三个东西:
| 变量 | 作用 | 值 |
|---|---|---|
ANTHROPIC_BASE_URL | 请求发往哪里 | https://api.deepseek.com/anthropic |
ANTHROPIC_AUTH_TOKEN | 身份凭证 | 你的 DeepSeek API Key |
ANTHROPIC_MODEL 等 | 用哪个模型 | deepseek-flash[1m] 等 |
4.3 完整环境变量(官方推荐配置)
DeepSeek 官方给 Claude Code 的配置不止三个变量,还包含子模型、推理强度、上下文窗口:
| 变量 | 推荐值 | 说明 |
|---|---|---|
ANTHROPIC_BASE_URL | https://api.deepseek.com/anthropic | 兼容层地址 |
ANTHROPIC_AUTH_TOKEN | sk-... | 你的 Key |
ANTHROPIC_MODEL | deepseek-flash[1m] | 主模型,[1m] = 100 万 token 上下文 |
ANTHROPIC_DEFAULT_OPUS_MODEL | deepseek-flash[1m] | 映射 Claude 的 opus 档 |
ANTHROPIC_DEFAULT_SONNET_MODEL | deepseek-flash[1m] | 映射 sonnet 档 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | deepseek-flash | 映射 haiku 档(轻量任务) |
CLAUDE_CODE_SUBAGENT_MODEL | deepseek-flash | 子 Agent 用的模型 |
CLAUDE_CODE_EFFORT_LEVEL | max | 推理强度 |
CLAUDE_CODE_AUTO_COMPACT_WINDOW | 786432 | 自动压缩上下文的阈值 |
Windows PowerShell 写法(当前窗口临时生效):
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="sk-你的Key"
$env:ANTHROPIC_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"
$env:CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
macOS / Linux 写法(当前 shell 临时生效):
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=sk-你的Key
export ANTHROPIC_MODEL=deepseek-flash[1m]
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-flash[1m]
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-flash[1m]
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432
4.4 让它永久生效(两种方式,选一种)
方式 A:写进 Claude Code 的 settings.json(推荐)
Claude Code 支持在设置文件里声明 env,每次启动自动注入,不污染系统环境变量。
文件位置:
- macOS / Linux:
~/.claude/settings.json - Windows:
C:\Users\你的用户名\.claude\settings.json
内容:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key",
"ANTHROPIC_MODEL": "deepseek-flash[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-flash[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-flash[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-flash",
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "786432"
}
}
方式 B:写进系统环境变量
Windows(管理员 PowerShell,永久写入当前用户):
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.deepseek.com/anthropic", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "sk-你的Key", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_MODEL", "deepseek-flash[1m]", "User")
macOS / Linux:把 export ... 追加到 ~/.zshrc 或 ~/.bashrc,然后 source 一下。
两种方式不要同时配,容易互相覆盖导致排查困难。推荐 A。
4.5 验证是否接通
cd 你的项目目录
claude
进入对话后:
- 输入
/status,能看到当前模型、API 地址 - 或直接问一句"你现在是什么模型"
如果立刻报错,先看下面的错误码对照表。
4.6 模型名与映射规则
DeepSeek 的模型名(2026-10):
| 模型 | 说明 |
|---|---|
deepseek-flash | 通用快模型,性价比高 |
deepseek-flash[1m] | 同上,开启 100 万 token 上下文 |
deepseek-v4-pro | 更强,价格更高 |
另外 DeepSeek 有一套兜底映射:Claude Code 内部会请求 claude-opus-* / claude-sonnet-* / claude-haiku-* 这些模型名,服务端会自动转换:
claude-opus*→deepseek-v4-pro(按 V4 Pro 计费)claude-sonnet*/claude-haiku*→deepseek-flash
所以就算你不设 ANTHROPIC_MODEL,也能跑起来,但建议显式设置,避免误用高价模型。
4.7 能力支持情况
| 能力 | 支持 |
|---|---|
| 工具调用(改文件、跑命令) | ✅ |
| 流式输出 | ✅ |
| 图片输入(base64 / URL) | ✅ |
| 联网搜索(Claude Code 的 Web Search 工具) | ✅(会额外产生 token 和搜索费用) |
| PDF 等 document 类型 | ❌ |
五、Windows:把整套环境搬到 D 盘(可选)
这一段是给 C 盘吃紧、或不想让系统更新/杀软动开发环境的人。不需要的话可以跳过,直接进第六章。
5.1 为什么值得做
默认情况下,这四样全在 C 盘:
- Node.js 本体(
C:\Program Files\nodejs) - npm 全局包(
C:\Users\你\AppData\Roaming\npm) - npm 缓存(
C:\Users\你\AppData\Local\npm-cache)—— 动辄几个 GB - Claude Code 配置与缓存(
C:\Users\你\.claude、.claude.json)
一次迁移,长期省心。
5.2 装 Node.js 到 D 盘
- 运行 msi,在 Destination Folder 处改成
D:\NodeJS- 路径不要带空格(别用
D:\Program Files\nodejs,PowerShell 里容易出问题)
- 路径不要带空格(别用
- Custom Setup 里确认勾选 Add to PATH
- 装完在同一个终端验证:
where.exe node # 应显示 D:\NodeJS\node.exe
where.exe npm # 应显示 D:\NodeJS\npm.cmd
node -v
如果
where.exe node显示的是 C 盘旧路径,说明系统里还有老版本 Node,需要手动清理 PATH(见 5.4)。
5.3 把 npm 的全局目录和缓存也搬走
管理员 PowerShell,按顺序执行:
# 1) 建目录
New-Item -ItemType Directory -Path "D:\npm-global" -Force
New-Item -ItemType Directory -Path "D:\npm-cache" -Force
# 2) 改 npm 配置(写入 ~/.npmrc,是用户级配置)
npm config set prefix "D:\npm-global"
npm config set cache "D:\npm-cache"
# 3) 验证
npm config get prefix # D:\npm-global
npm config get cache # D:\npm-cache
5.4 PATH 顺序(这一步最关键)
Windows 按 PATH 顺序找命令。如果 C 盘的旧 npm 排在前面,你敲 npm 用到的还是旧的。
# 把 D:\npm-global 插到最前面
$env:Path = "D:\npm-global;" + $env:Path
# 永久写入当前用户(重开终端仍有效)
[Environment]::SetEnvironmentVariable("Path", $env:Path, "User")
验证:
where.exe npm
where.exe claude # 应在 D:\npm-global\claude.cmd
5.5 迁移 Claude Code 的配置目录
Claude Code 支持用环境变量 CLAUDE_CONFIG_DIR 覆盖默认配置目录:
New-Item -ItemType Directory -Path "D:\claude-config" -Force
[Environment]::SetEnvironmentVariable("CLAUDE_CONFIG_DIR", "D:\claude-config", "User")
这样 .claude/settings.json、会话记录、缓存都落到 D 盘。
⚠️ 注意:
.claude.json(含 onboarding 状态)仍在用户主目录,如果你想彻底搬走,需要把它也移动并确认版本支持。建议先只迁CLAUDE_CONFIG_DIR,观察一周没问题再动.claude.json。
5.6 纠正一个流传很广的错误命令
网上有教程写:
claude-code init --config "D:\claude-config\config.json" # ❌ 不存在
Claude Code 没有 init --config 这个子命令,也不会把配置写到你指定的任意 JSON。正确做法就是上面 5.5 的 CLAUDE_CONFIG_DIR,或者 4.4 的 settings.json。
5.7 TEMP 要不要也搬?
可以,但影响全局(所有程序的临时文件都会进 D 盘),不建议新手折腾:
[Environment]::SetEnvironmentVariable("TEMP", "D:\temp", "User")
[Environment]::SetEnvironmentVariable("TMP", "D:\temp", "User")
六、跑通第一个任务
cd D:\code\my-project
claude
进去后试这几句,感受它是"智能体"而不是"补全":
这个项目是做什么的?入口文件在哪?—— 它会自己读目录、读 package.json把 src/utils/date.ts 里的格式化函数改成支持时区—— 它会改文件跑一下测试,失败了就修—— 它会执行命令并根据输出迭代
常用斜杠命令:
| 命令 | 作用 |
|---|---|
/help | 帮助 |
/status | 当前模型、API 地址、账号状态 |
/model | 切换模型 |
/clear | 清空当前会话上下文 |
/compact | 手动压缩上下文 |
/cost | 本次会话消耗 |
七、常见问题
| 现象 | 原因 | 解决 |
|---|---|---|
claude: command not found | npm 全局目录不在 PATH | npm config get prefix 后把该路径加进 PATH |
无法加载 npm.ps1,禁止运行脚本 | PowerShell 执行策略 | Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
| 启动后一直要求登录 | 没配第三方 API 或没跳过 onboarding | 配 ANTHROPIC_AUTH_TOKEN;或 hasCompletedOnboarding: true |
401 Unauthorized | Key 错/过期/没余额 | 去平台重新生成,检查余额 |
404 Not Found | Base URL 少了 /anthropic | 必须是 https://api.deepseek.com/anthropic |
| 报模型不存在 | 模型名写错 | 用 deepseek-flash / deepseek-flash[1m] / deepseek-v4-pro |
| 终端中文乱码 | Windows 代码页不是 UTF-8 | chcp 65001,或用 Git Bash |
| 一直转圈无响应 | 网络/代理问题 | 终端里单独设 HTTPS_PROXY,或换网络测试 |
| 上传 PDF 报错 | 兼容层不支持 document 类型 | 转成图片或文本再喂 |
| 提示 Git 相关命令失败 | Windows 没装 Git Bash | 装 Git for Windows |
八、成本与限额
- 计费方式:按 token 计费(输入 + 输出),没有月费。具体单价见 https://api-docs.deepseek.com/quick_start/pricing
deepseek-flash便宜、deepseek-v4-pro贵,Claude Code 内部会请求 opus 档任务,记得显式设ANTHROPIC_MODEL,否则可能被映射到高价模型。- 上下文:
[1m]表示 100 万 token 上下文,长仓库分析很有用,但 token 消耗也更快。 - 限额:新账号有并发/速率限制,见官方限流文档。
- 建议:先在个人小项目上跑几天,看
/cost的消耗再决定要不要在正式项目上用。
九、安全提醒
- API Key 不要提交到 Git:加进
.gitignore,或只放在~/.claude/settings.json(用户目录,不在仓库里)。 - 不要贴到聊天群/截图:泄露后别人可以用你的额度。
- 定期轮换:平台可以删除旧 Key 重新生成。
- Claude Code 会真的执行命令(删文件、git push 都可能),首次使用建议在测试仓库里跑,别一上来就对着生产代码。
十、参考资料
- Claude Code 中文快速开始:https://code.claude.com/docs/zh-CN/quickstart
- Claude Code 环境变量:https://code.claude.com/docs/en/env-vars
- DeepSeek 接入 Claude Code(官方):https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code
- DeepSeek Anthropic API 兼容说明:https://api-docs.deepseek.com/guides/anthropic_api
- DeepSeek 定价:https://api-docs.deepseek.com/quick_start/pricing
- DeepSeek API Key 管理:https://platform.deepseek.com/api_keys
本文由站主整理,配置细节以官方文档为准;如果照着做卡在某一步,欢迎在帖子下回复,我会补充。