省流版:Claude Code 是 Anthropic 出的终端 AI 编程助手,比 Copilot 高一个维度。但国内用不了官方 API,C 盘又爆满怎么装?本文记录把 Claude Code 装到非系统盘 → 接入国产模型(MiniMax/DeepSeek)→ 解决 4 个让人崩溃的真实问题的全过程。所有命令可直接复制粘贴,按目录跳到你关心的部分即可。


📖 目录


一、为什么是 Claude Code?—— 终端 AI 编程工具横评

2025~2026 年,AI 编程工具从"代码补全"卷到了"自主 Agent"。如果你还只在用 IDE 插件自动补全,可能已经落后一个版本了。

1.1 四大主流 AI 编程工具对比

目前市面上的 AI 编程工具大致可以分成两类:IDE 插件型(辅助你写)和 终端 Agent 型(帮你独立干活)。

能力维度 GitHub Copilot OpenAI Codex CLI Hermes Agent Claude Code
产品形态 IDE 插件 终端 CLI + IDE 终端 CLI(Python) 终端 CLI(Node.js)
代码补全 ✅ 最强(内联补全) ❌(不主打补全)
读写文件系统 ✅(70+ 工具)
直接跑 Shell 命令
项目级上下文理解 ❌(仅当前文件+Tab) ✅(代码库索引) ✅(最强)
自主多步骤任务 ✅(沙箱执行) ✅(自进化) ✅(Agent 循环)
跨会话记忆 ✅(持久记忆)
模型绑定 OpenAI 模型 仅 OpenAI 多厂商(任意 OpenAI 兼容) 多厂商(Anthropic 兼容接口)
国内直连 需代理 需代理 ✅(可接入 DeepSeek 等) ✅(可接入 DeepSeek 等)
开源 ❌(源码可见) ✅(Apache 2.0)
安装难度 一键装插件 pip install 复杂(多依赖) ⭐⭐(npm install)
硬件要求 无(云端) 无(云端) 中(Python 3.11+) 无(云端)
适合场景 日常编码补全 OpenAI 生态用户 想完全自托管/二次开发 想用最好的终端 Agent + 国产模型

1.2 各工具一句话点评

  • OpenAI Codex CLI:OpenAI 官方的终端编码 Agent,体验不错,但绑死 OpenAI 模型——国内用要挂代理 + 付美元,门槛不低。

  • Hermes Agent:开源、自进化、70+ 内置工具、跨会话记忆——听着很香,但实际部署依赖复杂(我刚踩完坑,见 另一篇)。适合有自托管需求、愿意折腾的硬核玩家。

  • Claude Code:Anthropic 出品,终端 Agent 里 综合体验最好的。特别是它天然支持 Anthropic Messages API 兼容接口,国内 DeepSeek、MiniMax、智谱都能直接接。对国内开发者来说,既能享受顶级 Agent 体验,又不用翻墙、不用付美元——这就是选它的核心理由。

1.3 Claude Code 的两个拦路虎 & 解决方案

  1. 国内访问不了 Anthropic 官方 API

  2. 官方 API 贵

→ 装 Claude Code 客户端,把它的 API 端点指向国产大模型厂商的兼容接口。DeepSeek、MiniMax、智谱 GLM 等厂商都实现了 Anthropic Messages API 的兼容层——用国内网络 + 几分之一的价格跑通顶级 AI Agent。

本文适合谁?

  • 想免费/低成本体验 Claude Code 的开发者

  • 在 Copilot、Codex、Hermes、Claude Code 之间纠结选哪个的人

  • C 盘红了、想把开发工具装到其他盘的人

  • claude 命令找不到、启动闪退、401 报错折磨的人

  • 想从 MiniMax 迁移到 DeepSeek 的人


二、环境准备

我的环境 最低要求
操作系统 Windows 11 Windows 10+
Node.js v24.12.0(装在 K 盘) v18+
目标盘可用空间 108 GB ≥ 5 GB
终端 PowerShell(建议换 Windows Terminal) 任意

已有 Node.js 的跳过这步。没装的去 Node.js 官网 下载 LTS 版本,安装时一定勾上 "Add to PATH"

