在这里插入图片描述

本文适用于 Windows 10/11,主要介绍如何在 CMD 或 PowerShell 中安装 Claude Code、配置 DeepSeek 兼容接口,并通过免权限确认模式启动。


一、环境准备

Claude Code 依赖 Node.js 和 npm,因此需要先安装 Node.js。

1. 使用 Winget 安装 Node.js

打开 CMD 或 PowerShell,执行:

winget install OpenJS.NodeJS.LTS

安装完成后,关闭当前终端,再重新打开一个新的 CMD 或 PowerShell 窗口。

检查 Node.js、npm 和 npx:

node -v
npm -v
npx -v

正常情况下,会分别输出版本号,例如:

v22.x.x
10.x.x
10.x.x

如果仍然提示:

'npm' 不是内部或外部命令

可以检查程序位置:

where node
where npm

也可以临时添加环境变量:

set "PATH=C:\Program Files\nodejs;%APPDATA%\npm;%PATH%"

然后重新检查:

node -v
npm -v

二、安装 Claude Code

确认 npm 可以正常使用后,执行:

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

安装完成后检查版本:

claude --version

只要能够正常显示 Claude Code 版本号,就说明安装成功。

如果安装后提示找不到 claude,可以检查:

where claude

npm 全局命令通常位于:

C:\Users\你的用户名\AppData\Roaming\npm

例如:

C:\Users\17381\AppData\Roaming\npm

可将该目录加入 Windows 的 Path 环境变量。


三、区分 CMD 和 PowerShell 语法

这是配置过程中最容易出错的地方。

CMD 提示符特征

C:\Users\17381>

CMD 设置环境变量使用:

set "变量名=变量值"

PowerShell 提示符特征

PS C:\Users\17381>

PowerShell 设置环境变量使用:

$env:变量名="变量值"

如果在 CMD 中执行:

$env:ANTHROPIC_BASE_URL="..."

会出现:

文件名、目录名或卷标语法不正确。

原因不是接口配置错误,而是把 PowerShell 语法复制到了 CMD 中。


四、在 CMD 中临时配置 DeepSeek 接口

在 CMD 窗口中执行:

set "ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic"
set "ANTHROPIC_AUTH_TOKEN=你的新API密钥"

set "ANTHROPIC_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash"

set "CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash"
set "CLAUDE_CODE_EFFORT_LEVEL=max"

注意将:

你的新API密钥

替换成实际 API Key。

不要在教程、截图、聊天记录或代码仓库中公开真实密钥。

以上配置仅在当前 CMD 窗口有效。关闭窗口后,变量会自动失效。


五、检查环境变量是否生效

查看接口地址:

echo %ANTHROPIC_BASE_URL%

查看默认模型:

echo %ANTHROPIC_MODEL%

检查 Token 是否已经设置,但不要直接打印 Token:

if defined ANTHROPIC_AUTH_TOKEN (echo AUTH_TOKEN is set) else (echo AUTH_TOKEN is not set)

正常输出:

AUTH_TOKEN is set

不建议执行:

echo %ANTHROPIC_AUTH_TOKEN%

否则完整密钥会显示在终端和录屏中。


六、进入项目目录

不要直接在:

C:\Users\17381

目录中开启高权限模式。

应先进入具体项目目录,例如:

cd /d "D:\Program Files\Git\dev\my-project"

其中:

/d

用于在切换目录的同时切换磁盘分区。

例如从 C 盘进入 D 盘项目目录:

cd /d "D:\Code\demo-project"

检查当前位置:

cd

七、普通方式启动 Claude Code

普通启动命令:

claude

这种模式下,Claude Code 在执行命令、修改文件或进行高风险操作时,可能会反复询问是否允许。

适合第一次运行或不完全可信的项目。


八、一直允许执行:免确认模式启动

希望 Claude Code 自动执行命令、不再频繁询问权限,可以使用:

claude --dangerously-skip-permissions

也可以使用权限模式参数:

claude --permission-mode bypassPermissions

推荐完整启动方式:

cd /d "D:\Code\demo-project"
claude --dangerously-skip-permissions

