linux.do账号,关闭了 GitHub 注册通道。这再次印证了那句老话:早就是优势。为了图方便,我直接在某鱼花了 8.9 元买了一个包含 225 美金额度的成品号,虽然自己注册教育邮箱成本会更低,但这个价格能立刻体验到 Claude Code 的强大功能,无疑是极具性价比的。一、 Claude Code 简介
-
什么是 Claude Code
Claude Code 是 Anthropic 官方推出的一款命令行编程助手(CLI 工具),它通过自然语言与终端深度集成,帮助开发者快速编写、修改和管理代码。
-
核心功能
它并非传统意义上的“代码补全”工具,而是一套智能开发工作流助手,主要能力包括:
-
代码编写、重构、修复
-
项目结构理解与全局搜索
-
终端命令执行与测试运行
-
Git 工作流集成(提交、PR、冲突处理)
-
多步骤任务分解与执行
-
典型应用场景
-
新功能快速开发
-
代码架构优化或重构
-
Bug 定位与调试
-
阅读陌生项目代码
二、Anyrouter 介绍2.1 ) 登录注册AnyRouter 是一个可以访问 Claude Code 的第三方中转平台,主要被用作一个 API 转发服务,以解决网络访问限制和优化连接稳定性的问题。
https://anyrouter.top/register?aff=7qbX
目前的注册只支持教育邮箱或linuxDO的注册,可以直接购买成品号或邮箱账号自己注册。

登录成功后,在「首页」能看到这个账号下面的余额

目前网站还支持每日签到送额度,只需要每日刷新下页面即可赠送 25 美刀,进一步降低了使用成本。

2.2)添加 API 令牌在左边菜单找到「API令牌」,然后「添加令牌」按钮 ,设置令牌的基本信息,生成后的令牌(以sk-开头)将用于后续 Claude Code 的配置。

三、Claude Code 安装3.1 ) 安装我是在 Mac 平台安装的,直接使用下面的命令安装即可,不过现在 Windows 好像也可以直接用这种方式来安装了,不需要安装 wsl 了。使用 npm 的前提还是要安装 node 环境的。npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
安装完成没有报错的话,在终端测试下claude --version
3.2) 配置集成 AnyRouter 到 Claude Code 的过程非常直接,主要通过配置环境变量来实现。只需配置两个环境变量:ANTHROPIC_BASE_URL(API 地址)和ANTHROPIC_API_KEY(你的令牌)。
-
获取 AnyRouter 令牌:上面,我们已经在AnyRouter网站创建了令牌,这个令牌以
sk-开头。
-
配置环境变量:Claude Code 通过读取特定的环境变量来确定 API 的端点和密钥。需要在终端中设置以下两个变量:
-
ANTHROPIC_BASE_URL:设置为 AnyRouter 提供的 API 地址。
-
ANTHROPIC_AUTH_TOKEN:设置为在 AnyRouter 平台获取的令牌。
API 的地址在网站的首页能找到,AnyRouter 提供了多个 API 地址,建议根据网络情况选择(例如大陆优化 CDN 地址)。

大陆网络优化
https://q.quuvv.cn
大陆优化 CDN
https://pmpjfbhq.cn-nb1.rainapp.top
大陆网络优化,主站后端直连服务
https://anyrouter.top
-
临时配置 (仅当前终端会话有效):
export ANTHROPIC_BASE_URL="https://anyrouter.top"
export ANTHROPIC_API_KEY="sk-..."
claude
-
永久配置 (推荐):为了避免每次开启新的终端都需要重新配置,可以将上述
export命令添加到您的 Shell 配置文件中(如
~/.zshrc、
~/.bashrc或
~/.bash_profile)。
echo 'export ANTHROPIC_BASE_URL="https://anyrouter.top"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="sk-..."' >> ~/.zshrc
source ~/.zshrc
配置完成后,直接运行claude命令即可通过 AnyRouter 使用 Claude Code。3.3) 运行进入 claude 交互界面后,通过/status看到API的地址指向 AnyRouter,默认的模型为 claude-sonnet-4.5 就表示成功了。

通过上面的方式,我们就将 AnyRouter 集成到了 Claude Code 了,但是上面这种方式是有一个问题的,是什么呢 ? 由于 Claude Code 的稳定性和价格,我们可能要同时接入很多的平台,比如要接入 Kimi2、Deepseek、Qwen、GLM 等。如果还是用这种环境变量配置的方式的话,虽然也能做到,但是每换一个平台,就需要去改相应变量的值,这样操作起来,就太麻烦了, 有没有更优雅的解决方案呢,答案是有的。接下来,我们来看如何解决这个问题。这种目前有很多的开源项目来做这个的,比如我找到的这个,可以切 Claude 和 Codex, 同时支持 Win 和 Mac。
https://github.com/farion1231/cc-switch
但大多数情况下,我们其实不需要这么复杂的工具,了解原理后,用 Shell 命令就完全可以做到了。四、开发 Claude code 切换工具先搞清楚切换的原理是什么,然后让 AI 给我们写代码就行,这里我用的是豆包,豆包支持对 Github 项目的解释。将 项目的地址丢给豆包,然后让它分析下给出切换的原理。

分析完后,豆包也给我们输出了切换的核心逻辑 ,那就是会将切换的配置信息存储到~/.claude/settings.json这个文件中这个文件是 Claude Code 会优化读取的文件,如果这个文件没有配置或配置出错,才会去读我们配置的环境变量,知道这个逻辑后,我们只需要将配置先保存到某个地方,然后切换的时候,再去更新 settings.json 文件即可。