验证安装:

node --version    # 应该 >= v18.0.0
npm --version

三、安装到非系统盘(C盘救星)

⚠️ 先看这里:官方推荐用 irm https://claude.ai/install.ps1 | iex 一键安装,但默认装到 C:\Users\你的用户名\.local\bin,800MB+ 的包直接糊 C 盘脸上。C 盘紧张的朋友请务必用下面的 npm 自定义安装方式。

3.1 在目标盘创建目录

# 全局安装位置(我把所有环境都放在 K 盘,你改成自己的盘符即可)
New-Item -ItemType Directory -Force "K:\software\npm-global"
​
# npm 缓存也一起迁过去
New-Item -ItemType Directory -Force "K:\software\npm-cache"

3.2 修改 npm 的安装位置

npm config set prefix "K:\software\npm-global"
npm config set cache "K:\software\npm-cache"
​
# 确认修改生效
npm config get prefix
# 输出:K:\software\npm-global

这条命令做了什么? 它在 %USERPROFILE%\.npmrc 文件中写入 prefix=K:\software\npm-global。从此所有 npm install -g xxx 的包都装到 K 盘,和 C 盘说拜拜。

3.3 全局安装 Claude Code

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

安装完成后,可执行文件位于:

K:\software\npm-global\node_modules\@anthropic-ai\claude-code\bin\claude.exe

包体积约 240 MB,现在都在你的 K 盘上了。

3.4 验证安装

cd K:\software\npm-global
.\claude.cmd --version
# 输出:2.1.199 (Claude Code)

3.5 把安装目录加入 PATH(让 claude 全局可用)

# 读取当前用户的 PATH 环境变量
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
​
# 把 K 盘的 npm-global 目录追加到最前面
$newPath = "K:\software\npm-global;" + $currentPath
​
# 写回注册表(永久生效)
[System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")

⚠️ 注意:写完注册表后,当前 PowerShell 窗口不会立即生效。需要新开一个窗口,或者跳到本文第六节-坑3$PROFILE 大法一劳永逸。


四、接入 MiniMax API(踩坑全过程)

踩坑过程比直接抄答案更有价值,所以我保留了从"按照网上的教程配 → 报错 → 排查 → 修复"的完整链路。只想抄答案的直接看 4.3 修正后的配置

4.1 按网上教程配的第一版(翻车了)

C:\Users\你的用户名\.claude\settings.json 写入:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-你的API-Key",
    "ANTHROPIC_BASE_URL": "https://api.minimax.io/anthropic",
    "ANTHROPIC_MODEL": "MiniMax-M2.5",
    "API_TIMEOUT_MS": "600000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "permissions": {
    "allow": [],
    "deny": []
  }
}

然后满怀期待敲下 claude,结果:401 Unauthorized

4.2 问题出在哪?

搜了一圈才发现:网上很多教程(包括部分高阅读量的掘金/博客园文章)写的 api.minimax.ioMiniMax 的国际版端点国内用户必须用 api.minimaxi.com

❌ https://api.minimax.io/anthropic    ← 国际版,国内 401
✅ https://api.minimaxi.com/anthropic   ← 国内版,通了

注意域名中间是 minimaxi,不是 minimax。这个细节 90% 的教程都没写清楚。

4.3 修正版配置(直接抄)

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-你的MiniMax-API-Key",
    "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
    "ANTHROPIC_MODEL": "MiniMax-M2.5",
    "ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2.5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2.5",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2.5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.5",
    "API_TIMEOUT_MS": "600000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "permissions": {
    "allow": [],
    "deny": []
  }
}

几个容易踩的坑(帮你省一小时)

说明
ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY 前者用于第三方代理认证,后者是 Anthropic 官方直连。用 AUTH_TOKEN 才生效
五个 *_MODEL 全部要填 Claude Code 内部按任务复杂度自动选模型,少填一个就可能 404
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 关掉向 Anthropic 官方发送遥测数据,避免国内网络超时
API_TIMEOUT_MS=600000 10 分钟超时,复杂任务不会因为等太久被截断

4.4 再加一个文件:绕过登录拦截

