Claude Code 模型切换工具的 Homebrew 包集合。 项目地址
一个强大的 Claude Code 模型切换脚本,支持在 GLM 、Kimi 、Minimax 等模型之间快速切换。
# 添加 tap
brew tap yinzhenyu-su/homebrew-tools
# 安装 switch-claude
brew install switch-claude
# 显示帮助
switch-claude help
# 显示当前配置
switch-claude current # 或 sc current
# 切换到不同模型
switch-claude glm # 切换到 GLM 模型 (或 sc glm)
switch-claude kimi # 切换到 Kimi 模型 (或 sc kimi)
switch-claude minimax # 切换到 Minimax 模型 (或 sc minimax)
首次使用需要设置 API tokens:
# 推荐:使用 provider.json 存储
switch-claude set-token glm "your_glm_token"
switch-claude set-token kimi "your_kimi_token"
switch-claude set-token minimax "your_minimax_token"
# 最安全:使用 Keychain 存储( macOS )
switch-claude set-keychain glm "your_glm_token"
switch-claude set-keychain kimi "your_kimi_token"
switch-claude set-keychain minimax "your_minimax_token"
脚本会按照下方“🔐 Token 优先级”章节所述的顺序查找凭证,若所有来源都为空会提示你在终端中输入 token 。macOS 用户优先推荐 set-keychain,其它平台可使用 set-token 写入 provider.json,环境变量适合临时调试。
新版本支持从 provider.json 配置文件读取模型配置,实现更灵活的管理:
# 初始化默认 provider 配置
switch-claude init-provider-config
# 列出所有可用的 provider
switch-claude list-providers
# 显示所有 provider 配置
switch-claude show-provider-config
# 为特定 provider 设置 token
switch-claude set-token glm "your_token"
首次执行 switch-claude list-providers 或任何依赖 provider 的命令时,脚本会自动初始化 ~/.config/switch-claude/provider.json 并写入三个内置配置。switch-claude init-provider-config 可在确认后重新生成该文件,而 show-provider-config 会对 token 做脱敏处理,方便安全排查。
支持添加自定义的模型提供商:
# 添加自定义 provider
switch-claude add-provider MyAPI '{
"ANTHROPIC_AUTH_TOKEN": "",
"ANTHROPIC_BASE_URL": "https://api.custom.com/anthropic",
"ANTHROPIC_MODEL": "custom-model"
}'
# 删除自定义 provider
switch-claude remove-provider MyAPI
# 切换到自定义 provider
switch-claude MyAPI --launch
自定义 Provider 要求:
ANTHROPIC_BASE_URL 字段ANTHROPIC_MODEL 或 ANTHROPIC_DEFAULT_*_MODEL)# 查看系统信息
switch-claude --system-info
# 动态帮助信息(根据操作系统显示不同内容)
switch-claude help
# 切换并启动 Claude Code
switch-claude glm --launch
# 切换并发送消息
switch-claude kimi --launch "你好,帮我写个 Python 脚本"
# 清空所有配置
switch-claude clear
--launch 会在切换成功后调用 claude CLI ;跟在 --launch 之后的任何文本都会作为一次性提示词转发给 Claude 。
switch-claude clear 会在交互确认后清空 ~/.claude/settings.json 中的环境变量、删除整个 ~/.config/switch-claude/ 目录,并在 macOS 上移除以 switch-claude-<provider> 命名的 Keychain 条目;如果系统不支持 Keychain ,会给出相应提示。安装了 gum 时将显示确认弹窗,否则使用终端输入 yes 确认。
claude-switch glm # 等同于 switch-claude glm
sc kimi # 等同于 switch-claude kimi
switch-claude help 与 --system-info 动态展示依赖状态、Keychain/secret-tool 支持情况。current 输出的 token 自动脱敏。~/.config/switch-claude/settings.json.backup.*,方便手动回滚。--launch 支持直接唤起 claude 命令并可附带一次性 prompt 。clear 命令在确认后清空配置目录并清理 macOS Keychain 。switch-claude、claude-switch 与 sc 三个入口。脚本按以下优先级读取 token:
$GLM_TOKEN, $KIMI_TOKEN, $MINIMAX_TOKEN)~/.config/switch-claude/provider.json)当需要交互式输入 token 时,脚本会先询问是否保存到 Keychain (仅 macOS )或 provider.json,若拒绝则仅在本次切换中使用该 token 。
~/.claude/settings.json~/.config/switch-claude/provider.json~/.config/switch-claude/settings.json.backup.YYYYMMDD_HHMMSSswitch-claude-<provider> 名称的钥匙串条目~/.config/switch-claude/tokens.json(现版本不会自动生成,仅保留向后兼容)jq 可用。claude 命令在 PATH 中,否则 --launch 无法工作。# 运行所有测试
bash tests/run-all-tests.sh
# 运行快速测试(适用于 macOS/Linux )
bash tests/quick-test.sh
# 运行错误处理测试
bash tests/test-errors.sh
# 运行集成测试
bash tests/test-integration.sh
运行 tests/run-all-tests.sh 时会先显示测试菜单,可通过 printf '1\n' | bash tests/run-all-tests.sh 在 CI 场景中直接选择“运行所有测试”。
run-all-tests.sh 结束后生成的可视化报告,包含统计概览和时间戳。# 克隆仓库
git clone https://github.com/yinzhenyu-su/homebrew-tools.git
cd homebrew-tools
# 运行脚本
./scripts/switch-claude.sh help
# 运行完整测试套件
bash tests/run-all-tests.sh
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)提交 PR 前请确保:
bash tests/run-all-tests.shbrew uninstall switch-claude
brew untap yinzhenyu-su/homebrew-tools
MIT License
亮点:
--system-info,按系统展示命令可用性。current 中脱敏显示。clear 命令加入交互确认并扩展至清理 Keychain/配置目录。重大更新:
功能增强:
测试优化:
文档完善:
1
shunia 1 天前
不用点进去项目就能看到完整的 README 好评!
不过讲真的还是需要 ccr ui 这种模式,手动改配置文件真的很让人难受。 |
2
livc 1 天前
正好最近在想一个问题,在 CC 框架下是否是 Claude 自己的模型效果最好?还是值得切换其他模型来测试下
|
3
Wcowin 1 天前
先 star 再看
|