CC Switch:统一管理 Claude Code、Codex、Gemini CLI 等 AI 工具的 Swiss Army Knife
背景
随着 AI 编程工具的爆发式增长,我们终端里跑的 CLI 工具越来越多:Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw,以及即将支持的 Hermes Agent。每个工具都有自己独立的配置格式——JSON、TOML、.env 文件散落在不同的隐藏目录里。
当你需要从智谱 GLM 切换到 SiliconFlow,或者想给不同工具配置不同的 API 供应商时,就得挨个去改这些配置文件。更不用说 MCP 服务器、Skills、系统提示词这些扩展配置了——它们各自为政,管理起来相当折磨。
CC Switch 就是为了解决这个问题而生的。它是一个 All-in-One 配置管理工具,用一个统一的界面管理所有 AI CLI 工具的供应商、MCP、Prompts 和 Skills。
两个版本:桌面 GUI + CLI
CC Switch 提供两种形态:
| 特性 | 桌面版 (cc-switch) | CLI 版 (cc-switch-cli) |
|---|---|---|
| 技术栈 | Tauri 2 + React + Rust | 纯 Rust + ratatui TUI |
| 安装大小 | ~50MB | ~15MB |
| 交互方式 | 图形界面 + 系统托盘 | 终端交互式 TUI + 命令行 |
| 适合场景 | 日常开发、频繁切换 | 服务器/SSH 远程、自动化 |
| GitHub | farion1231/cc-switch | SaladDay/cc-switch-cli |
| 官网 | ccswitch.io | - |
简单选:有 GUI 就用桌面版,服务器或 SSH 远程就用 CLI 版。两者数据完全兼容,WebDAV 云同步也互通。
安装
桌面版
macOS(推荐 Homebrew):
1brew tap farion1231/ccswitch
2brew install --cask cc-switch
Linux(Debian/Ubuntu):
1# 从 Releases 页面下载 .deb 包后:
2sudo dpkg -i CC-Switch-v{版本号}-Linux.deb
Arch Linux:
1paru -S cc-switch-bin
Windows:下载 MSI 安装包或 ZIP 绿色版,从 Releases 获取。
CLI 版
1# 一键安装(macOS/Linux)
2curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash
安装后二进制位于 ~/.local/bin/cc-switch,确保该目录在 PATH 中。
核心功能
1. 供应商管理——50+ 预设,一键切换
这是 CC Switch 最核心的功能。它内置了 50+ 供应商预设,覆盖了:
- 国内模型:智谱 GLM、MiniMax、DeepSeek、Kimi(月之暗面)、通义千问、百川等
- 国际平台:Anthropic 官方、OpenAI/Codex、Google/Gemini、AWS Bedrock、NVIDIA NIM
- API 中转服务:SiliconFlow、PackyCode、AICodeMirror 等
添加供应商只需要三步:
- 点击「添加供应商」
- 选择预设(自动填充端点地址)
- 填入 API Key,点「添加」
切换时,桌面版点「启用」按钮,CLI 版运行:
1cc-switch provider list # 列出所有供应商
2cc-switch provider switch <id> # 切换到指定供应商
3cc-switch provider current # 查看当前启用的供应商
4cc-switch provider speedtest <id> # 测试 API 延迟
切换后各工具的生效方式:
| 应用 | 生效方式 |
|---|---|
| Claude Code | 即时生效(热重载) |
| Codex | 需重启终端 |
| Gemini CLI | 即时生效(每次请求重读配置) |
| OpenCode | 需重启终端 |
| OpenClaw | 需重启终端 |
2. 共享配置面板——换供应商不丢插件配置
这是很多用户踩过的坑:切换供应商后,原来配置的插件、环境变量全丢了。CC Switch 的「共享配置」机制解决了这个问题——
在「编辑供应商 → 共享配置面板」中点击「从当前供应商提取」,把所有通用配置保存下来。新建供应商时勾选「写入共享配置」,插件数据就自动带过来了。
CLI 版对应命令:
1# 查看共享配置
2cc-switch --app claude config common show
3
4# 设置共享配置
5cc-switch --app claude config common set --snippet '{"env":{"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":1},"includeCoAuthoredBy":false}'
6
7# 清除共享配置
8cc-switch --app claude config common clear
3. MCP 服务器统一管理
四个 AI CLI 工具(Claude、Codex、Gemini、OpenCode)都支持 MCP 协议,但配置方式各不相同。CC Switch 提供统一的 MCP 面板:
- 从模板添加常见 MCP 服务器
- Deep Link 一键导入
- 按应用启用/禁用,双向同步
1cc-switch mcp list # 列出所有 MCP 服务器
2cc-switch mcp add # 添加(交互式)
3cc-switch mcp enable <id> --app claude # 为指定应用启用
4cc-switch mcp sync # 同步到实际配置文件
5cc-switch mcp import --app claude # 从实际配置导入
4. Prompts(系统提示词)管理
为不同的项目/场景创建不同的系统提示词预设,一键切换:
1cc-switch prompts list # 列出预设
2cc-switch prompts activate <id> # 激活预设
3cc-switch prompts create [name] # 创建预设
4cc-switch prompts edit <id> # 编辑预设
跨应用自动同步到对应文件:CLAUDE.md、AGENTS.md、GEMINI.md。
5. Skills 管理
从 GitHub 仓库一键安装 Skills 到所有支持的应用:
1cc-switch skills list # 列出已安装 Skills
2cc-switch skills discover <query> # 搜索可用 Skills
3cc-switch skills install <name> # 安装
4cc-switch skills sync # 同步到应用目录
5cc-switch skills repos add <repo> # 添加自定义 Skill 仓库
支持 symlink 和文件复制两种同步方式。
6. 本地代理与故障转移
CC Switch 内置本地代理服务,支持:
- 热切换:代理运行时切换后端供应商
- 自动故障转移:主供应商不可用时自动切换到备用
- 熔断器:检测供应商健康状态,避免反复请求故障节点
- 格式转换:将不同格式的 API 请求转换为目标格式
- 按应用独立代理:可以只代理 Claude、Codex 或 Gemini 中的某一个
1cc-switch proxy show # 查看代理配置和路由
2cc-switch proxy enable # 启用代理
3cc-switch proxy disable # 禁用代理
4cc-switch proxy serve # 前台运行(调试用)
7. 用量追踪
内置用量统计面板,记录每个供应商的:
- Token 消耗量和趋势图
- 请求次数
- 花费金额(支持自定义模型定价)
- 详细请求日志
8. 云同步
支持通过 Dropbox、OneDrive、iCloud 或 WebDAV 服务器同步配置到多设备。CLI 版同样兼容:
1cc-switch config webdav show # 查看 WebDAV 配置
2cc-switch config webdav set --base-url <url> --username <user> --password <pass> --enable
3cc-switch config webdav jianguoyun --username <user> --password <password> # 坚果云快捷方式
4cc-switch config webdav upload # 上传
5cc-switch config webdav download # 下载
9. 环境检查与 Deep Link
1# 检查环境变量冲突
2cc-switch env check --app claude
3
4# 列出相关环境变量
5cc-switch env list --app claude
6
7# 检查本地 CLI 工具是否已安装
8cc-switch env tools
Deep Link(ccswitch://)支持通过 URL 一键导入供应商、MCP、Prompts 和 Skills 配置,特别适合团队分享配置。
实际使用场景
场景一:国内开发者使用第三方 API 中转
1# 1. 添加 SiliconFlow 供应商
2cc-switch provider add
3# 选择 SiliconFlow 预设 → 填入 API Key → 添加
4
5# 2. 切换使用
6cc-switch provider switch <siliconflow-id>
7
8# 3. 验证
9claude
10> 你好
Claude Code 即时生效,其他工具重启终端即可。
场景二:多账号切换
比如你有多个 Anthropic 账号,分别用于个人和公司项目:
- 在 CC Switch 中添加两个「官方登录」预设
- 切换到一个预设,登录对应的账号
- 需要换号时,切换另一个预设重新登录
Codex 支持在不同官方 Provider 之间切换,方便在多个 Plus 或 Team 账号间轮换。
场景三:服务器环境(CLI 版)
在 SSH 远程服务器上:
1# 启动交互式 TUI
2cc-switch
3
4# 或直接命令行操作
5cc-switch provider add # 交互式添加
6cc-switch provider switch 1 # 切换到 ID 为 1 的供应商
7cc-switch mcp sync # 同步 MCP 配置
8cc-switch skills install web-search # 安装搜索 Skill
不需要 X11 或桌面环境,纯终端操作。
数据存储
~/.cc-switch/
├── cc-switch.db # SQLite 数据库(供应商、MCP、Prompts、Skills)
├── settings.json # 本地设置(设备级偏好)
├── backups/ # 自动备份(保留最近 10 份)
├── skills/ # 已安装的 Skills 源文件
└── skill-backups/ # 卸载前自动备份(保留最近 20 份)
配置目录可通过 CC_SWITCH_CONFIG_DIR 环境变量自定义。写入采用 原子写入(临时文件 + 重命名),防止配置损坏。并发安全通过 Mutex/RwLock 保护。
架构概览
桌面版采用 Tauri 2 架构:
┌─────────────────────────────────────────────────┐
│ 前端 (React + TypeScript) │
│ 组件 (UI) → Hooks (业务逻辑) → TanStack Query │
└────────────────────┬────────────────────────────┘
│ Tauri IPC
┌────────────────────▼────────────────────────────┐
│ 后端 (Tauri + Rust) │
│ Commands (API层) → Services (业务层) → DAO → DB │
└─────────────────────────────────────────────────┘
CLI 版复用桌面版 100% 的服务层代码,只是把前端换成了 ratatui TUI 和命令行入口。
总结
CC Switch 解决了一个很实际的问题:AI CLI 工具越来越多,配置管理越来越散。它用一个工具把供应商切换、MCP 管理、Prompts、Skills 全部统一起来,省去了手动编辑 JSON/TOML/.env 文件的麻烦。
- 桌面版适合日常开发使用,图形界面直观,系统托盘一键切换
- CLI 版适合服务器、SSH 远程、自动化脚本场景
两者数据兼容,按需选择即可。
相关链接:
- 桌面版 GitHub:farion1231/cc-switch
- CLI 版 GitHub:SaladDay/cc-switch-cli
- 桌面版官网:ccswitch.io
