受够了天天手改 settings.json,我用 GLM 5.3 十分钟撸了个切换器,已经开源了
先说结论:AISwitch,一个桌面小工具,专门用来给 Claude Code 和 Codex CLI 一键切换模型/服务商。Tauri 2 + React 19 写的,macOS / Windows / Linux 都有安装包,MIT 协议,源码在这里:
感兴趣的可以先去看代码,回头再听我唠开发过程。
起因:一件烦了很久的小事
用 Claude Code 的朋友应该都懂这个流程——想从官方 API 切到 GLM 或者 DeepSeek,你得:
- 打开
~/.claude/settings.json,把ANTHROPIC_BASE_URL换掉 - 把新 key 粘进去,注意别多删一个逗号
- 模型名再改一下
- Codex 那边还有一套
config.toml+auth.json,来一遍
一天来个两三回,每次都是「改配置 → 保存 → 跑一下试试 → 哦豁 JSON 写坏了 → 再改」。也不是什么大事,但就是烦,像鞋里进了个小石子。
市面上的方案我也试过一些,要么是本地起个代理帮我转发,要么就是 Web 版的管理台。可我需求很简单:我就想换个配置文件,别在我和 API 之间加东西。加一层代理,我得担心它记不记日志、挂了怎么办;Web 版更别提了,让它读我的 API key?
于是就想着自己写一个。规则只有一条:只读写 Claude Code 和 Codex 的配置文件,别的一概不做。
过程:GLM 5.3 十分钟出了能用的版本
说实话这个项目本来在 todo list 里躺了挺久的,一直没动,因为「写个 Tauri 项目」听起来就要折腾半天:脚手架、Rust 侧的文件操作、前后端 IPC……
结果 GLM 5.3 发布那天我寻思拿它试试,把 PRD 丢给它——真的是我随手写的一段话,大意是「做一个切换 Claude Code 配置的工具,要有预设、备份、回滚」——十分钟不到,一个能跑的 Tauri 应用就摆在那了。窗口、列表、切换逻辑都是通的,我做的基本就是提需求、看代码、提修改意见。
当然,十分钟拿到的是 MVP,「能用」和「敢放出去给别人用」之间还差着一个周末加几个晚上。这部分 AI 帮的忙也很大,但方向得自己把握,几个我坚持抠到底的点:
写入必须原子化。 配置文件写一半崩溃了,用户的 CLI 就废了。最后的方案是先写临时文件、收紧权限、再原子替换,写完读回来校验。这套流程是我跟模型来回讨论了几轮才定下来的,它一开始给的实现就是普通的直接覆盖写入,被我打回去重写了。
Key 的处理要偏执一点。 存 key 的文件全部 0600 权限,界面上永远打码——短的 key 也全遮,不露一半。连通性测试只允许 HTTPS(本机 localhost 例外)。这些不是用户会主动要求的功能,但一个碰 API key 的工具,我觉得这是本分。
装了要能干净地卸载。 第一次切换之前,AISwitch 会把你原始的配置拍个快照。哪天不想要它了,点一下「恢复到安装前」,三步确认,每个文件恢复成什么样都列给你看。我自己最烦那种卸载完留一堆残渣的软件,不能自己变成那样。
有意思的是,这些「额外要求」提给 GLM 5.3 之后,它的完成质量比我预期高。比如我提了一句「临时文件在 rename 之前就要收紧权限,不然崩溃残留会泄 key」,它不光改了,还在旁边补了启动时把历史遗留的松散权限收紧的逻辑。这种你只说半句、它能把另半句补上的感觉,是这次体验里最爽的部分。
它能干什么
具体功能列一下,懒得看文字的直接翻截图:
- 启动时自动读 Claude Code / Codex 的全局配置,当前用的哪家、什么模型,一目了然
- 预设管理:Base URL + Key + 模型名存成一个档位,起个名字
- 一键切换,写入前自动备份,写坏了自动回滚,历史备份也能手动恢复
- 切换前可以测一下连通性,别切过去了才发现 key 填错了
- Codex 的
models.json可以直接托管进来,贴一条或者整个文件都行 - 系统托盘直接切,不用开窗口
- 中英文界面、明暗主题都有
再强调一遍隐私的事:纯本地,无账号,无云端,无埋点。数据只存在你自己的
~/.aiswitch/ 目录里,出网请求只有你手动触发的连通性测试,而且只允许 HTTPS。不信的话,代码全开源,欢迎审计。
一点想法
这次最大的感受是,「会写代码」这件事的价值重心在变。十分钟出 MVP 意味着验证一个想法的成本几乎为零,真正花时间的变成了:想清楚产品该做什么、不该做什么,以及在安全这种用户看不见的地方肯不肯下笨功夫。
工具本身是小事,但每天能省下几次改配置的烦躁,还不用把 key 交给任何中间层——对我来说这就够了。
如果你也在 Claude Code / Codex 之间来回切模型,欢迎试试:
GitHub: github.com/small-dream… 下载安装包请到 Releases 页面(安装包目前没签名,macOS 首次打开需要在「系统设置 → 隐私与安全性」里放行一次)
用着顺手的话,点个 star;遇到 bug 或者想要新功能,开个 issue 就行,人都在。