改写 Agent 配置文件
任一时刻只有一个供应商生效。切换要重载配置;上游故障时,需要人盯着、手动救火。
- 多份配置之间来回复制
- 故障转移靠人
- 换协议要换客户端
MIT · 只监听 127.0.0.1 · 零遥测
AgentSwitch 是面向 Claude Code、Codex 与 Claude Desktop 的本地模型网关。 用一个地址统管多渠道与密钥,按「逻辑模型」的目标链做优先级故障转移—— 切换上游,Agent 不用重启。
或 下载 v0.2.1 · macOS / Windows / Linux
# Agent 只认这一个地址
ANTHROPIC_BASE_URL=http://127.0.0.1:17890
ANTHROPIC_MODEL=my-code
# 上游切换对 Agent 透明
为什么不是配置切换器
配置切换器解决「换一家」;AgentSwitch 解决「永远有可用的一家」。
任一时刻只有一个供应商生效。切换要重载配置;上游故障时,需要人盯着、手动救火。
Agent 始终只认 127.0.0.1:17890。上游切换、冷却、协议转换都在网关内完成,对 Agent 完全透明。
能力
所有决策可解释,所有请求有记录,所有密钥不出本机。
Agent 请求逻辑模型名,网关按目标链有序尝试;仅在响应尚未提交前切换,绝不重放已计费请求。
Anthropic /v1/messages、OpenAI Chat、OpenAI Responses 共用一套路由与冷却核心,与上游协议自动互转。
14 家按量供应商 + 6 家 Coding Plan 订阅,选协议自动带出 base_url 与模型建议;支持用户自定义预置覆盖。
Claude Code / Codex / Claude Desktop 的真实配置文件由网关受管写入——只改受管键,写前自动备份。
分层管理 Claude Code 的 settings(用户级/项目级/企业托管):表单、JSON、合并预览三视图,权限/环境变量/状态栏一屏可改,接入投影键自动只读。
API Key 以 AES-256-GCM 加密存 SQLite,主密钥 master.key(0600)与库分离;明文永不落盘、落日志。
429 / 5xx 按渠道原子记账,发请求前二次校验;冷却到期只放行一个探测请求,成功即恢复。
非流式与流式请求的输入/输出 token 均落库,按渠道、模型、日聚合;可编辑价格表估算成本。
最近请求与尝试链落 SQLite(默认 7 天,仅脱敏元数据),重启后仍可筛选查看并导出诊断 JSON。
架构
数据面与控制面分离:网关独立于桌面 UI 运行,关窗不等于停网关。
客户端
本地网关
127.0.0.1:17890
上游供应商
三入站协议 → 统一的逻辑模型 / 冷却 / 故障转移核心 → 上游协议。
快速开始
不需要改 Agent 源码,也不需要重启整个系统。
macOS 安装 dmg;Windows 运行 AgentSwitch.exe(便携);Linux 安装 deb 或 tar.gz。网关随应用启动,关闭窗口不会停止网关。
# macOS(Intel)
open "agentswitch-0.2.1-amd64.dmg"
# Windows:直接运行 AgentSwitch.exe
# Linux:sudo dpkg -i agentswitch_0.2.1_amd64.deb
从 20 条预置里选一家、填一个 Key;再新建逻辑模型,把「渠道 + 模型」按优先级挂成目标链。
my-code
├─ 1 DeepSeek / deepseek-chat
├─ 2 智谱 GLM / glm-4.6
└─ 3 Kimi / kimi-k2
在接入页为 Claude Code / Codex / Claude Desktop 新建配置,点「应用」写入真实配置文件,重启 Agent 生效。
ANTHROPIC_BASE_URL=http://127.0.0.1:17890
ANTHROPIC_AUTH_TOKEN=<gateway-token>
ANTHROPIC_MODEL=my-code
平台支持
FAQ
Release 构建未做 Apple 签名公证,Gatekeeper 会拦截。解锁任选其一:终端执行
xattr -cr /Applications/AgentSwitch.app;或右键 App →「打开」→ 弹窗里再点「打开」(仅首次)。
cc-switch 是配置切换器,改写 Agent 配置文件,在多个供应商间手动/自动切换,任一时刻只有一个生效。AgentSwitch 是本地网关:Agent 永远只指向 127.0.0.1,上游切换、多渠道故障转移、协议转换都在网关内完成。两者可以互补。
以 AES-256-GCM 加密存放在本机 SQLite 的 channel_secrets。主密钥为库同目录的 master.key(32 字节、0600 权限),明文不落库、不落日志。备份时请同时备份数据库与 master.key。
不会。网关、统计、请求历史全部在本机;项目零遥测上报。唯一的出站请求是转发给你自己配置的上游供应商。
渠道协议支持 Anthropic 与 OpenAI Chat;入站额外支持 OpenAI Responses(Codex 0.143+ 使用)。三入站共用同一套逻辑模型、冷却与故障转移核心,请求与响应自动互转。
网关持有你的供应商密钥,默认只对本机开放,并需要独立的访问令牌。这是刻意的安全默认,不提供公网监听开关。
MIT 开源,本地运行,零遥测。