你的配置地狱,比代码地狱更痛
用着 Claude Code 写后端,切到 Codex 调前端,晚上再用 Gemini CLI 跑个实验——听起来很酷,但你先回答我三个问题:
- 三个工具的 Provider 配置(API Key、Base URL、模型映射)分别存在哪几个文件里?
- 换一个中转服务商,你要改几个 JSON / TOML / .env?
- 新买的 MCP server 和 Skills,你是给每个工具分别装一遍吗?
这就是 2026 年多 Agent 工作流最真实的状态:每个工具都有自己的配置格式,每个配置文件都是手改的,每次切换服务商都要小心翼翼地重写一遍,改错一个字符整个 Agent 就废了。
cc-switch 就是冲着这个痛点来的:一个 Tauri 桌面应用,把 Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw 和 Hermes Agent 八个工具的 Provider、MCP、Prompts、Skills 全部收进一个界面。125,108 Star,MIT 协议,2025年8月4日创建——整整一年,从 0 涨到 12.5 万。
它到底是什么
一句话:它是 Coding Agent 的「控制中心」,不是又一个 Agent。
它不写代码、不跑任务,它管的是你所有 Coding Agent 的「配置」——你把 API Key 存在哪、用哪个模型、挂哪些 MCP server、装哪些 Skills。以前这些事散落在 ~/.claude/settings.json、~/.codex/config.toml、.env 文件里,现在都在一个 SQLite 数据库里:~/.cc-switch/cc-switch.db。
核心数据:
- 125,108 Star、8,498 Fork、2,062 open issues(活跃度惊人),MIT 协议
- 技术栈:Tauri 2 + Rust(64.8%)+ React / TypeScript(34.1%)——前端 React + TanStack Query,后端 Rust 分层架构(Commands → Services → DAO → Database)
- 8 个受支持工具:Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes Agent
- 50+ Provider 预设——含 AWS Bedrock、NVIDIA NIM 和一堆社区中转,复制 Key 一键导入
- 最新版本 v3.19.2,2026年8月6日发布(昨天),没有数据库迁移
五个核心能力,逐个拆
1. Provider 管理:复制 Key,点一下就切
8 个工具、50+ 预设,这是它的基本盘。你有一个中转服务的 API Key,以前要分别给 Claude Code、Codex、Gemini CLI 写三份配置;现在在 cc-switch 里添加一个 Provider,选好「通用」标签,它一份配置同步到三个工具。切换就是一键的事,还支持拖拽排序、导入导出。
系统托盘里直接点 Provider 名字就能切换,不用打开主窗口。切完大部分工具重启终端生效,Claude Code 例外——它支持不重启的热切换。
2. 本地代理 + 自动故障转移
这是进阶玩法:cc-switch 内置一个本地代理,做格式转换、Provider 健康监控、自动故障转移和熔断。一个 Provider 挂了,流量自动切到备用的,你甚至不用知道它挂过。它还支持「应用级接管」——可以只代理 Claude Code,不管别的。
v3.19.2 修了一个这上面的隐蔽 bug:第三方 Chat 网关返回缺函数名的工具调用时,转换层此前直接丢掉还报「本轮完成」,Codex 就无声地结束循环了。现在会明确报错并留结构化日志——这类问题终于能从真实流量里诊断了。
3. 统一 MCP / Prompts / Skills 管理
一个面板管理 MCP server 跨 6 个工具双向同步;Prompts 用 Markdown 编辑器写,同步到 CLAUDE.md / AGENTS.md / GEMINI.md,带防回填保护;Skills 支持从 GitHub 仓库或 ZIP 一键安装,自动 symlink 到对应应用目录。
v3.19.2 里这三个面板都加了搜索框,MCP 和 Skills 列表上的应用徽章变成三态开关,可以一键把一个应用在整张列表上批量启用/停用。还修了 ast-grep 这类带同名空壳目录的仓库装不上的问题。
4. 用量与成本仪表盘
跟踪花费、请求数、Token 消耗,带趋势图和明细日志,还支持自定义每个模型的单价。v3.19.2 这一版的主线就是「把数字算对」:修了一个 Codex 用量虚高 6-8 倍的 bug——真实日志里存在计数器交错的文件(同一份快照被网关换着限额桶反复重播),旧算法把它们当成新增量。修复经近 1,900 份真实会话文件回放验证,与独立重算的理想值偏差 0.001%。
顺带把大数据库的性能问题解决了:备份导出改批量 INSERT、同步恢复改单事务(此前每行一次 fsync 正是卡顿元凶),Codex 用量全量重导入从 36.3 秒降到 11.1 秒。
5. 会话管理 + 云同步 + Deep Link
跨会话源浏览、搜索、恢复历史对话;Provider 数据可以通过 Dropbox / OneDrive / iCloud / WebDAV 同步到多台设备;ccswitch:// Deep Link 可以用 URL 直接导入 Provider、MCP server、Prompts 和 Skills——别人发你一个链接,点一下配置就进来了。
和「手改配置文件」比,差在哪
| 维度 | 手改配置文件 | cc-switch |
|---|---|---|
| 切换 Provider | 打开 JSON/TOML 改 Base URL + Key,改错一个字符全废 | 界面点一下 / 托盘点一下,Claude Code 不用重启 |
| 多工具同步 | 每个工具各改一遍,格式还不一样 | 「通用 Provider」一份配置同步到 Claude Code / Codex / Gemini CLI |
| MCP / Skills | 每个工具手写配置 + 手动 clone 仓库 | 一个面板统一管理,GitHub 仓库一键安装 |
| 配置安全 | 手滑删一个括号,Agent 直接罢工 | 原子写入(临时文件 + rename)+ 自动备份(保留 10 份) |
| 成本感知 | 月底看账单才知道花了多少 | 实时仪表盘,按模型单价算 |
| 故障处理 | Provider 挂了手动换,人肉盯着 | 本地代理自动故障转移 + 熔断 |
| 多设备 | 每台机器配一遍 | WebDAV / 网盘目录云同步 |
架构:为什么敢把配置都交给它
设计上几个值得说的点:
- SSOT(单一数据源):所有数据在
~/.cc-switch/cc-switch.db(SQLite),设备级设置放settings.json,双层存储 - 双向同步:切换时写入各工具的真实配置文件(live files),编辑激活中的 Provider 时从真实文件回填(backfill)——你不会改出「界面显示的和实际生效的不一致」
- 原子写入:临时文件 + rename 模式,防止写一半断电导致配置损坏
- Mutex 保护的数据库连接:避免多线程竞态
- 「最小侵入」原则:卸载应用后你的 CLI 工具照常工作,系统永远保留一个激活配置——所以你不能删掉当前激活的 Provider,这是故意的
上手:三分钟跑起来
# macOS(官方推荐)
brew install --cask cc-switch
# Arch Linux
paru -S cc-switch-bin
# Linux(Debian/Ubuntu / Fedora / 通用)
# 从 Releases 下载 .deb / .rpm / .AppImage
Windows 用户从 Releases 下载 .msi 安装包或便携版。macOS 版本已通过 Apple 签名和公证,直接装就行。
首次启动的用法:
1. 打开应用 → Add Provider → 选预设(或自定义)
2. 粘贴 API Key → 选择同步到哪些工具
3. 主界面选 Provider → 点 Enable 切换
4. 重启终端或对应 CLI(Claude Code 不用重启)
首次启动时它也会尝试把你现有的 CLI 工具配置导入为默认 Provider,旧配置不会丢。
实际体验的几个坑
- 切换后大部分工具要重启终端——只有 Claude Code 支持热切换。Codex、Gemini CLI 这些切换完必须重启,否则还是旧配置(README 明确写了)
- Linux Wayland + NVIDIA 会点不动——AppImage 默认强制 XWayland,在新 Wayland + NVIDIA 组合下可能出现内容区点击无响应、窗口黑屏。启动时加环境变量切回原生 Wayland:
CC_SWITCH_GDK_BACKEND=wayland ./CC-Switch-*.AppImage;sway/Hyprland 这类平铺合成器上反过来,试试x11 - 切换 Provider 后插件配置「消失」——不是丢了,是没带过来。用「共享配置片段」功能:Edit Provider → Shared Config Panel → Extract from Current Provider,把公共数据存下来,新建 Provider 时勾选 Write Shared Config 就带过去了
- 不能删当前激活的 Provider——最小侵入设计的副作用。想换回官方登录:从预设里添加官方 Provider → 切换 → 走一遍 Log out / Log in,之后就能在官方和第三方之间自由切了
- v3.19.2 的 Codex 历史用量虚高——修复只对新数据生效,历史虚高的用量需要手动重建一次(升级提醒里有步骤)
- 嵌套 Skills 的存量记录——skills.sh 嵌套 Skill 的 README 链接 404 修复了,但存量记录需要重装一次才恢复
跟我们有关的两件小事
两个细节值得单独说,因为它们直接戳中本工坊读者:
- v3.19.2 修了 Hermes Agent 的提示词同步——此前它往
~/.hermes/AGENTS.md写,而 Hermes 实际加载的是~/.hermes/SOUL.md,写了个寂寞。现在写入正确的文件,Hermes 用户的提示词管理终于生效 - 新版 Claude Code 的接管弹窗——新版 Claude Code 对不认识的 API Key 会弹确认框且默认选中「No (recommended)」,此前接管写入的占位符正好撞上它,用户看到的是未登录会话。现在改写
ANTHROPIC_AUTH_TOKEN占位符,零弹窗直接进入
这两个都是「新版本悄悄改了行为,老工具全部踩空」的典型——cc-switch 这种中间层的好处就是,这些坑它替你踩了。
适合谁用
- 同时用两个以上 Coding Agent——Claude Code + Codex + Gemini CLI 是标配组合,配置管理是刚需
- 用中转 API 服务的人——50+ 预设 + 一键切换,比手改 Base URL 安全一个量级
- 团队统一管理 MCP 和 Skills——一个面板管 6 个工具,新成员入职不用再逐个配置
- 在意成本的深度用户——用量仪表盘 + 自定义单价,月底不再对着账单发呆
- Hermes Agent 用户——官方已把 Hermes 列为受支持工具之一,SOUL.md 同步刚修好
总结
cc-switch 做的不是「又一个 Agent」,而是多 Agent 时代的「控制台」。当你的工作流从单个工具进化成 Claude Code + Codex + Gemini CLI 的组合,配置管理就从「偶尔手改一次」变成「每周都疼的日常」——它解决的就是这个高频痛点,而且解决得相当工程化:SQLite SSOT、原子写入、双向同步、本地代理故障转移,全是正经的可靠性设计。
12.5 万 Star 不是营销堆出来的——一年时间、8 个工具支持、每两周一个版本、修 bug 修到 0.001% 偏差,这是实打实的社区认可。
项目地址:github.com/farion1231/cc-switch(官方网站:ccswitch.io)