接下来,只需要将我们的想法告诉 AI ,并让它帮我们实现这个工具。AI 很快就给出了一个功能完善且几乎无需修改的 Shell 脚本。


很快就写完了,几乎不用改,直接就可以运行了。Shell脚本如下#!/bin/bash
# 配置文件路径
CONFIG_DIR="$HOME/.claude-switch"
CONFIG_FILE="$CONFIG_DIR/providers.json"
CLAUDE_SETTINGS="$HOME/.claude/settings.json"
# 初始化配置
init() {
if[ ! -d"$CONFIG_DIR"];then
mkdir -p"$CONFIG_DIR"
fi
if[ ! -f"$CONFIG_FILE"];then
echo'{"current": "", "providers": {}}'>"$CONFIG_FILE"
fi
# 确保 Claude 配置目录存在
if[ ! -d"$(dirname "$CLAUDE_SETTINGS")"];then
mkdir -p"$(dirname "$CLAUDE_SETTINGS")"
fi
}
# 显示当前节点
show_current() {
current=$(jq -r'.current'"$CONFIG_FILE")
if[ -n"$current"] && ["$current"!="null"];then
name=$(jq -r".providers[\"$current\"].name""$CONFIG_FILE")
echo"当前使用的节点:$name"
echo"ID:$current"
else
echo"未设置当前节点,请添加并切换节点"
fi
}
# 列出所有节点
list_nodes() {
echo"已配置的 Claude 节点:"
echo"-------------------------"
# 使用 jq 解析 JSON
current=$(jq -r'.current'"$CONFIG_FILE")
providers=$(jq -r'.providers | keys[]'"$CONFIG_FILE")
index=1
foridin$providers;do
name=$(jq -r".providers[\"$id\"].name""$CONFIG_FILE")
# 增强当前节点的显示标识
if["$id"="$current"];then
echo-e"$index. \033[1;32m[*]$name(当前使用)\033[0m"# 绿色加粗显示
else
echo"$index. [ ]$name"
fi
index=$((index + 1))
done
if[ -z"$providers"];then
echo"没有配置任何节点,请先添加节点"
fi
}
# 添加新节点
add_node() {
read-p"请输入节点名称: "name
read-p"请输入 API Key: "api_key
read-p"请输入基础 URL: "base_url
# 生成节点 ID
id=$(date +%s)
# 使用 jq 更新 JSON 配置
jq --arg id"$id"\
--arg name"$name"\
--arg api_key"$api_key"\
--arg base_url"$base_url"\
'.providers[$id] = {
"name": $name,
"env": {
"ANTHROPIC_AUTH_TOKEN": $api_key,
"ANTHROPIC_BASE_URL": $base_url
}
} | if .current == "" then .current = $id else . end'\
"$CONFIG_FILE">"$CONFIG_FILE.tmp"&& mv"$CONFIG_FILE.tmp""$CONFIG_FILE"
echo"节点 '$name' 添加成功!"
}
# 切换节点
switch_node() {
list_nodes
if[ -z"$(jq -r '.providers | keys[]' "$CONFIG_FILE")"];then
return1
fi
read-p"请输入要切换的节点编号: "index
# 获取对应编号的节点 ID
ids=($(jq -r'.providers | keys[]'"$CONFIG_FILE"))
id=${ids[$((index - 1))]}
if[ -z"$id"];then
echo"无效的节点编号"
return1
fi
# 获取节点配置并写入 Claude 设置
node_config=$(jq -r".providers[\"$id\"].env""$CONFIG_FILE")
echo"{\"env\":$node_config}">"$CLAUDE_SETTINGS"
# 更新当前节点
jq --arg id"$id"'.current = $id'"$CONFIG_FILE">"$CONFIG_FILE.tmp"&& mv"$CONFIG_FILE.tmp""$CONFIG_FILE"
# 切换后明确显示当前节点
echo-e"\033[1;34m已成功切换到节点:\033[0m$(jq -r ".providers[\"$id\"].name" "$CONFIG_FILE")"
}
# 显示帮助
show_help() {
echo"Claude 节点切换工具"
echo"用法: claude-switch [命令]"
echo
echo"命令:"
echo" list 列出所有配置的节点(带当前节点标识)"
echo" current 显示当前正在使用的节点"
echo" add 添加新节点"
echo" switch 切换到指定节点"
echo" help 显示帮助信息"
}
# 主逻辑
init
case"$1"in
list)
list_nodes
;;
current)
show_current
;;
add)
add_node
;;
switch)
switch_node
;;
help|*)
show_help
;;
esac
将 Shell 脚本保存到本地的目录中,命名为易记的名字,比如叫cc.sh, 然后将这个文件所有的路径加到环境变量中,即可全局使用。比如我的文件在/Users/smartrui/Documents/claude路径中,按如下配置后就可以使用了export PATH="/Users/smartrui/Documents/claude:$PATH"
查看本地已添加的节点cc.sh list
已配置的 Claude 节点:
[*] anyrouter (当前使用)
[ ] bigmodel
查看当前正在使用的节点cc.sh current
当前使用的节点: anyrouter
ID: 1760025534
增加新的节点cc.sh add
请输入节点名称:
请输入 API Key:
请输入基础 URL:
切换节点cc.sh switch
已配置的 Claude 节点:
-------------------------
1. [*] anyrouter (当前使用)
2. [ ] bigmodel
请输入要切换的节点编号:
通过这个自制的小工具,我们不仅低成本地用上了 Claude Code,还极大地提升了在多个大模型之间切换的效率。切换后只需重启 Claude Code,即可在新节点上开始工作,非常方便。
© 版权声明
文章版权归作者所有,未经允许请勿转载。