PowerShell 与命令提示符的入口差异
在 Windows 上第一次跑 Claude Code,先决定用哪个终端。PowerShell 是当前默认的 shell,语法与命令提示符并不完全兼容,同一份配置写法可能要改两遍。下面把两者最常用的写法并排列出,方便你在发车前逐项核对。
- 临时环境变量:PowerShell 写作 $env:ANTHROPIC_AUTH_TOKEN = "密钥",只对当前窗口生效,窗口关闭即失效。
- 命令提示符:同样的设置写作 set ANTHROPIC_AUTH_TOKEN=密钥,等号两边不能有多余空格,值里的空格则需要加引号。
- 持久化写入:PowerShell 可以用 setx ANTHROPIC_AUTH_TOKEN "密钥",命令提示符同样可以,但两边都必须重开终端才会读到新值。
- 引号行为:PowerShell 的双引号会做变量展开,包含美元符号的值请改用单引号;命令提示符没有这个展开规则。
- 查看方式:PowerShell 用 Get-ChildItem Env: 或 $env:PATH 查看,命令提示符用 set 或 echo %PATH%。
把这份对照表贴在旁边,写配置时就能少踩一半的坑。命令提示符的意义在于兼容性校验:当你的脚本要在老旧机器、批处理模板或他人环境里跑时,它能提醒你哪些写法是 PowerShell 专属。
执行策略与安装脚本的拦路点
PowerShell 默认的执行策略常常挡住安装脚本,报错里通常带着“禁止运行脚本”的提示。处理方式有三种,影响范围并不一样,按需选择即可。
- 仅当前进程:使用 Set-ExecutionPolicy -Scope Process RemoteSigned,只对这个窗口有效,窗口关闭后自动恢复,推荐优先使用。
- 当前用户:使用 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned,影响该账户下的所有窗口,长期开发可以考虑。
- 保持策略不变:执行单个本地脚本时,也可以用 powershell -ExecutionPolicy Bypass -File 脚本路径,一次性绕过而不改全局设置。
另一个容易被忽略的地方是终端宿主。Windows Terminal、VS Code 集成终端、独立的 PowerShell 窗口,各自的启动配置是分开的。如果你在 VS Code 里设置成功、换到外部窗口又失效,多半是启动脚本没有同步。把环境变量写进系统或用户级变量,而不是某个 profile 文件,可以省掉这类来回切换的排查时间。
Node 版本、安装路径与 PATH 核对
Claude Code 依赖 Node 运行环境,Windows 上最常见的问题不是安装失败,而是多个 Node 版本并存导致命令指向了另一个位置。发车前先做一轮体检,把版本、路径、代理三件事一次性查清。
- 版本与路径:先跑 node -v 和 where node,如果 where 列出多个条目,确认当前生效的那一个确实是你要用的。
- 命令是否可见:用 Get-Command claude 确认可执行文件是否在 PATH 中,找不到时检查安装目录是否被误删或未写入用户变量。
- 路径含空格:安装到含空格的目录时,脚本里引用路径一律加引号,否则命令会被截断成两段。
- 网络代理:走代理的环境要在 PowerShell 里设置 HTTPS_PROXY,注意协议头写 https 而不是 http,避免握手阶段就失败。
- 权限提示:全局安装出现权限错误时,优先改用用户级安装或调整前缀,而不是直接以管理员身份长期开发。
做完这几项,命令行层面的环境基本就稳了。剩下的问题通常集中在编码与长命令的输入习惯上。
中文输入、编码与长命令排错
在中文 Windows 上,PowerShell 窗口的代码页与管道编码经常让中文注释、中文文件名显示成乱码。这不是配置失败,而是显示层的问题,但会干扰你判断真正的错误。
- 切换代码页:命令提示符可用 chcp 65001 切到 UTF-8,PowerShell 建议在终端设置里固定为 UTF-8,避免每次手工切换。
- 管道编码:重定向输出时留意编码不一致,必要时统一设置输出编码,减少读写文件出现乱码的可能。
- 长命令换行:PowerShell 用反引号做续行,命令提示符用脱字符,混用会让命令提前提交。
- 粘贴含换行的文本:PowerShell 会把多行粘贴当作多条命令依次执行,粘贴前先看清内容,避免中途确认提示被跳过。
把这些细节固定成个人习惯,排查问题时就能把“环境坏了”和“只是显示不对”分开,节省大量来回折腾。
接上 SwiftRelay 的配置清单与发车建议
环境就绪后,把 Claude Code 指向 SwiftRelay 这一步反而简单。SwiftRelay 是按量计费的模型中转服务,支持 Claude、GPT、Gemini、DeepSeek、Kimi、GLM、Qwen、Grok 等多种模型,兼容 Claude Code、Codex、Gemini CLI 以及任何 OpenAI 兼容的 SDK。
- 主机名写法:API 主机是 https://api.fastapirelay.com,Claude Code 与 Gemini CLI 只写裸主机名即可。
- SDK 差异:OpenAI 兼容的 SDK 需要在主机名后追加 /v1,两种写法别混淆。
- 鉴权配置:把密钥写入 ANTHROPIC_AUTH_TOKEN,注意用前面提到的写法区分 PowerShell 与命令提示符。
- 模型选择:日常编码可以指定 Claude Sonnet 5.5,需要更轻量的批量任务时换成 DeepSeek V4 Flash。
- 计费方式:按 token 计费,没有固定门槛;新账户有小额赠送额度,邀请好友还能获得其充值金额的 14%。
如果你正在犹豫从哪个终端起步,建议直接以 PowerShell 为主力,把命令提示符当作兼容性对照:配置写一遍主用版本,再用对照表检查是否能在其他环境复现。注册 SwiftRelay 后即可开始试跑。
最后给一份发车前的简短建议:先固定执行策略到当前进程,再核对 Node 与 PATH,接着写入环境变量并重开窗口验证,最后才是编码与长命令的微调。这套顺序从外到内,出问题时定位最快,也最适合在新机器上照着走一遍。