不然后面每次启动 claude 都会弹登录拦截页面:

# 在 C:\Users\你的用户名\.claude.json 写入:
{
  "hasCompletedOnboarding": true
}

4.5 端到端验证

claude --print "回复 pong 即可"

返回 pong → 恭喜,Claude Code ↔ MiniMax API ↔ 你的 Key ↔ 模型响应,全链路通了! 🎉


五、切换到 DeepSeek(更便宜!)

MiniMax 用了一段时间后额度耗尽。DeepSeek 的 deepseek-chat 一次调用只要几毛几分钱。

5.1 获取 DeepSeek API Key

  1. 打开 DeepSeek 开放平台

  2. 注册/登录 → 左侧「API Keys」→ 创建新 Key

  3. Key 格式:sk- 开头的一长串字符

  4. 新用户一般送几块钱额度,个人开发者够玩好久

5.2 修改配置文件

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek-API-Key",
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_MODEL": "deepseek-chat",
    "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-chat",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-chat",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-chat",
    "API_TIMEOUT_MS": "600000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "permissions": {
    "allow": [],
    "deny": []
  }
}

和 MiniMax 配置相比,只改了 3 个地方

改动项 MiniMax DeepSeek
ANTHROPIC_AUTH_TOKEN sk-你的MiniMax-Key sk-你的DeepSeek-Key
ANTHROPIC_BASE_URL https://api.minimaxi.com/anthropic https://api.deepseek.com/anthropic
5 个 *_MODEL MiniMax-M2.5 deepseek-chat

5.3 备份配置(方便以后来回切)

# 保存 DeepSeek 配置
Copy-Item "$env:USERPROFILE\.claude\settings.json" `
          "$env:USERPROFILE\.claude\settings.deepseek-backup.json"
​
# 以后想切回 MiniMax(前提是你之前存过备份)
Copy-Item "$env:USERPROFILE\.claude\settings.minimax-backup.json" `
          "$env:USERPROFILE\.claude\settings.json" -Force

5.4 双确认验证

# 方式1:看配置文件
Get-Content "$env:USERPROFILE\.claude\settings.json" | Select-String "BASE_URL|MODEL"
​
# 方式2:进 Claude Code 交互模式查看
claude
> /status

/status 会显示当前生效的 Model 和 API 端点,两个都对 = 100% 切换成功 ✅


六、4 大真实坑 + 解决方案(全篇精华)

这一节是本文最有价值的部分。每个坑都包含:症状 → 根因 → 解决 → 底层原理。理解原理才能真正避坑,而不是靠运气。


坑 1:Claude Code 启动后闪退

** 症状**:

启动 Claude Code,banner 刚渲染出欢迎语和小螃蟹 ASCII 图标,窗口直接消失

** 根因**:

PowerShell 默认字体(Consolas)不支持 Claude Code banner 里的 box-drawing 字符和 emoji。渲染到那些字符时直接抛异常退出。

** 解决**(任选其一):

方案 A:换字体(30 秒搞定)

PowerShell 窗口左上角图标 → 属性 → 字体 → 选 Cascadia Mono(Win11 自带)

方案 B:装 Windows Terminal(强烈推荐)

winget install Microsoft.WindowsTerminal

✨ Windows Terminal 自带支持所有 Unicode 字符的默认字体,而且是现代化的多标签终端,支持 GPU 加速渲染、分屏、自定义主题。装完以后再也用不回那个白底黑字的传统 PowerShell 了


坑 2:401 Unauthorized

** 症状**:

配置完跑 claude --print "test",返回 401。

** 根因**:

用错了 API 端点域名。MiniMax 国际版 api.minimax.io 和国内版 api.minimaxi.com 是两个不同的服务。

** 解决**:

翻回第四节 4.2 确认你的端点域名。国内用户必须用 api.minimaxi.com(中间是 xi,不是 x)。


坑 3:重启电脑后 claude 命令消失(Windows PATH 缓存问题)

** 症状**:

PS C:\Users\30106> claude
'claude' 不是内部或外部命令,也不是可运行的程序或批处理文件。

重启前明明能用的,重启完就找不到了。而且 $env:Path 里确实没有你之前加进去的路径

** 根因(这是本文技术深度最高的部分)**:

Windows 环境变量分两层:

层级 存储位置 加载时机
System 注册表 HKLM\...\Environment 系统启动时读取一次
User 注册表 HKCU\Environment 每个进程启动时从父进程继承快照

进程继承链:

Windows 内核
  → explorer.exe          ← 启动时从注册表读 User PATH(旧值)
    → PowerShell.exe      ← 继承 explorer.exe 内存中的旧 PATH
      → claude.exe        ← 再继承 PowerShell 的旧 PATH

我们用 SetEnvironmentVariable 改的是注册表,但 explorer.exe 在我们改之前就已经启动了,它内存里的 PATH 是旧快照。新开的 PowerShell 继承的是 explorer 的内存副本 → 永远用旧值

理论上重启电脑能清掉 explorer 缓存,但 Windows 有时候"不彻底"——部分后台服务保留了旧环境快照,重启后又把污染值传给了新进程。

** 解决($PROFILE 大法,一劳永逸)**:

# 第一步:创建 PowerShell Profile(如果还没有)
New-Item -ItemType File -Path $PROFILE -Force
​
# 第二步:编辑 Profile,写入下面这行
notepad $PROFILE

在打开的记事本中写入:

# 每次打开 PowerShell 时,强制从注册表同步最新 PATH
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","User") + ";" + [System.Environment]::GetEnvironmentVariable("Path","Machine")

保存后,以后任何新开的 PowerShell 窗口都会自动执行这一行,把注册表里最新的 PATH 同步到当前会话。

验证方法:关掉所有 PowerShell 窗口 → 重新打开 → 直接敲 claude --version,能正常输出即修复成功。


坑 4:claude 命令大小写问题

** 症状**:

PS C:\Users\30106> Claude
Claude : 无法将"Claude"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

** 根因**:

PowerShell 对内置 cmdlet 大小写不敏感,但去 PATH 里找可执行文件时,行为在不同 Windows 版本/PowerShell 版本下不完全一致

** 解决**:

全部用小写 claude,养成肌肉记忆即可。如果小写也找不到,那就是坑 3(PATH 缓存)的问题,先修那个。


七、底层原理(知其所以然)

7.1 npm config set prefix 到底干了什么?

npm install -g xxx
       │
       ▼
  prefix 目录
    ├── node_modules/          ← 全局包的实际代码放这里
    │   └── @anthropic-ai/
    │       └── claude-code/
    │           └── bin/
    │               └── claude.exe   (240MB)
    │
    └── claude.cmd             ← cmd shim 直接放 prefix 根目录
    └── claude.ps1             ← PowerShell shim 也放根目录

关键认知:加到 PATH 里的必须是 prefix 根目录K:\software\npm-global),不是 node_modules 子目录。因为 npm 把 .cmd shim 放在 prefix 根目录。

7.2 Windows 环境变量继承机制

BIOS
  → Windows 内核
    → smss.exe(会话管理器)
      → winlogon.exe(登录进程)
        → userinit.exe(用户初始化)
          → explorer.exe    ← 第 1 次读 User PATH(从注册表)
            → PowerShell.exe ← 继承 explorer 的 PATH 快照(不是读注册表!)
              → claude.exe   ← 继承 PowerShell 的 PATH

一句话总结:子进程继承的是父进程启动那一刻的环境变量副本,不会实时同步注册表。这就是 $PROFILE 方案的必要性。

7.3 PowerShell $PROFILE 机制

$PROFILE 是一个指向 .ps1 脚本文件路径的特殊变量。PowerShell 每次启动时会自动执行这个脚本(如果文件存在)。

Profile 类型 路径 作用范围
Current User, Current Host $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 当前用户当前 Shell(最常用)
Current User, All Hosts $HOME\Documents\PowerShell\Profile.ps1 当前用户所有 Shell
All Users, Current Host $PSHOME\Microsoft.PowerShell_profile.ps1 所有用户当前 Shell
All Users, All Hosts $PSHOME\Profile.ps1 所有用户所有 Shell

