claude-code-no-kyc-setup · ZH · 2026-10-05

把 Claude Code 接到无 KYC、USDC 付费的接口:macOS / Linux / Windows 配置差异

本文介绍如何在 macOS、Linux 和 Windows 上把 Claude Code 指向第三方 LLM API 聚合服务,使用 USDC 预付费余额替代需要实名验证的官方账号,并说明三大系统在环境变量、配置文件路径与命令语法上的差异,以及常见排错方法。

为什么要在 Claude Code 里换一个接入点

Claude Code 默认走 Anthropic 官方账号体系,通常需要绑定支付方式,部分地区还会触发身份验证。如果你的目标是「不提交身份信息、用加密货币预付费、一个 key 调多个模型」,可以把 Claude Code 的请求指向一个兼容 Anthropic API 协议的聚合网关。

这类聚合站的基本模型是:

  • 用 USDC 充值(常见是在 Base 网络上转账),拿到预付费余额;
  • 生成一个 API key,用这个 key 调用多个模型(Claude、GPT、DeepSeek、Qwen、GLM、Kimi 等);
  • 计费透明:消费按官方价 ×1.3 折算扣余额;如果你把自己的 key 贡献给站点,按官方价 ×1.1(优质 key ×1.2)返 USDC。

Claude Code 本身不关心后端是谁,它只关心两件事:请求发到哪个 base URL,以及用什么凭证。把这两项配置对,剩下的就是操作系统差异。

核心原理:两个变量就够了

Claude Code 通过环境变量读取接入点信息,最关键的通常是:

  • ANTHROPICBASEURL:API 基址,指向聚合站的接口地址。
  • ANTHROPICAUTHTOKEN(或 ANTHROPICAPIKEY):你的聚合站 key。

部分工具会要求同时清空或覆盖默认的官方凭证变量,避免冲突。具体变量名与取值以聚合站文档为准,不要在客户端硬编码官方域名。

配置的本质就是让这三个信息在 Claude Code 启动时可见。三大系统的差别只在于「怎么让变量可见」和「配置文件放哪」。

macOS:shell profile 与 launchd 的取舍

macOS 默认 shell 在新版本中是 zsh。

临时生效(当前终端会话)

在终端里直接 export:

export ANTHROPIC_BASE_URL="https://你的聚合站接口地址"
export ANTHROPIC_AUTH_TOKEN="你的聚合站key"

这种方式只在当前窗口有效,关掉就没了。适合先做一次连通性验证。

永久生效

写进 shell 配置文件,zsh 是 ~/.zshrc,bash 是 ~/.bash_profile 或 ~/.bashrc。追加两行 export,然后 source ~/.zshrc 或新开终端。

图形界面启动的程序读不到

如果你从 Finder、Spotlight 或某些 IDE 的图形入口启动终端/编辑器,它们不会加载 ~/.zshrc。这类场景需要把变量交给 launchd:

  • 使用 launchctl setenv 设置,但重启后失效;
  • 或写入 ~/Library/LaunchAgents 下的 plist 持久化。

如果 Claude Code 在终端里正常、在 IDE 里报认证错误,几乎总是这个原因。

Linux:注意 sudo 与非交互 shell

Linux 上逻辑与 macOS 接近,但有两个常见坑。

  • 配置文件按 shell 区分:bash 用 ~/.bashrc / ~/.bash_profile,zsh 用 ~/.zshrc,fish 用 ~/.config/fish/config.fish(语法是 set -x,不是 export)。
  • 非交互 shell 不加载 profile。cron、systemd 服务、CI runner、ssh host command 这类场景不会读你的 .bashrc。要么在这些环境里显式注入变量,要么把它们写到服务单元或 CI 的 secrets 里。

另一个坑是 sudo。默认情况下 sudo 会重置环境,导致变量丢失。如果确实需要提权运行,用 sudo -E 保留环境,或改用 env VAR=... command 显式传入,而不是把密钥写进全局 profile。

