
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
switch-claude-cli
Advanced tools
Smart Claude API provider switcher with availability detection and caching
一个智能的 Claude API Provider 切换工具,帮助你在多个第三方 Claude API 服务之间快速切换。
🇨🇳 中文 | 🇺🇸 English | 🇯🇵 日本語
👉 开发初衷见我的微信公众号文章:我受够了复制粘贴 Claude Code API ,于是写了个工具,3秒自动切换
npm install -g switch-claude-cli
git clone https://github.com/yak33/switch-claude-cli.git
cd switch-claude-cli
npm install
npm run build
npm link
注意:从 v1.4.0 开始,项目使用 TypeScript,需要先构建再安装。
switch-claude
# 或使用快捷命令
scl
首次运行时,工具会自动:
~/.switch-claude~/.switch-claude/providers.json根据提示编辑配置文件:
# Windows
notepad "C:\Users\YourName\.switch-claude\providers.json"
# macOS
open ~/.switch-claude/providers.json
# Linux
nano ~/.switch-claude/providers.json
将示例内容替换为你的真实 API 信息:
[
{
"name": "Veloera",
"baseUrl": "https://zone.veloera.org",
"key": "sk-your-real-api-key-here",
"default": true
},
{
"name": "NonoCode",
"baseUrl": "https://claude.nonocode.cn/api",
"key": "cr_your-real-api-key-here"
},
{
"name": "AnyRouter-WithProxy",
"baseUrl": "https://api.anyrouter.com",
"key": "sk-your-real-api-key-here",
"proxy": "http://127.0.0.1:7897"
}
]
代理配置说明 🌐:
proxy 字段proxy 格式:http://代理地址:端口(例如:http://127.0.0.1:7897)proxy 字段的 Provider 会直接连接,不使用代理switch-claude
为了简化输入,工具提供了多个命令别名,完全等价于 switch-claude:
# 以下命令完全等价
switch-claude <==> scl <==> ccc
switch-claude 1 <==> scl 1 <==> ccc 1
switch-claude -v <==> scl -v <==> ccc -v
switch-claude --list <==> scl --list <==> ccc --list
别名说明:
switch-claude - 完整命令,语义清晰scl - Switch CLaude 首字母缩写ccc - Choose Claude CLI 缩写# 交互式选择 provider
switch-claude
# 或
scl
# 或
ccc
# 直接选择编号为 1 的 provider
scl 1
# 只设置环境变量,不启动 claude
scl -e 1
# 查看版本并检查更新
scl --version
# 强制刷新缓存,重新检测所有 provider
scl --refresh
# 显示详细的检测信息(响应时间、错误详情等)
scl -v 1
# 列出所有 providers
switch-claude --list
# 添加新的 provider
switch-claude --add
# 编辑编号为 2 的 provider
switch-claude --edit 2
# 删除编号为 2 的 provider
switch-claude --remove 2
# 设置编号为 1 的 provider 为默认
switch-claude --set-default 1
# 清除默认设置(每次都需要手动选择)
switch-claude --clear-default
# 导出配置到文件(自动添加时间戳)
switch-claude --export
# 导出到指定文件
switch-claude --export my-providers.json
# 从文件导入配置(替换现有配置)
switch-claude --import backup.json
# 导入并合并(不会覆盖已有的同名 provider)
switch-claude --import new-providers.json --merge
# 备份到系统目录(~/.switch-claude/backups/)
switch-claude --backup
# 查看所有备份
switch-claude --list-backups
功能特点:
~/.switch-claude/backups/ 目录# 查看当前版本并检查更新
switch-claude --version
# 或
switch-claude -V
# 手动检查更新
switch-claude --check-update
自动更新提醒:
# 查看使用统计信息
switch-claude --stats
# 导出统计数据到文件
switch-claude --export-stats
switch-claude --export-stats my-stats.json
# 重置所有统计数据
switch-claude --reset-stats
统计功能特点:
统计数据存储:
~/.switch-claude/usage-stats.json# 显示完整帮助
switch-claude --help
| 选项 | 简写 | 描述 |
|---|---|---|
--help | -h | 显示帮助信息 |
--version | -V | 显示版本信息并检查更新 |
--refresh | -r | 强制刷新缓存,重新检测所有 provider |
--verbose | -v | 显示详细的调试信息 |
--list | -l | 只列出 providers 不启动 claude |
--env-only | -e | 只设置环境变量,不启动 claude |
--add | 添加新的 provider | |
--remove <编号> | 删除指定编号的 provider | |
--set-default <编号> | 设置指定编号的 provider 为默认 | |
--clear-default | 清除默认 provider(每次都需要手动选择) | |
--check-update | 手动检查版本更新 | |
--export [文件名] | 导出配置到文件 | |
--import <文件名> | 从文件导入配置 | |
--merge | 与 --import 配合使用,合并而不是替换 | |
--backup | 备份当前配置到系统目录 | |
--list-backups | 列出所有备份文件 | |
--stats | 显示使用统计信息 | |
--export-stats [文件名] | 导出统计数据到文件 | |
--reset-stats | 重置所有统计数据 |
~/.switch-claude/
├── providers.json # API 配置文件
├── cache.json # 检测结果缓存
├── usage-stats.json # 使用统计数据 (v1.4.0+)
└── backups/ # 备份文件目录
├── backup-2024-09-22T10-30-00.json
└── backup-2024-09-22T14-15-30.json
配置目录位置:
C:\Users\YourName\.switch-claude\/Users/YourName/.switch-claude//home/YourName/.switch-claude/[
{
"name": "Provider名称", // 必需:显示名称
"baseUrl": "https://api.url", // 必需:API Base URL
"key": "your-api-key", // 必需:API Key(支持各种格式)
"default": true // 可选:是否为默认 provider
}
]
switch-claude --set-default 1
switch-claude
switch-claude 2
switch-claude --clear-default
switch-claude
switch-claude -v --refresh
switch-claude -e 1
claude
工具使用多层检测策略确保 API 可用性:
GET /v1/modelsPOST /v1/messages(最小 token 请求)cache.json--refresh 参数{{ ... }}
如果遇到 "spawn claude ENOENT" 错误:
switch-claude -e 1
# 然后手动运行
claude
常见错误及解决方案:
~/.switch-claude/ 下,每个用户独立chmod 700 ~/.switch-claude # 仅所有者可访问目录
chmod 600 ~/.switch-claude/* # 仅所有者可读写文件
# 运行 ESLint 检查
npm run lint
# 自动修复 ESLint 问题
npm run lint:fix
# 运行 Prettier 格式化
npm run format
# 检查 Prettier 格式
npm run format:check
# 运行所有测试
npm test
# 观察模式
npm run test:watch
# 测试覆盖率
npm run test:coverage
欢迎提交 Issue 和 Pull Request!
MIT License
A: 使用 switch-claude --add 命令,按提示输入信息。
A: 有多种方式:
switch-claude --export 导出到文件switch-claude --backup 自动备份到系统目录~/.switch-claude/providers.json 文件A: 支持 Windows、macOS 和 Linux。
A: 工具会自动提醒你更新!你也可以:
switch-claude --version 查看是否有新版本switch-claude --check-update 手动检查更新npm update -g switch-claude-cli 更新到最新版本A: 可以。删除 cache.json 不会影响功能,只是下次运行会重新检测。
项目地址: GitHub
问题反馈: Issues
NPM 包: switch-claude-cli
更新日志: CHANGELOG.md
FAQs
Smart Claude API provider switcher with availability detection and caching
The npm package switch-claude-cli receives a total of 22 weekly downloads. As such, switch-claude-cli popularity was classified as not popular.
We found that switch-claude-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.