MIT · 只监听 127.0.0.1 · 零遥测

把多个模型供应商
变成一个本地入口

AgentSwitch 是面向 Claude Code、Codex 与 Claude Desktop 的本地模型网关。 用一个地址统管多渠道与密钥,按「逻辑模型」的目标链做优先级故障转移—— 切换上游,Agent 不用重启。

或 下载 v0.2.1 · macOS / Windows / Linux

  • 3入站协议
  • 20双协议预置
  • 0遥测上报
  • 1本地端口
~/.claude/settings.json
# Agent 只认这一个地址
ANTHROPIC_BASE_URL=http://127.0.0.1:17890
ANTHROPIC_MODEL=my-code
# 上游切换对 Agent 透明

为什么不是配置切换器

Agent 不再指向供应商,
而是指向你本机的网关。

配置切换器解决「换一家」;AgentSwitch 解决「永远有可用的一家」。

配置切换器

改写 Agent 配置文件

任一时刻只有一个供应商生效。切换要重载配置;上游故障时,需要人盯着、手动救火。

  • 多份配置之间来回复制
  • 故障转移靠人
  • 换协议要换客户端
AgentSwitch

本地模型网关

Agent 始终只认 127.0.0.1:17890。上游切换、冷却、协议转换都在网关内完成,对 Agent 完全透明。

  • 目标链失败自动回退
  • 首字节前才切换,不重放已计费请求
  • Anthropic / OpenAI Chat / Responses 三入站互转

能力

网关该做的事,一件不少。

所有决策可解释,所有请求有记录,所有密钥不出本机。

逻辑模型故障转移

Agent 请求逻辑模型名,网关按目标链有序尝试;仅在响应尚未提交前切换,绝不重放已计费请求。

三入站协议

Anthropic /v1/messages、OpenAI Chat、OpenAI Responses 共用一套路由与冷却核心,与上游协议自动互转。

20 条双协议预置

14 家按量供应商 + 6 家 Coding Plan 订阅,选协议自动带出 base_url 与模型建议;支持用户自定义预置覆盖。

一键接入

Claude Code / Codex / Claude Desktop 的真实配置文件由网关受管写入——只改受管键,写前自动备份。

Claude Code 配置中心

分层管理 Claude Code 的 settings(用户级/项目级/企业托管):表单、JSON、合并预览三视图,权限/环境变量/状态栏一屏可改,接入投影键自动只读。

密钥不出本机

API Key 以 AES-256-GCM 加密存 SQLite,主密钥 master.key(0600)与库分离;明文永不落盘、落日志。

冷却与半开恢复

429 / 5xx 按渠道原子记账,发请求前二次校验;冷却到期只放行一个探测请求,成功即恢复。

用量与成本

非流式与流式请求的输入/输出 token 均落库,按渠道、模型、日聚合;可编辑价格表估算成本。

请求历史

最近请求与尝试链落 SQLite(默认 7 天,仅脱敏元数据),重启后仍可筛选查看并导出诊断 JSON。

架构

一个本地端口,接住所有 Agent。

数据面与控制面分离:网关独立于桌面 UI 运行,关窗不等于停网关。

客户端

Claude Code
Codex
Claude Desktop

本地网关

AgentSwitch
127.0.0.1:17890
逻辑模型冷却故障转移协议转换

上游供应商

DeepSeek
智谱 GLM
Kimi
自建中转 / 更多…

三入站协议 → 统一的逻辑模型 / 冷却 / 故障转移核心 → 上游协议。

快速开始

三步,让 Agent 走上网关。

不需要改 Agent 源码,也不需要重启整个系统。

01

下载并启动

macOS 安装 dmg;Windows 运行 AgentSwitch.exe(便携);Linux 安装 deb 或 tar.gz。网关随应用启动,关闭窗口不会停止网关。

shell
# macOS(Intel)
open "agentswitch-0.2.1-amd64.dmg"

# Windows:直接运行 AgentSwitch.exe
# Linux:sudo dpkg -i agentswitch_0.2.1_amd64.deb
02

建渠道,挂目标链

从 20 条预置里选一家、填一个 Key;再新建逻辑模型,把「渠道 + 模型」按优先级挂成目标链。

目标链
my-code
  ├─ 1  DeepSeek / deepseek-chat
  ├─ 2  智谱 GLM / glm-4.6
  └─ 3  Kimi / kimi-k2
03

应用接入

在接入页为 Claude Code / Codex / Claude Desktop 新建配置,点「应用」写入真实配置文件,重启 Agent 生效。

~/.claude/settings.json
ANTHROPIC_BASE_URL=http://127.0.0.1:17890
ANTHROPIC_AUTH_TOKEN=<gateway-token>
ANTHROPIC_MODEL=my-code

平台支持

在你常用的系统上跑起来。

macOS · Intel
已验证
macOS · Apple Silicon
Rosetta 运行
Linux · GTK3
已验证
Windows · x64
构建通过,待实机

FAQ

常见问题

macOS 打开时提示「Apple 无法验证…」怎么办?

Release 构建未做 Apple 签名公证,Gatekeeper 会拦截。解锁任选其一:终端执行 xattr -cr /Applications/AgentSwitch.app;或右键 App →「打开」→ 弹窗里再点「打开」(仅首次)。

和 cc-switch 有什么区别?

cc-switch 是配置切换器,改写 Agent 配置文件,在多个供应商间手动/自动切换,任一时刻只有一个生效。AgentSwitch 是本地网关:Agent 永远只指向 127.0.0.1,上游切换、多渠道故障转移、协议转换都在网关内完成。两者可以互补。

我的 API Key 存在哪里?

以 AES-256-GCM 加密存放在本机 SQLite 的 channel_secrets。主密钥为库同目录的 master.key(32 字节、0600 权限),明文不落库、不落日志。备份时请同时备份数据库与 master.key。

数据会上传云端吗?

不会。网关、统计、请求历史全部在本机;项目零遥测上报。唯一的出站请求是转发给你自己配置的上游供应商。

支持哪些上游协议?

渠道协议支持 Anthropic 与 OpenAI Chat;入站额外支持 OpenAI Responses(Codex 0.143+ 使用)。三入站共用同一套逻辑模型、冷却与故障转移核心,请求与响应自动互转。

为什么只监听 127.0.0.1?

网关持有你的供应商密钥,默认只对本机开放,并需要独立的访问令牌。这是刻意的安全默认,不提供公网监听开关。

把切换上游这件事,
从 Agent 里拿出去。

MIT 开源,本地运行,零遥测。