跨平台桌面应用(macOS / Windows / Linux)。读取 cc-switch 的站点配置(~/.cc-switch/cc-switch.db),
批量检测各 AI 中转站是否可用、首 token 延迟,并一键把可用站切换为 cc-switch 当前站——
切过去的配置就是刚实测通过的组合,不再有"测通了却用不了"。
Tauri 2 + SvelteKit (Svelte 5) + Rust。
从 Releases 下载对应平台的安装包:
- macOS(Apple 芯片):
AICheck_x.x.x_aarch64.dmg,双击打开拖进「应用程序」 - Windows:
AICheck_x.x.x_x64-setup.exe或.msi - Linux:
.AppImage(免安装)或.deb
包未做签名,首次打开若有安全提示: macOS 在 系统设置 → 隐私与安全性 → 拉到底点「仍要打开」; Windows 在 SmartScreen 提示里点「仍要运行」。只需一次。
Windows / Linux 支持为新增,cc-switch 进程的自动关闭/拉起在这两个平台 尚未实测,异常时请先手动关闭 cc-switch 再切换。
- 站点列表:读取 cc-switch 的 claude / codex 供应商,按站名合并成逻辑站
- 批量测活:并发流式探测,读到首个内容 token 即判可用并记录延迟
- 三接口探测:anthropic
messages/ openairesponses/ openaichat; 按模型名分桶(claude 系走 messages,gpt 等走 openai 侧,国产双栖模型两边都测),可开「全交叉」忽略分桶 - 仅流式检测:接口流式测通后,用最快模型补发一次非流式请求;
非流式不通的站标
⚡仅流式(有些站只有流式能正常访问) - 模拟真实客户端:messages 探测带 Claude Code 标识头(
claude-cliUA、x-app: cli、anthropic-beta、x-stainless-*), responses/chat 探测带 Codex CLI 标识头(codex_cli_rsUA、originator)——按客户端特征放行的站不会被误判。 UA 版本号自动探测:启动时读本机claude --version/codex --version(GUI 不继承 shell PATH, 会补查~/.local/bin、/opt/homebrew/bin等常见位置),读不到才用内置兜底值 - 模型池:自定义关心模型、从站点
/models接口发现新模型、持久化到~/Library/Application Support/ai-check/models.json - 错误清洗:把各站五花八门的报错压成一句中文(key 无效 / 额度不足 / 限流 / 无此模型…)
在「可用(按延迟)」列表点「切到这里」(两段式确认),把该站设为 cc-switch 当前站:
- claude 侧写
~/.claude/settings.json,codex 侧写~/.codex/auth.json+~/.codex/config.toml - 切换前自动把 live 配置回填进原当前站(保留外部工具的改动,对齐 cc-switch 行为)
- 原文件先备份为
*.ai-check.bak,写入采用临时文件 + rename 原子落盘 - 配置写入方式(控制区可选,记忆选择):
- 精准同步(默认):只把
model/wire_api改成实测通过的组合,其余(mcp 插件、目录信任、个人偏好)一字不动 - 完全替换:站点连接部分用标准模板重写(provider 统一
custom),个人/全局配置仍保留——适合把乱掉的站点配置"恢复出厂"
- 精准同步(默认):只把
- 自动清理 websocket 开关:写入时移除
responses_websockets_v2/experimental_use_websocket(AICheck 验证的是 HTTP 通道;这类手工补救开关会过时,站后端一变反而让实测通过的站用不了) - 补配置切换:站只在 cc-switch 里配了一侧(如只有 claude)、另一侧接口实测又通的,
点「补配置切换」即用已有侧的地址 + key、按实测接口/模型生成一份配置写入 cc-switch 再切换
(codex 侧
model_provider/[model_providers.custom]/name三处统一custom; claude 侧生成ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN+ 实测模型的三档映射) - 重启 cc-switch:切换成功后可选一键重启 cc-switch(osascript 优雅退出再拉起,给它落盘机会), 让它的界面刷新到最新当前站
- 深色 / 浅色主题:默认跟随系统,顶栏按钮可在 ◐ 自动 / ☀ 浅色 / ☾ 深色 间循环,选择会记住
- 透明标题栏与页面无缝一体;检测进度实时推送,结果按延迟排序
npm install
npm run tauri devcd src-tauri && cargo test # 切换端到端 + 配置生成/同步/清理 + UA 探测(沙箱 HOME,不碰真实配置)
npm run check # svelte-check
npm run tauri build # 打包 .app + .dmg