本项目完全由 AI 生成,用来快速切换 Claude Code 环境变量,当前仅支持 Mac。
本人同时使用 Claude 官方接口、anyrouter 和 Kimi K2,anyrouter 挂了就用 k2,k2 满载太慢就用 Claude 官方,切换过程相当丝滑。
不知道 anyrouter 是啥的,认准一键白嫖入口(没错是我的邀请链接)
好了,下面的话都是 AI 说的了。
🚀 一个用于在 macOS 上快速切换 Claude Code 程序登录态的 shell 脚本工具。
- 🔄 快速切换:支持交互式和命令行两种方式切换登录态
- 📝 配置管理:添加、删除、修改登录态标签和对应的环境变量
- 🎨 美观界面:彩色输出,清晰易读的交互界面
- ⚡ Shell 集成:提供快速命令和自动补全功能
- 💾 安全存储:配置信息安全存储在本地 JSON 文件中
- 🔒 自动备份:每次修改配置前自动备份
ANTHROPIC_AUTH_TOKEN:认证令牌ANTHROPIC_BASE_URL:API 基础 URLHTTPS_PROXY:HTTPS 代理设置
- macOS (Darwin)
- jq (JSON 处理工具)
- Bash 或 Zsh
# 克隆或下载项目到本地
git clone <repository-url> cc-switcher
cd cc-switcher
# 运行安装脚本
./install.sh安装脚本会自动:
- ✅ 检查并安装 jq 依赖
- ✅ 创建独立的集成文件
- ✅ 添加 shell 集成(一行引用)
- ✅ 环境变量在当前 shell 中直接生效
安装完成后重新启动终端或运行:
source ~/.zshrc # 对于 zsh
# 或
source ~/.bashrc # 对于 bash如果你喜欢手动控制安装过程:
-
确保安装了 jq:
brew install jq
-
给脚本添加执行权限:
chmod +x cc-switcher.sh
-
创建集成文件:
# 创建独立的集成文件 cp shell-integration.sh ~/.cc-switcher.sh # 修改脚本路径 sed -i '' "s|CC_SWITCHER_PATH=.*|CC_SWITCHER_PATH=\"$(pwd)/cc-switcher.sh\"|" ~/.cc-switcher.sh
-
添加 shell 引用:
echo 'source "$HOME/.cc-switcher.sh"' >> ~/.zshrc source ~/.zshrc
直接运行脚本进入交互模式:
./cc-switcher.sh或者如果已安装 shell 集成:
ccs# 查看帮助
./cc-switcher.sh --help
ccs help
# 列出所有配置
./cc-switcher.sh --list
ccs list
# 显示当前环境状态
./cc-switcher.sh --current
ccs status
# 切换到指定配置
./cc-switcher.sh --switch <配置名称>
ccs switch <配置名称>
ccs <配置名称> # 快捷方式如果安装了 shell 集成,可以使用以下简短命令:
| 命令 | 说明 |
|---|---|
ccs |
进入交互模式 |
ccs list |
列出所有配置 |
ccs status |
显示当前状态 |
ccs switch <名称> |
切换到指定配置 |
ccs <名称> |
快速切换(支持 Tab 补全) |
ccs help |
显示帮助信息 |
- 运行
ccs进入交互模式 - 选择 "3. 添加/更新配置"
- 按提示输入信息:
请输入配置标签名称: 个人账号
ANTHROPIC_AUTH_TOKEN: sk-ant-api03-...
ANTHROPIC_BASE_URL: https://api.anthropic.com
HTTPS_PROXY (可选): http://proxy.example.com:8080
描述 (可选): 个人使用的 Claude 账号
配置存储在 ~/.cc-switcher-config.json:
{
"profiles": {
"个人账号": {
"auth_token": "sk-ant-api03-...",
"base_url": "https://api.anthropic.com",
"https_proxy": "http://proxy.example.com:8080",
"description": "个人使用的 Claude 账号"
},
"公司账号": {
"auth_token": "sk-ant-api03-...",
"base_url": "https://api.anthropic.com",
"https_proxy": "",
"description": "公司项目使用"
}
},
"current": "个人账号"
}-
初次设置:
ccs # 进入交互模式 # 选择 3 添加配置
-
日常切换:
ccs list # 查看可用配置 ccs 个人账号 # 快速切换 ccs status # 确认当前状态
-
环境验证:
echo $ANTHROPIC_AUTH_TOKEN # 检查环境变量
# 快速切换并验证
ccs work && echo "已切换到工作环境"
# 在脚本中使用
if ccs personal; then
echo "个人环境已激活"
# 执行个人项目相关命令
fi环境变量的设置方式决定了是否能在当前 shell 中生效:
# 1. 使用 shell 集成(安装后)
ccs <配置名称> # 自动在当前 shell 中生效
# 2. 手动执行环境变量设置
eval "$(./cc-switcher.sh --switch <配置名称>)"# 直接运行脚本不会影响父 shell
./cc-switcher.sh --switch <配置名称> # 环境变量不会生效!如需在新 shell 中生效,重新运行切换命令:
ccs <配置名称> # shell 集成方式
# 或
eval "$(./cc-switcher.sh --switch <配置名称>)" # 手动方式- 配置修改前自动备份到
~/.cc-switcher-config.json.bak - 可手动备份重要配置:
cp ~/.cc-switcher-config.json ~/cc-config-backup.json
- 配置文件包含敏感的认证信息,建议设置适当的文件权限:
chmod 600 ~/.cc-switcher-config.json - 不要将配置文件提交到版本控制系统
- 定期更新和轮换认证令牌
-
jq 命令未找到:
brew install jq
-
配置文件损坏:
# 从备份恢复 cp ~/.cc-switcher-config.json.bak ~/.cc-switcher-config.json # 或重新初始化 rm ~/.cc-switcher-config.json ccs # 重新运行会自动创建新配置
-
权限问题:
chmod +x cc-switcher.sh
-
环境变量未生效:
- 最常见原因:直接运行了
./cc-switcher.sh --switch xxx而不是ccs xxx - 解决方法:使用
ccs <配置名>或eval "$(./cc-switcher.sh --switch <配置名>)" - 使用
ccs status检查当前状态 - 确保在同一个 shell 会话中使用
- 最常见原因:直接运行了
如需调试,可以启用详细输出:
bash -x cc-switcher.shcc-switcher/
├── cc-switcher.sh # 主脚本
├── shell-integration.sh # Shell 集成函数
├── install.sh # 安装脚本
├── uninstall.sh # 卸载脚本
├── README.md # 说明文档
└── INTEGRATION.md # 高级集成方式指南
如果需要卸载工具:
./uninstall.sh卸载脚本会:
- ✅ 删除集成文件
~/.cc-switcher.sh - ✅ 从 shell 配置中移除引用
- ✅ 备份用户配置文件
- ✅ 保留用户数据(配置文件)
或者手动卸载:
# 删除集成文件
rm -f ~/.cc-switcher.sh
# 从 shell 配置中删除引用行
# 编辑 ~/.zshrc 或 ~/.bashrc,删除包含 "cc-switcher" 的行欢迎提交 Issue 和 Pull Request 来改进这个工具!
💡 提示:使用 ccs help 随时查看帮助信息,或查看本文档了解更多详细用法。