CC Switch:多 AI CLI 工具一站式管理器

Note

本文将介绍 cc-switch —— 一个用 Tauri 2 构建的跨平台桌面应用,一站式管理 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw 的 Provider、MCP 和 Skills。目前已累计 54k+ Star,3.6k Fork。

当你有五套配置文件要管

过去半年我陆陆续续安装过不少 AI 编码 CLI 工具。从最初的 Copilot CLI,到后来的 Claude Code、Codex、OpenCode,再到 OpenClaw——每装一个,~ 目录下就多一个 .some-app/ 文件夹。

问题也随之而来。每个工具的配置文件格式都不一样:

  • Claude Code 读 ~/.claude/settings.json
  • Codex 读 ~/.codex/config.toml
  • Gemini CLI 读 ~/.gemini/.env
  • OpenCode 和 OpenClaw 又各有一套

切换个 API provider,你可能需要手动打开三五个 JSON/TOML 文件,对着文档改 endpoint、填 key、调参数。好不容易配好一个,换另一个工具又从头再来一次。

更烦的是 MCP 和 Skills。我在 Claude Code 里配了一套 MCP server,想在 Codex 里也用,只能手动把配置拷过去——然后祈祷两个工具的格式兼容。

如果你也和我一样,同时用着好几个 AI CLI 工具,大概率能理解这种“配环境比写代码还累”的体验。

什么是 CC Switch

CC Switch 就是为解决这个问题而生的。它是一个用 Tauri 2 构建的桌面应用,支持 Windows、macOS、Linux,在一个图形界面里管理五个 AI CLI 工具的配置

截至本文写作时,它已经 54k+ Star,更新频率很高(1900+ Commits,最新版本 v3.14.1),社区也非常活跃。

它的核心设计思路很简单:把分散在各处的配置文件,集中到一个 SQLite 数据库里管理,然后通过原子写入同步回各自应用。你不用再手动编辑配置文件,在 UI 里点几下就能完成切换。

Tip

CC Switch 的“最小侵入”设计值得一提:即使卸载它,你的 CLI 工具依然能正常工作。它不会绑架你的配置。

核心功能导览

Provider 管理:一键导入,即时切换

这是最核心的功能。打开应用后,你会看到五个标签页分别对应 Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw。

每个工具都预置了 50+ 个 Provider —— 包括官方登录、AWS Bedrock、NVIDIA NIM,以及各种社区中转站。你只需要:

  1. 点击“添加 Provider”
  2. 从预设列表中选择一个渠道
  3. 填入你的 API Key
  4. 点“启用”

然后就完成了。不需要翻文档,不需要手写 JSON。

系统托盘还有快捷切换功能——右键托盘图标,直接点 Provider 名称就能切换,连主界面都不用打开。

Tip

Claude Code 是目前唯一支持热切换的工具,换 Provider 后不需要重启终端。其他四个工具需要重启 CLI 才能生效。

MCP 与 Skills:统一面板,双向同步

过去我配个 MCP server 要分别在每个工具的配置里写一遍。CC Switch 提供了一个统一的 MCP 管理面板,一次配置,勾选需要同步到哪些应用即可。