Windows:PowerShell、CMD 与系统环境变量

Windows 的差异最大,主要因为 shell 语法和环境变量作用域不同。

PowerShell(当前会话)

$env:ANTHROPIC_BASE_URL = "https://你的聚合站接口地址"
$env:ANTHROPIC_AUTH_TOKEN = "你的聚合站key"

注意 PowerShell 用 $env: 前缀,不是 export。

CMD(当前会话)

set ANTHROPIC_BASE_URL=https://你的聚合站接口地址
set ANTHROPIC_AUTH_TOKEN=你的聚合站key

CMD 的 set 会把值里的空格和引号一起吞掉,注意不要随手加引号。

永久生效:系统环境变量

在「系统属性 → 环境变量」里添加用户级变量,或用 setx:

setx ANTHROPIC_BASE_URL "https://你的聚合站接口地址"

setx 写入的是注册表,只对之后新开的进程生效,当前窗口不会更新。改完要重开终端。另外 setx 有长度限制,超长值会被截断。

WSL 与 Git Bash

如果你在 Windows 上跑 WSL,那它其实是一台 Linux,按上面的 Linux 部分处理,Windows 侧的环境变量不会自动继承进 WSL(除非开启互操作并显式透传)。Git Bash 则读取 ~/.bashrc,但某些 Windows 原生程序拿不到它的变量。

三个系统的对照表

| 维度 | macOS | Linux | Windows |
| --- | --- | --- | --- |
| 常用 shell | zsh | bash/zsh/fish | PowerShell/CMD |
| 临时设置语法 | export | export(fish 为 set -x) | $env: 或 set |
| 持久化位置 | ~/.zshrc | ~/.bashrc 等 | 系统环境变量 / setx |
| 图形程序能否读到 | 需 launchd | 不适用 | 通常能,重开进程即可 |
| 提权后是否保留 | sudo 默认不保留 | sudo 默认不保留 | 管理员进程需单独设置 |

验证与排错

配置完先做最小验证,别急着跑大任务。

  1. 确认变量可见:macOS/Linux 用 echo $ANTHROPICBASEURL,Windows PowerShell 用 echo $env:ANTHROPICBASEURL。
  2. 确认没被覆盖:检查是否同时存在官方凭证变量,冲突时以哪个为准要看客户端行为,最稳妥是只保留一套。
  3. 看返回的错误类型:
  • 401/403:key 或变量名不对,或变量没被进程读到;
  • 404:base URL 路径不对,很多网关要求特定的路径前缀;
  • 连接超时:网络或代理问题,不是配置问题。
  1. 换一个干净终端:新开窗口复测,排除旧会话缓存。

如果只在某个入口失败,先怀疑「该入口是否加载了你的配置」,而不是怀疑 key。

安全和成本上的几点提醒

  • 预付费余额用 USDC 充值意味着你先把钱放进去,用多少扣多少。按 ×1.3 的折算比例估算预算,不要按官方价直接算。
  • 如果同时把 key 贡献给站点换取返利,理解规则是「按官方价 ×1.1(优质 ×1.2)返 USDC」,这是收益侧,与你的消费侧 ×1.3 是两回事,别混淆。
  • 密钥只放在本机环境变量或密码管理器里,不要提交进 Git 仓库,也不要在共享机器的全局 profile 里留明文。
  • 环境变量在部分系统上对同机其他进程可见,多用户机器要留意。

小结

把 Claude Code 接到 USDC 付费、免 KYC 的聚合接口,关键动作只有两个:设置 base URL 和认证 token。真正容易出错的是操作系统层面的可见性——macOS 的图形启动、Linux 的非交互 shell 与 sudo、Windows 的 $env: 语法和 setx 生效时机。先在一个干净终端里验证最简配置,再逐步固化到持久化位置,比一次性写一堆配置更容易定位问题。