逛论坛看见zapll 佬的 CodeSwitch ,看到感觉不错很符合我的想法,于是决定定制化一下。初步看了一下,它是一个基于 Wails 3 写的,恰好可以练练手
2025-12-03 更新了大大小小的bug
更新内容(抄的cc switch)
新功能
- Gemini CLI 代理支持 - 完整的 Gemini 代理托管功能
- 应用自动更新 - 支持检测新版本并自动更新
- 侧边栏导航改进 - 可收起侧边栏,新增 NEW 徽章
- 新增功能页面:
SpeedTest - API 端点延迟测试
EnvCheck - 环境变量冲突检测
Prompts - 系统提示词管理(支持 Claude/Codex/Gemini)
- DeepLink 支持 - 通过 URL scheme 导入配置
- 黑名单功能 - Provider 黑名单管理与自动降级
定制化的内容:
- 优先级分组调度 - Level 1-10 分级管理
- 模型白名单 - 精准控制每个供应商支持的模型
- 模型映射 - 自动转换模型名称适配不同供应商
修复时区导致拉黑时间异常问题
v0.3.2版本发布
增加以下功能:
1.开机自启动选项
2.自动更新功能(在彻底关闭软件后重启就会检查是否有更新)
3.在失败n次(n可以设置)后拉黑该供应商m分钟(m可选)
4.修复请求成功数统计问题
v0.2.0 → v0.2.1 更新内容
核心功能详解
-
优先级分组调度(v0.2.0 新增)
为每个供应商设置 Level 1-10 优先级分组,实现更灵活的降级策略:
典型场景:
成本优化策略
├─ Level 1: 物美价廉供应商
└─ Level 2: 稳定兜底备份 -
模型白名单
声明每个供应商支持哪些模型,避免降级时因模型不支持导致失败。
支持规则:
-
精确匹配: claude-sonnet-4 - 只匹配该模型
-
通配符: claude-* - 匹配所有 Claude 模型
-
供应商前缀: anthropic/claude-* - 匹配带前缀的模型
使用场景:
供应商 A 配置:
├─ 白名单: claude-sonnet-, claude-opus-
└─ 结果: 只接受 Sonnet 和 Opus 系列请求
供应商 B 配置:
├─ 白名单: gpt-4*, claude-*
└─ 结果: 同时支持 GPT 和 Claude 模型
当请求 claude-sonnet-4 时: -
供应商 A 支持 → 尝试转发
-
供应商 B 支持 → 失败后降级到这里
-
供应商 C 不在白名单 → 自动跳过
- 模型映射
自动转换外部模型名到供应商内部模型名,适配不同 API 格式。
映射规则:
-
精确映射: claude-sonnet-4 → anthropic/claude-sonnet-4
-
通配符映射: claude-* → anthropic/claude-*(自动展开)
-
前缀替换: gpt-* → openai/gpt-*
使用场景:
场景 : 供应商要求带前缀
客户端请求: claude-sonnet-4
映射规则: claude-* → anthropic/claude-*
实际发送: anthropic/claude-sonnet-4白名单 + 映射组合使用:
供应商配置例:
├─ 模型白名单: claude-, gpt-4
├─ 模型映射:
│ ├─ claude-* → anthropic/claude-*
│ └─ gpt-4* → openai/gpt-4*
└─ 工作流程:
1. 检查请求模型是否在白名单 ✓
2. 应用映射规则转换模型名
3. 转发到供应商 API
-
智能降级流程
结合优先级、白名单、映射的完整调度逻辑:
用户请求: claude-sonnet-4
Level 1 供应商
├─ 白名单检查: claude-* ✓ 通过
├─ 模型映射: claude-sonnet-4 → anthropic/claude-sonnet-4
├─ API 调用: 失败 (429 限流)
└─ 日志: Level 1 失败: xxx | 错误: Rate limit
Level 2 供应商
├─ 白名单检查: claude-, gpt- ✓ 通过
├─ 模型映射: claude-sonnet-4 → claude-sonnet-4 (无映射)
├─ API 调用: 成功 ✓
└─ 日志: Level 2 成功: xxxx | 耗时: 1.2s
返回结果给客户端
Bug 修复(v0.2.1)
- 修复 Level 下拉菜单背景透明问题
- 统一使用项目 CSS 变量规范
项目地址
-
GitHub: GitHub - Rogers-F/code-switch-R: Claude Code & Codex 多供应商代理与管理工具
相关链接 -
原项目: GitHub - daodao97/code-switch: Claude Code & Codex 多供应商代理与管理工具 by @daodao97
-
适配版本: 基于原项目定制,增加优先级调度、模型白名单、模型映射等功能
本版本是fork出来已经提交了PR给zapll 佬审核了,如果佬觉得可以会合并 分享大家玩玩



