花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

    一直对 Anthropic 推出的强大 AI 编程助手 Claude Code 心生向往,只不过价格确实有点贵,即便是通过一些国内中转服务,价格也并不亲民。这几天需要开发一个小项目,我决定再次尝试寻找低成本的方案,于是又想起了那个中转服务的公益网站——AnyRouter。为什么说“又”呢?其实我早就知道这个平台。在它早期,注册非常宽松,并且新用户注册和邀请朋友都能获赠额度。后来由于网站受到网络攻击,平台更改了注册策略,目前仅支持教育邮箱和
    linux.do账号,关闭了 GitHub 注册通道。这再次印证了那句老话:早就是优势。为了图方便,我直接在某鱼花了 8.9 元买了一个包含 225 美金额度的成品号,虽然自己注册教育邮箱成本会更低,但这个价格能立刻体验到 Claude Code 的强大功能,无疑是极具性价比的。一、 Claude Code 简介

    1. 什么是 Claude Code

    Claude Code 是 Anthropic 官方推出的一款命令行编程助手(CLI 工具),它通过自然语言与终端深度集成,帮助开发者快速编写、修改和管理代码。

    1. 核心功能

    它并非传统意义上的“代码补全”工具,而是一套智能开发工作流助手,主要能力包括:

    • 代码编写、重构、修复
    • 项目结构理解与全局搜索
    • 终端命令执行与测试运行
    • Git 工作流集成(提交、PR、冲突处理)
    • 多步骤任务分解与执行
    1. 典型应用场景
    • 新功能快速开发
    • 代码架构优化或重构
    • Bug 定位与调试
    • 阅读陌生项目代码

    二、Anyrouter 介绍2.1 ) 登录注册AnyRouter 是一个可以访问 Claude Code 的第三方中转平台,主要被用作一个 API 转发服务,以解决网络访问限制和优化连接稳定性的问题。

    https://anyrouter.top/register?aff=7qbX

    目前的注册只支持教育邮箱或linuxDO的注册,可以直接购买成品号或邮箱账号自己注册。

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

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

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

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

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

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

    花 8.9 元用AnyRouter低成本体验 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(你的令牌)。

    1. 获取 AnyRouter 令牌:上面,我们已经在AnyRouter网站创建了令牌,这个令牌以
      sk-开头。
    2. 配置环境变量Claude Code 通过读取特定的环境变量来确定 API 的端点和密钥。需要在终端中设置以下两个变量:
      1. ANTHROPIC_BASE_URL:设置为 AnyRouter 提供的 API 地址。
      2. ANTHROPIC_AUTH_TOKEN:设置为在 AnyRouter 平台获取的令牌。

    API 的地址在网站的首页能找到,AnyRouter 提供了多个 API 地址,建议根据网络情况选择(例如大陆优化 CDN 地址)。

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

    大陆网络优化
    https://q.quuvv.cn

    大陆优化 CDN
    https://pmpjfbhq.cn-nb1.rainapp.top

    大陆网络优化,主站后端直连服务
    https://anyrouter.top

    1. 临时配置 (仅当前终端会话有效):

    export ANTHROPIC_BASE_URL="https://anyrouter.top"
    export ANTHROPIC_API_KEY="sk-..."
    claude

    1. 永久配置 (推荐):为了避免每次开启新的终端都需要重新配置,可以将上述
      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 就表示成功了。

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

    通过上面的方式,我们就将 AnyRouter 集成到了 Claude Code 了,但是上面这种方式是有一个问题的,是什么呢 ? 由于 Claude Code 的稳定性和价格,我们可能要同时接入很多的平台,比如要接入 Kimi2、Deepseek、Qwen、GLM 等。如果还是用这种环境变量配置的方式的话,虽然也能做到,但是每换一个平台,就需要去改相应变量的值,这样操作起来,就太麻烦了, 有没有更优雅的解决方案呢,答案是有的。接下来,我们来看如何解决这个问题。这种目前有很多的开源项目来做这个的,比如我找到的这个,可以切 Claude 和 Codex, 同时支持 Win 和 Mac。

    https://github.com/farion1231/cc-switch

    但大多数情况下,我们其实不需要这么复杂的工具,了解原理后,用 Shell 命令就完全可以做到了。四、开发 Claude code 切换工具先搞清楚切换的原理是什么,然后让 AI 给我们写代码就行,这里我用的是豆包,豆包支持对 Github 项目的解释。将 项目的地址丢给豆包,然后让它分析下给出切换的原理。

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

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

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

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

    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换
    花 8.9 元用AnyRouter低成本体验 Claude Code,支持多节点切换

    很快就写完了,几乎不用改,直接就可以运行了。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,即可在新节点上开始工作,非常方便。

    © 版权声明

    相关文章