Mac 用户的 Claude Code 模型切换脚本来了

33 天前
 yinzhenyu

Homebrew Tools

Claude Code 模型切换工具的 Homebrew 包集合。 项目地址

主要工具

Switch Claude

一个强大的 Claude Code 模型切换脚本,支持在 GLM 、Kimi 、Minimax 等模型之间快速切换。

📦 安装

# 添加 tap
brew tap yinzhenyu-su/homebrew-tools

# 安装 switch-claude
brew install switch-claude

🚀 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)

🔑 Token 管理

首次使用需要设置 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 配置管理

新版本支持从 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

支持添加自定义的模型提供商:

# 添加自定义 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 要求

🌐 跨平台功能

# 查看系统信息
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

✨ 功能特性

🔧 支持的模型

🔐 Token 优先级

脚本按以下优先级读取 token:

  1. macOS Keychain (最安全,推荐)
  2. 环境变量 ($GLM_TOKEN, $KIMI_TOKEN, $MINIMAX_TOKEN)
  3. Provider 配置文件 (~/.config/switch-claude/provider.json)
  4. 提示用户输入 (如果以上都未设置)

当需要交互式输入 token 时,脚本会先询问是否保存到 Keychain (仅 macOS )或 provider.json,若拒绝则仅在本次切换中使用该 token 。

📁 配置文件位置

📋 依赖要求

🧪 测试

运行测试套件

# 运行所有测试
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 场景中直接选择“运行所有测试”。

测试内容概览

测试亮点

👨‍💻 开发

本地开发

# 克隆仓库
git clone https://github.com/yinzhenyu-su/homebrew-tools.git
cd homebrew-tools

# 运行脚本
./scripts/switch-claude.sh help

# 运行完整测试套件
bash tests/run-all-tests.sh

贡献指南

  1. Fork 这个仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启 Pull Request

测试要求

提交 PR 前请确保:

🗑️ 卸载

brew uninstall switch-claude
brew untap yinzhenyu-su/homebrew-tools

📄 许可证

MIT License

🔗 相关链接

📊 版本历史

v2.0.1 (2025-11-14)

亮点:

v1.0.3 (2025-11-09)

重大更新:

功能增强:

测试优化:

文档完善:

2216 次点击
所在节点    分享创造
6 条回复
shunia
33 天前
不用点进去项目就能看到完整的 README 好评!

不过讲真的还是需要 ccr ui 这种模式,手动改配置文件真的很让人难受。
livc
33 天前
正好最近在想一个问题,在 CC 框架下是否是 Claude 自己的模型效果最好?还是值得切换其他模型来测试下
Wcowin
33 天前
先 star 再看
yinzhenyu
33 天前
@Wcowin 感谢 star
yinzhenyu
33 天前
@shunia 实际上这个配置完了以后是不会经常改动的,如果需要使用同一家厂商的不同模型只需要在 provider 中新增一项就好,我的日常使用就是如果哪家新出了一个模型就增加一项配置试试看效果,体验一阵如果不太行就切回去,更注重的还是切换模型是否方便
yinzhenyu
33 天前
@livc 我的 Claude 因为梯子掉了,漏出马脚被封了🥲,根据我目前使用的效果来看国内最适合且便宜量大的模型是 MiniMax M2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1172792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX