switch-a
自托管 AI API 网关,支持多提供商路由与透明转发
switch-a 是一款自托管 AI API 网关,专注于多提供商路由、自动故障转移与流量可视化。通过一条稳定端点接入多个 AI 提供商,保留原生协议特征,降低账号被封风险。
核心功能
- 透明转发架构:除路由、认证或协议安全必需外,请求体原样透传,避免硬编码导致的指纹特征共享,减少批量封号风险
- 无魔法字符串:不硬编码特定提供商的 Header 或参数,新模型名称和请求字段自动穿透,版本更新无需升级 switch-a
- 最强 WebSocket 适配:WebSocket 处理作为一等公民,支持连接建立、流生命周期、安全切换、会话连续性和逐次诊断
- 智能路由策略:支持按优先级、权重或随机算法路由,可按提供商、群组、API 类型或模型约束流量
- 容错保障:内置重试、断路器和自动故障转移,保持请求可用性
- 实时可观测:管理员界面实时查看请求延迟、Token 用量、提供商健康状态及每次重试记录
技术实现
switch-a 采用 Go 1.25 + Node.js 24 构建,后端为 Go 二进制文件,前端为同二进制打包的 Web UI,数据存储在 SQLite。
核心设计理念是「透明转发」而非「协议转换」。它不在请求体上做不必要的转换,只在必要时处理路由、认证和协议安全。这意味着上游 API 的任何变化(新增字段、新模型、新端点)基本可以无缝穿透。
WebSocket 支持尤为深入:连接建立、生命周期管理、跨提供商安全切换和会话连续性均有完整建模。内置的 Keyring 管理 Claude/Codex 历史,确保在多账号场景下各账号 Cookie 隔离。
部署后管理员通过 http://localhost:28081/admin/ 管理所有运行时配置,包括提供商添加、路由策略、并发限制和熔断阈值。
快速上手
- 从 GitHub Releases 下载对应平台的预编译包,或用 Go 1.25+ 源码编译
- 复制 config.example.yaml 为 config.yaml,填入管理员 Token
- 构建管理界面:cd web && pnpm install && pnpm build
- 启动网关:go run ./cmd/switch-a
- 打开 http://localhost:28081/admin/ 添加提供商并配置路由策略
适用人群
- 需要聚合多个 AI 账号或中转站订阅的开发者与团队
- 希望降低官方客户端风控/封号风险的个人用户
- 需要在内部网络部署统一 AI 调用入口的企业
- 对 API 转发协议有透明化需求的技术团队
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议