新增 MCP server 也很方便:可以从模板库选择,可以手写配置,也可以通过 Deep Link(ccswitch:// 协议)一键导入。

Skills 管理同样好用。你可以:

  • 从 GitHub 仓库一键安装 Skill
  • 上传 ZIP 文件本地安装
  • 管理自定义仓库列表

安装后的 Skill 会通过 symlink 或文件复制的方式同步到所有目标应用,真正做到配一次、到处用。

本地代理与故障切换

如果你使用中转站或自定义 API endpoint,CC Switch 还内置了本地代理模块:

  • 格式转换:自动处理不同 CLI 工具的 API 格式差异
  • 自动故障切换:当前 Provider 不可用时,自动切到备用
  • 熔断机制:某个 Provider 连续失败后暂时搁置,避免雪崩
  • 健康监测:实时监控各 Provider 的可用性

对于重度依赖稳定 API 的用户,这个功能是救命稻草。

用量统计与成本追踪

CC Switch 会在本地记录每次请求,提供可视化的用量仪表盘:

  • 花费、请求数、Token 量的趋势图表
  • 每次请求的详细日志
  • 支持自定义每个模型的价格(不同 Provider 定价不同)

这样就可以清晰看到“这个月烧了多少 API 费用”,不用去各家后台翻账单。

会话管理

Session Manager 功能可以浏览和搜索你所有 AI CLI 工具的历史对话,支持一键恢复之前的会话。

对于经常在多个分支/multiple worktree 环境中并行工作的用户,这个功能让“上次的讨论到哪了”不再需要靠记忆。

云同步

配置数据支持通过 Dropbox、OneDrive、iCloud 或 WebDAV 在多台设备间同步。换电脑或重装系统后,不用担心重新配一遍。

安装

macOS(推荐 Homebrew)

Terminal window
brew tap farion1231/ccswitch
brew install --cask cc-switch

更新:

Terminal window
brew upgrade --cask cc-switch

macOS 版本已通过 Apple 代码签名和公证,直接下载安装即可,无需额外配置。

Windows

Releases 页面下载 .msi 安装包或 .zip 便携版。

Linux

同样去 Releases 页面,Debian/Ubuntu 用户下载 .deb,Fedora 用户下载 .rpm,通用场景下载 .AppImage

Arch Linux 用户可以用 paru:

Terminal window
paru -S cc-switch-bin
Warning

官方未提供 Flatpak 包。如果需要 Flatpak 版本,可以按 flatpak/README.md 自行构建。

基本使用流程

  1. 添加 Provider:点击“添加 Provider”,从预设列表选择一个渠道,填入 API Key
  2. 启用:选中要用的 Provider,点击“启用”
  3. 生效:重启对应 CLI 工具(Claude Code 不需要重启)
  4. 切换回官方:添加一个“官方登录”预设,重启 CLI 走 OAuth 流程即可

如果首次启动时你已经配好过 CLI 工具的配置文件,CC Switch 会自动导入为一个默认 Provider 保存起来——你的旧配置不会丢。

Note

CC Switch 总是保留至少一个活跃配置,所以你删不掉“最后一个 Provider”。这是故意的——防止 CLI 工具因没有配置而失效。如果一个工具你很少用,可以在设置里把它隐藏。

数据存储与安全

CC Switch 的数据全部存在本地:

数据类型路径
Provider/MCP/Skills 数据库~/.cc-switch/cc-switch.db (SQLite)
设备级 UI 设置~/.cc-switch/settings.json
自动备份~/.cc-switch/backups/ (保留最近 10 个)
Skills 安装目录~/.cc-switch/skills/

配置文件写入采用 临时文件 + rename 的原子写入模式,配合互斥锁保护数据库连接,防止并发写入导致配置损坏。备份自动轮转,保留最近 10 份。

我的实际感受

装了 CC Switch 之后,最大的变化是:我不再需要在脑子里的哪个工具、哪个配置文件、放在哪里了。

以前换个 Provider,大概流程是:打开 Finder/终端 → 找到对应配置文件 → 改 API Key 和 endpoint → 重启 CLI → 测试能不能用 → 如果不行再回来调。整个过程十分钟起步。

现在:系统托盘点两下,切了。最多把终端重启一下。

另外,MCP 统一管理面板对我来说也是一个“用了就回不去”的功能。我在 Claude Code 里用的一套 MCP server(filesystem、sequential-thinking、playwright 等),勾一个勾就能同步到 OpenCode 和 Codex,不用再一一配置。

Tip

如果你的 CLAUDE.md 或 AGENTS.md 也需要跨工具共享,CC Switch 提供了 Prompts 管理功能——一个 Markdown 编辑器,编辑后自动同步到各工具的对应文件(CLAUDE.md / AGENTS.md / GEMINI.md),还带回填保护,防止覆盖你的手动修改。

技术栈与架构

作为参考,列出 CC Switch 的完整技术栈:

  • 前端:React 18 + TypeScript + Vite + TailwindCSS 3.4 + TanStack Query v5 + shadcn/ui
  • 后端:Tauri 2 (Rust) + serde + tokio
  • 数据库:SQLite
  • 测试:vitest + MSW + @testing-library/react

整体采用分层架构:Commands(API 层) → Services(业务层) → DAO(数据层) → Database。SSOT(单一数据源)设计,所有可同步数据走 SQLite,设备级设置走 JSON。

Note

如果你对 Tauri 应用开发感兴趣,CC Switch 的源码是一个难得的学习范例——无论是 Rust 后端的服务分层、原子写入的实现,还是前端的 TanStack Query 缓存策略,都值得一看。

写在最后

一句话总结:如果你同时使用两个以上的 AI CLI 工具,CC Switch 值得装。

它解决的问题很具体——管理那些分散在 ~/ 各处的配置文件——但解决得很彻底。无论是 Provider 切换、MCP 管理、Skills 安装,还是用量追踪和云同步,每个模块都打磨得相当完善。

最重要的是,它让“换 Provider”这件事从十分钟变成两秒钟,从翻文件变成点个鼠标。对于一个每天打开终端就要用 AI 工具的人来说,这点时间差,日积月累下来很可观。

项目地址:farion1231/cc-switch