cc-switch
English README | 中文文档
一个 CLI 工具,用于管理多个 Claude API 配置并在它们之间自动切换。
在不同项目或环境中使用 Claude API 时,经常需要切换 API 令牌和设置。cc-switch 让这个过程变得轻松:
- 用易记的名称存储多个配置
- 在它们之间即时切换
- 自动启动带有正确环境变量的 Claude
- 保持 API 密钥的安全和组织
- 从 JSON 文件导入/导出配置
- 完整的交互模式,支持键盘导航
快速开始
# 安装
# 添加你的第一个配置
# 添加另一个配置
# 切换到工作配置
# 然后从交互菜单中选择 'work'
# 切换到个人配置
# 然后从交互菜单中选择 'personal'
# 查看所有配置
# 进入交互模式(同上)
安装
Cargo(推荐)
Homebrew
主要命令
| 命令 | 作用 |
|---|---|
cc-switch add <名称> |
添加新配置 |
cc-switch list |
显示所有配置(JSON 或纯文本) |
cc-switch remove <名称...> |
删除一个或多个配置 |
cc-switch use <名称> |
快速切换配置并启动 Claude |
cc-switch completion <shell> |
生成 Shell 补全脚本 |
cc-switch |
进入交互模式 |
高级用法
交互模式
# 进入交互模式(无需参数)
# 导航操作:
# - ↑↓ 箭头或 1-9 键:选择配置
# - N/P:下一页/上一页(当配置 >9 个时)
# - R:重置为默认 Claude
# - E:退出
快速切换(use 命令)
# 切换到指定配置并启动 Claude
# 切换并发送提示词
# 切换并恢复之前的会话
# 切换并继续最近的会话
完整配置添加
# 添加包含所有选项的配置
# 强制覆盖添加
# 交互模式添加
# 从 JSON 文件导入(文件名作为别名)
存储模式
# 设置默认存储模式
列出配置
# 以 JSON 格式列出(默认)
# 以纯文本格式列出
移除多个配置
# 移除一个配置
# 一次性移除多个配置
配置迁移
# 从旧路径迁移(~/.cc_auto_switch/)到新路径
Shell 集成
生成补全
# Fish(推荐)
# Zsh
# Bash
# Elvish 或 PowerShell 也受支持
创建别名
# 将别名永久添加到 shell 配置
# Fish
# Zsh
# Bash
# 现在可以使用:
工作原理
cc-switch 将配置存储在 ~/.cc-switch/configurations.json 中,并更新 Claude 的 settings.json 文件,设置适当的环境变量。这意味着:
- ✅ 不修改全局配置
- ✅ 配置之间完全隔离
- ✅ 安全的 API 密钥管理
- ✅ 适用于任何 Claude 安装
- ✅ 保留其他 Claude 设置
- ✅ 支持自定义 Claude 设置目录
环境变量
工具在切换配置时设置以下环境变量:
ANTHROPIC_AUTH_TOKEN- 你的 API 令牌ANTHROPIC_BASE_URL- API 端点 URLANTHROPIC_MODEL- 自定义模型(可选)ANTHROPIC_SMALL_FAST_MODEL- 后台任务快速模型(可选)ANTHROPIC_MAX_THINKING_TOKENS- 最大思考令牌限制(可选)API_TIMEOUT_MS- API 超时时间(毫秒)(可选)CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC- 禁用非必要流量标志(可选)ANTHROPIC_DEFAULT_SONNET_MODEL- 默认 Sonnet 模型(可选)ANTHROPIC_DEFAULT_OPUS_MODEL- 默认 Opus 模型(可选)ANTHROPIC_DEFAULT_HAIKU_MODEL- 默认 Haiku 模型(可选)
导入/导出
从 JSON 导入
# 从 JSON 文件导入配置
# 文件名(不含扩展名)成为别名
# 期望的 JSON 格式:
# {
# "env": {
# "ANTHROPIC_AUTH_TOKEN": "sk-ant-xxx",
# "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
# "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022"
# }
# }
开发
# 克隆
# 构建
# 测试
许可证
MIT 许可证 - 详见 LICENSE 文件。
由 Linuxdazhao 用 ❤️ 制作