notepad $PROFILE 打开的就是第一个(最常用的那个)。

推荐做法:把 PATH 同步 + 别名 + 自定义函数全写进 $PROFILE,换电脑时备份这一个文件就行。

7.4 Anthropic 兼容接口原理

Claude Code 客户端发请求用的是 x-api-key 头 + Anthropic Messages API 格式(POST /v1/messages)。国产大模型厂商都在自己的网关上实现了这套协议的兼容层:

┌─────────────────────────────────────┐
│        Claude Code 客户端            │
│  POST /v1/messages                  │
│  Headers:                           │
│    x-api-key: sk-xxxxx              │
│    anthropic-version: 2023-06-01    │
└──────────────┬──────────────────────┘
               │
               ▼
┌──────────────────────────────────────┐
│   国内厂商的反代网关(兼容层)        │  ← ANTHROPIC_BASE_URL 指向这里
│   把 Anthropic 格式 → 厂商自有协议    │
└──────────────┬───────────────────────┘
               │
               ▼
┌──────────────────────────────────────┐
│   厂商的大模型                        │
│   deepseek-chat / MiniMax-M2.5 / ... │
└──────────────────────────────────────┘

所以我们只需要改 BASE_URL + AUTH_TOKEN + MODEL 名称,Claude Code 就能对接任何实现了 Anthropic 兼容接口的服务。


八、常用命令速查表

安装 & 环境

npm config get prefix                              # 查看 npm 全局安装位置
npm config set prefix "K:\software\npm-global"     # 修改全局安装位置
npm install -g @anthropic-ai/claude-code@latest    # 安装/更新 Claude Code

Claude Code 使用

claude --version                  # 查看版本
claude --print "你的问题"          # 非交互模式(适合脚本/测试)
claude                            # 进入交互模式

交互模式内命令

命令 作用
/status 查看当前模型和 API 端点
/help 查看所有可用命令
/clear 清空对话上下文
/compact 压缩上下文(节省 token)
Ctrl+C 退出交互模式

配置 & 排查

# 编辑配置文件
notepad "$env:USERPROFILE\.claude\settings.json"
​
# 编辑 PowerShell 启动脚本
notepad $PROFILE
​
# 查看当前会话的 PATH
$env:Path
​
# 从注册表强制刷新当前会话的 PATH
$env:Path = ([Environment]::GetEnvironmentVariable("Path","User") + ";" + `
             [Environment]::GetEnvironmentVariable("Path","Machine"))

模型切换

# 备份当前配置
Copy-Item "$env:USERPROFILE\.claude\settings.json" `
          "$env:USERPROFILE\.claude\settings.backup.json"
​
# 恢复之前的配置
Copy-Item "$env:USERPROFILE\.claude\settings.backup.json" `
          "$env:USERPROFILE\.claude\settings.json" -Force
​
# 验证切换
Get-Content "$env:USERPROFILE\.claude\settings.json" | Select-String "BASE_URL|MODEL"

九、总结与推荐

给同样要折腾的朋友的 5 条忠告

  1. 国内用 MiniMax,端点必用 api.minimaxi.com,不是 .io

  2. 想省 C 盘,npm prefix 必须改,一条命令就能省出几百 MB

  3. Windows PATH 缓存是真恶心$PROFILE 大法一劳永逸

  4. 闪退就换字体或装 Windows Terminal,别死磕

  5. .claude.json 别忘了写 hasCompletedOnboarding: true,不然每次都弹登录

还没解决的问题(待探索)

  • 多模型一键切换 GUI 工具cc-switch 支持 DeepSeek、MiniMax、智谱、阿里百炼、字节豆包的可视化切换,下次试试

  • Claude Code Skills 插件:官方内置了 docx、pptx、pdf、xlsx 等技能,还没深度用

  • VS Code 集成:Claude Code 有官方 VS Code 插件,配合终端使用应该更顺手


参考资料

参考教程

推荐工具


如果这篇文章帮到了你,欢迎 点赞 、收藏 ⭐、评论 三连~

踩了什么新坑或者有更好的方案?评论区分享一下 🙌

更多推荐