GitHub 趋势 · 第 64 期
给 8 个 AI 编程工具切供应商的它,把可能封号的功能逐条写进了发布说明
#GitHub趋势#AI编程工具#开源
CC Switch 是一个桌面端的配置控制台:把 Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes 八个工具的 API 供应商、MCP、Skills、Prompts 收进一个界面,底层用一份 SQLite 当唯一真相。GitHub API 实测 132,456 star。真正值得看的不是那个切换按钮,而是它把两件同行通常藏起来的事摆到了明处:赞助位是产品数据的一部分、在代码里有标记;哪些功能会带来账号风险,写在发布说明里。
同一台机器上装两个以上 AI 编程工具的人,都会撞上同一件事:每个工具一套配置格式,换一家供应商就要手改一遍。手改的问题是错了没有事务——一个字段的位置不对,工具下次启动就直接不认配置,而报错往往只告诉你读取失败,不告诉你哪一行坏了。
这个痛点足够普世,所以这类配置管理器在趋势榜上从来不缺。CC Switch 的做法是把配置从文件搬进数据库,再把文件当出口:切换到哪家,就把对应的内容写进各工具真正读取的那份配置里。
一、它到底是什么
界面是 React + TypeScript,后端是 Rust,打包用 Tauri 2。八个工具的名字全部来自 README 原文,不是泛指:Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes。它的数据落点也全部写在 README 的 FAQ 一节里,可以直接核对:
- ▪数据库 ~/.cc-switch/cc-switch.db,SQLite,存供应商、MCP、Prompts、Skills;设备级设置另存 ~/.cc-switch/settings.json。
- ▪备份在 ~/.cc-switch/backups/,自动轮转保留最近 10 份;Skills 装在 ~/.cc-switch/skills/,默认软链到各客户端,卸载前会自动备份、保留最近 20 份。
- ▪读写策略是双层的:SQLite 当唯一真相,切换时写进各工具的真实配置文件,编辑当前激活的供应商时再从真实文件回填;写盘用临时文件加改名的原子写,避免配置被写坏。
- ▪内置 50+ 供应商预设,README 点名了 AWS Bedrock、NVIDIA NIM 与各聚合平台;另外还有一组叫 Universal providers 的设置,一份配置可同时同步到 Claude Code、Codex 与 Gemini CLI。
- ▪界面四语(zh / zh-TW / en / ja),用户手册三语(en / zh / ja),README 四语,字节数分别是英文 48,272、德文 54,802、日文 59,415、中文 44,464。
上面最后一行的顺序值得停一下:仓库 docs/ 顶层还躺着四份以 -zh 结尾的需求与契约文档(19,637 + 6,583 + 5,523 + 5,041,合计 36,784 字节),而给使用者看的用户手册反过来只有 en / zh / ja 三份。产品文档与内部需求文档同目录并存,和那种文档只留英文的项目正好相反。
二、能力清单
| 模块 | 做什么 | 关键细节 |
|---|---|---|
| 供应商管理 | 八个工具、50+ 预设一键导入 | 一键切换、托盘快捷切换、拖拽排序、导入导出 |
| 本地代理与故障转移 | 格式转换、自动切换、熔断、健康探测 | 可按应用分别接管 Claude、Codex、Gemini、Grok Build,细到单个供应商 |
| MCP / Prompts / Skills | 三套资源的统一面板与双向同步 | Skills 支持从 GitHub 仓库或 ZIP 一键装,可选软链或文件复制 |
| 用量与成本 | 花费、请求数、token 的趋势图与请求日志 | 可以给单个模型自定义单价 |
| 会话管理 | 浏览、搜索、恢复对话历史 | 另有 OpenClaw 的 AGENTS.md、SOUL.md 编辑与 Markdown 预览 |
| 同步与入口 | 多设备同步、一行 URL 导入 | 自定义目录(Dropbox / OneDrive / iCloud / NAS)加 WebDAV;ccswitch:// 可导入供应商、MCP、Prompts 与 Skills |
第二行是它从配置切换器长成控制面的分界线:本地代理意味着请求真的从它这里过一遍,格式转换、失败重试、熔断都由它兜。下面两节的内容也基本围绕这一层展开。
三、README 里的 33 个赞助位
打开它的 README,第一屏是赞助商区块,默认展开:顶部 1 条高亮横幅,加一张 32 行的赞助表,合计 33 个赞助位(英文版与中文版逐条数下来都是这个数)。名单本身说明了这个工具站在产业链的哪个位置——里面既有模型厂商与云厂商的官方平台(Moonshot 的 Kimi、字节的火山豆包、PPIO、硅基流动、UCloud 的 Compshare),也有大量自称 API 中转、聚合或智能路由的服务。后者正是切供应商这个动作的需求来源。
各家自己写的折扣,逐字引自 README:
- ▪AICoding 写「Claude Code at 19% of original price, GPT at just 1%!」;
- ▪AICodeMirror 写「Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original price」;
- ▪ZetaAPI 写「pricing as low as 35% of official rates」,RunAPI 写「prices as low as 10% of the official rate」;
- ▪Crazyrouter 写「All models at 55% of official pricing」。
同一份 README 上,自称的折扣从官方价的 1% 跨到 55%。折扣越狠的说法越难用官方直连来解释,这是宣传语之间的落差,不需要任何外部资料就能看出来。
该给的公道话先说在前:这些赞助位是明示的,有独立段落、有各自的优惠码,没有被伪装成正文推荐;发布说明里也写明软件完全免费、开源、不向用户收取费用。真正需要读者自己盯住的是钱和密钥流向哪:请求走第三方中转时,你的 API Key 与请求内容都经过对方,而各家对计费、合规与数据留存的约定并不一致。本节只复述 README 上写着的原话,不对任何一家做评价,也不构成采购建议。
更值得记的是赞助位的实现方式。这一版的发布说明里有一条变更:Atlas Cloud 不再是赞助商,官方原文是「赞助商身份从 README 四语赞助表、横幅、isPartner/partnerPromotionKey 标记与推广文案中移除」,而它的预设本身保留,只是从赞助组移到非赞助组。也就是说,赞助位在代码里有标记、会随状态一起增删,它不是一张静态广告图,而是产品数据的一部分。对读者的直接含义是:能一键切过去的供应商和 README 上的赞助位应当当成同一张名单来读。
四、发布说明里那份风险清单
真正让我把这一期留给它的,是 v3.20.3 发布说明末尾的「风险提示」一节。它把四项带账号风险的能力逐条摆出来,然后交代责任归属:
- ▪xAI Grok OAuth 登录:「复用官方 Grok CLI 的公开 OAuth 客户端身份,使用可能导致账号被限制或封禁」;
- ▪Codex OAuth 反向代理:「使用 ChatGPT 订阅的 Codex OAuth 反代可能违反 OpenAI 服务条款」;
- ▪SuperGrok 配额查询:「供应商卡片的配额展示依赖 grok.com 的非公开计费端点,xAI 调整接口后可能失效」;
- ▪第三方供应商路由:「各供应商对计费、合规与数据留存的约束不同,请在使用前阅读目标供应商的服务条款」。
紧接着的免责原文是「用户启用上述功能即表示自行承担相关风险。CC Switch 不对因使用这些功能而导致的任何账号限制、警告或服务暂停承担责任。」工具提供能力、风险归使用者,这条边界划得很清楚。同一份说明里还有两个实用提醒:一是下载走 ccswitch.io 的 Cloudflare 边缘节点分发、不依赖 GitHub 可达;二是发布说明里另有一节「唯一官方渠道声明」,写明任何向你收费、要求充值、或索取登录凭据的同名网站或客户端都是假冒的。
换个角度看这份清单:四项里没有一项属于用官方 API 加官方计费的那种场景。如果你的用法是官方端点或云厂商端点加上自己的 Key,这些风险根本不会落到你身上;它们全部出现在借用别人身份、或把请求转给第三方这一类操作上。把风险写清楚再交给用户选择,比把同类能力藏在功能列表里更负责。
五、这版 22 个提交,修的是什么
发布说明里写「本版 22 个提交里有 11 个来自 8 位外部贡献者」,更新规模是 62 个文件、增 3,458 行减 802 行。而修的东西恰好解释了这类工具为什么难写——全是协议层的差异,只有在本地跑过代理、把两种协议对接起来的人才会撞到:
- ▪上游在每个内容分片里带一个空的 reasoning_content 占位符,转换器把每个分片都拆成一个空思考块,Claude Code 于是每个 token 渲染一行、外加几十个空 Thought 块;这条修的是挂了几个月的两个 issue,此前还有三个 PR 先后提出修法后被取代。
- ▪Codex 的 Responses 转 Chat 转换器把 commentary 消息与紧随的工具调用拆成两条 assistant 消息,Chat 上游把只有文本的那条当成整回合结束,长任务在一句进度汇报后戛然而止。
- ▪Claude Desktop 的模型探针用 max_tokens=1,而 Responses API 拒收小于 16 的值,严格上游直接返回 400,客户端把模型报成不可用。
- ▪退出时的一次写回没有 WHERE 条件,把 Claude 的重试与超时设置抄给了 Codex、Gemini、Grok Build 三行,而且这条 UPDATE 根本不带它想清掉的那个标志位,等于除了串写没有任何效果。
- ▪Codex 卡没写 model_provider 时,接管把地址写到了 Codex 不读的字段上,请求绕过本地代理直连官方端点;Windows 的 NTFS 上文件增长时 mtime 不变,纯 mtime 判断让正在增长的会话用量一直漏采,改用字节游标才修好。
这五条没有一条能在界面上看出来。它们的共同症状是三类:模型表现变差、用量数字对不上、任务在中途停下,而原因埋在协议转换层。这也是它 2,669 个未关闭 issue 的来源之一:按 GitHub API 的数算,未关闭 issue 与 star 之比是 2.02%(2,669 / 132,456)。
六、上手
安装命令逐字取自 README:
# macOS(Homebrew,官方推荐) brew install --cask cc-switch # Arch Linux paru -S cc-switch-bin # 其他 Linux:AppImage chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage
Windows 走 Releases 里的 .msi 或便携 zip。这一版挂出 18 个文件加一个 latest.json(自动更新用的清单):macOS 的 zip 是 Universal Binary,Intel 与 Apple Silicon 同一个包,Windows 与 Linux 反而分了 x64 与 arm64 两套资产。升级侧有一条值得先看的好消息——本版不含数据库迁移,schema 版本保持 18。
七、我的判断
适合谁:同一台机器上跑两个以上 AI 编程工具、并且真的会换供应商的人;需要在多工具之间保持一致 MCP / Skills / Prompts 的人;想给团队一个统一配置入口的人。
不适合谁:只用一个工具、一年换一次供应商的人——手工改一次 JSON 比装一个 88 MB 的桌面应用便宜;本来就不接受把密钥交给第三方中转的人,这个工具解决不了那个问题。
坑:
① 校验文件不齐:18 个文件里只有 5 个带 .sig(两个 AppImage、macOS 的 tar.gz 与两个 Windows msi),.deb、.rpm、macOS 的 dmg 与 zip、Windows 便携 zip 都没有。
② 切换后要重启终端——README 明说大多数工具如此,Claude Code 是唯一例外,支持热切换。
③ 官方自曝的坑:切换供应商后插件配置会消失,解法是先在编辑页把公共数据提取成共享配置片段,新建供应商时勾选写入共享配置(该选项默认开)。
④ 当前激活的配置删不掉。官方把这条设计原则写成 minimal intrusion:系统始终保留一个激活配置,因为全删掉会让对应工具直接不可用;卸载 App 后各 CLI 工具照常工作。
⑤ 升级才遇得到的代价:上一版那次串写已经覆盖掉的代理重试与超时值,这一版止住了写坏但找不回来,官方让你去代理设置里自己核对一遍;统一供应商同步抹掉的子卡设置同样要重填一次。
⑥ 预设改动只影响新建的供应商,存量卡片保存的是创建时的快照——要吃到新预设得重新导入。
数据来源:GitHub API 与仓库原文实抓 · 抓取时间 2026-09-12 18:12(GMT+8)。
仓库:farion1231/cc-switch(https://github.com/farion1231/cc-switch)
star:API 实测 132,456;GitHub Trending Rust 日榜同期快照 132,442(当日 +210)。9,134 fork · 2,669 个未关闭 issue · 仓库体量 74,970 KB · 创建于 2025-08-04 · 最新提交 2026-09-11。
许可:MIT。根目录 LICENSE 是标准 MIT 全文(1,067 字节,版权行 Jason Young),API 的 license.spdx_id 同为 MIT,未见追加条款或非商用限制。
最新发布:v3.20.3(2026-09-11,非预发布,18 个附件加 latest.json);/tags 第一页 30 个 tag,从 v3.20.3 到 v3.9.1。CHANGELOG.md 体量 496,329 字节,约为 README 的 10.3 倍。
本次核实范围:根目录清单、README、README_ZH、LICENSE、docs/ 与 docs/user-manual、releases/latest、v3.20.3 发布说明、tags、CHANGELOG(抓取被截断,只取到开头 4 个版本 3.20.0 至 3.20.3)。CHANGELOG 未取到的部分未纳入核实范围,相关结论一律未写入正文。
你的机器上现在跑着几个 AI 编程工具?如果是两个以上,留言说说你是怎么管它们配置的。
下期预告:三榜与四个分语言日榜都零新面孔(分语言榜冒出的新面孔里最高只有 +33),本期写的是线索池里动量最高的 cc-switch,上一期文末说的换主题族做横向合集因此顺延——「把模型塞进小设备与边缘」这一族成员仍然凑不够,下期若出现高动量新面孔就回单项目精读,仍零候选就换一个能凑齐成员的主题族做合集。
#GitHub趋势#AI编程工具#开源