这种模式通常会跳过 Bash、文件编辑、创建文件等操作的权限确认。

风险提示

开启后,Claude Code 可能直接执行:

删除文件
覆盖源代码
安装依赖
运行脚本
修改配置
执行系统命令

因此只应在以下情况下使用:

  1. 当前项目来源可信;
  2. 已使用 Git 或其他方式备份;
  3. 当前目录不是用户主目录或磁盘根目录;
  4. 重要文件已经提交版本控制;
  5. API Key 没有写入代码仓库。

建议启动前先检查 Git 状态:

git status

必要时先提交:

git add .
git commit -m "backup before claude code"

九、完整的一次性启动流程

在 CMD 中,可以按照下面的顺序执行。

1. 进入项目目录

cd /d "D:\Code\demo-project"

2. 配置接口和模型

set "ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic"
set "ANTHROPIC_AUTH_TOKEN=你的新API密钥"

set "ANTHROPIC_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash"

set "CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash"
set "CLAUDE_CODE_EFFORT_LEVEL=max"

3. 检查配置

echo %ANTHROPIC_BASE_URL%
echo %ANTHROPIC_MODEL%

if defined ANTHROPIC_AUTH_TOKEN (echo AUTH_TOKEN is set) else (echo AUTH_TOKEN is not set)

4. 免确认启动

claude --dangerously-skip-permissions

十、PowerShell 对应配置方法

如果使用的是 PowerShell,写法需要改成:

$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="你的新API密钥"

$env:ANTHROPIC_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash"

$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"

检查变量:

$env:ANTHROPIC_BASE_URL
$env:ANTHROPIC_MODEL

检查 Token 是否存在:

if ($env:ANTHROPIC_AUTH_TOKEN) {
    Write-Host "AUTH_TOKEN is set"
} else {
    Write-Host "AUTH_TOKEN is not set"
}

进入项目目录:

Set-Location "D:\Code\demo-project"

启动:

claude --dangerously-skip-permissions

十一、永久保存环境变量

临时环境变量在关闭终端后会消失。需要长期使用时,可以通过 setx 保存到当前 Windows 用户。

在 CMD 中执行:

setx ANTHROPIC_BASE_URL "https://api.deepseek.com/anthropic"
setx ANTHROPIC_AUTH_TOKEN "你的新API密钥"

setx ANTHROPIC_MODEL "deepseek-v4-pro[1m]"
setx ANTHROPIC_DEFAULT_OPUS_MODEL "deepseek-v4-pro[1m]"
setx ANTHROPIC_DEFAULT_SONNET_MODEL "deepseek-v4-pro[1m]"
setx ANTHROPIC_DEFAULT_HAIKU_MODEL "deepseek-v4-flash"

setx CLAUDE_CODE_SUBAGENT_MODEL "deepseek-v4-flash"
setx CLAUDE_CODE_EFFORT_LEVEL "max"

执行完成后,必须:

  1. 关闭当前 CMD;
  2. 重新打开 CMD;
  3. 再运行 Claude Code。

检查永久变量:

echo %ANTHROPIC_BASE_URL%
echo %ANTHROPIC_MODEL%

然后进入项目并启动:

cd /d "D:\Code\demo-project"
claude --dangerously-skip-permissions

不建议永久保存 API Key

虽然 setx 使用方便,但 API Key 会长期保存在用户环境变量中。

更安全的方式是每次启动时临时输入,或者使用专门的密钥管理方案。


十二、推荐:隐藏输入 API Key

为了避免 API Key 显示在终端历史记录中,可以使用 PowerShell 隐藏输入。

打开 PowerShell,执行:

$secureToken = Read-Host "请输入 API Key" -AsSecureString
$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureToken)

try {
    $env:ANTHROPIC_AUTH_TOKEN = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
}
finally {
    [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr)
}

然后设置其他变量:

$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash"
$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"

最后进入项目启动:

Set-Location "D:\Code\demo-project"
claude --dangerously-skip-permissions

十三、常见问题排查

1. npm 不是内部或外部命令

报错:

'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因:

  • 没有安装 Node.js;
  • Node.js 没有加入 PATH;
  • 安装后没有重新打开终端。

解决:

winget install OpenJS.NodeJS.LTS

重新打开 CMD 后检查:

node -v
npm -v

2. $env: 提示文件名或目录名错误

报错:

文件名、目录名或卷标语法不正确。

原因:当前使用的是 CMD,却执行了 PowerShell 语法。

CMD 使用:

set "变量名=变量值"

PowerShell 使用:

$env:变量名="变量值"

3. Claude 命令不存在

检查:

where claude
npm list -g --depth=0

重新安装:

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

检查 npm 全局目录:

npm config get prefix

Windows 常见的全局命令目录:

C:\Users\你的用户名\AppData\Roaming\npm

4. 配置后仍然请求登录

可能原因:

  • 环境变量没有在启动 Claude Code 的同一个终端中设置;
  • 变量名称写错;
  • API Key 无效;
  • 接口地址不兼容;
  • 接口提供方不支持当前模型名;
  • 终端是在设置永久变量之前打开的。

重新打开终端后检查:

echo %ANTHROPIC_BASE_URL%
echo %ANTHROPIC_MODEL%

然后再启动:

claude

5. 模型名称无效

不同接口平台支持的模型名称可能不同,例如:

deepseek-v4-pro[1m]
deepseek-v4-flash

这些名称必须以接口提供方实际开放的模型列表为准。

如果出现模型不存在、无权限或参数错误,应优先检查:

ANTHROPIC_MODEL
ANTHROPIC_DEFAULT_OPUS_MODEL
ANTHROPIC_DEFAULT_SONNET_MODEL
ANTHROPIC_DEFAULT_HAIKU_MODEL
CLAUDE_CODE_SUBAGENT_MODEL

6. API Key 曾经公开怎么办

一旦 API Key 出现在:

  • 聊天记录;
  • CSDN 文章;
  • 截图或录屏;
  • GitHub 仓库;
  • 群聊;
  • 公开文档;

应立即进入对应平台的密钥管理页面:

  1. 删除或禁用旧密钥;
  2. 创建新密钥;
  3. 替换本地配置;
  4. 检查账户调用记录和余额。

仅仅删除聊天消息,并不能保证旧密钥没有泄露。


十四、建议制作启动脚本

可以新建文件:

start-claude.cmd

写入:

@echo off
setlocal

cd /d "D:\Code\demo-project" || (
    echo 项目目录不存在
    pause
    exit /b 1
)

set "ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic"
set "ANTHROPIC_AUTH_TOKEN=你的新API密钥"

set "ANTHROPIC_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash"

set "CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash"
set "CLAUDE_CODE_EFFORT_LEVEL=max"

echo Base URL: %ANTHROPIC_BASE_URL%
echo Model: %ANTHROPIC_MODEL%

if not defined ANTHROPIC_AUTH_TOKEN (
    echo API Key 未配置
    pause
    exit /b 1
)

claude --dangerously-skip-permissions

endlocal

双击该文件即可进入指定项目并启动 Claude Code。

不过将 API Key 明文写入脚本存在泄露风险,脚本不要提交到 Git。

建议将文件加入 .gitignore

start-claude.cmd
.env
.env.local

十五、总结

Windows 配置 Claude Code 的核心流程如下:

安装 Node.js
    ↓
检查 node、npm、npx
    ↓
全局安装 Claude Code
    ↓
区分 CMD 和 PowerShell 语法
    ↓
配置接口地址、API Key 和模型
    ↓
进入具体项目目录
    ↓
普通模式或免确认模式启动

最常用的 CMD 启动流程:

cd /d "D:\Code\demo-project"

set "ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic"
set "ANTHROPIC_AUTH_TOKEN=你的新API密钥"
set "ANTHROPIC_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]"
set "ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash"
set "CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash"
set "CLAUDE_CODE_EFFORT_LEVEL=max"

claude --dangerously-skip-permissions

免确认模式虽然方便,但权限非常高。务必先进入具体项目目录,并使用 Git 做好备份。

更多推荐