OmniRoute:把约 350 家 AI 提供商的免费额度聚合到一个本地网关

OmniRoute 是一个开源 AI 网关。安装之后,它在你本机开一个 OpenAI 兼容端点,把 290 到 350 家模型提供商的免费额度聚合到一起,用 auto 这一个模型名自动路由,不需要配置任何 API Key。仓库 diegosouzapw/OmniRoute 目前约 54.6k Star、7.5k Fork,MIT 许可证,主要语言 TypeScript,最新版本 v3.8.51+(截至 2026 年 8 月 25 日共 279 个 release)。

它真正有用的地方不在「免费」本身,而在配额耗尽自动切换:一家提供商把免费额度用完或限流,请求自动落到下一个健康提供商,不用你盯着手动换。即使只接自己的付费 key,多这一层故障切换和统一端点,也有实际价值。

解决的问题

逐个注册各家免费档是一件繁琐的事:几十个 SDK、几十套限流规则、根本不知道还剩多少额度。OmniRoute 的做法是把免费档目录化,目录放在公开 dashboard 上,定期重新审计,额度增减如实反映。

按项目自报口径,其免费目录每月合计约 15.1 亿(1.51B)token;到 v3.8.50 目录收录约 350 家 provider、1312 个独有 chat 模型 ID(近期区间为 290–350 家、1185–1312 个)。这些数字随提供商增减上下浮动,不是固定承诺。

零配置上手

安装完成后即可使用:

npm i -g omniroute
curl http://localhost:20128/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'

全新安装、没有任何凭据,auto 就能工作。项目为 Python、Node.js、PHP、cURL 各准备了一份可直接粘贴的快速上手脚本,在 examples/quickstart/ 目录。

auto 自动路由

model 填 auto,网关从已连接的提供商量身组合虚拟路由,默认采用 LKGP 策略(Last-Known-Good Path,粘着上一次成功的提供商)。另有按用途的变体:

  • auto/coding:代码生成优先质量
  • auto/fast:最低延迟优先
  • auto/cheap:每 token 最便宜优先
  • auto/offline:剩余额度/限流余量最多优先
  • auto/smart:质量优先 + 10% 探索

不想用 auto 时,可组合 19 种路由策略,代表性的有 p2c(二选一随机负载均衡)、cost-optimized(按实时目录定价最小化每次请求花费)、cache-optimized(把可复用的提示词前缀固定到同一账号以最大化缓存命中)、fusion(多个模型先并行回答,再由裁判合成一个)、pipeline(前一个模型的输出喂给下一个)。底层 Auto-Combo 引擎对每个候选按 15 个因子实时打分,因子包括健康状态、配额、成本、延迟、任务匹配度。每个请求的响应头会带上实际服务的策略与提供商,路由过程可追溯。

三层弹性

  • Quota-Share:共享账号的配额按比例分给多个 key,空闲部分可借给别的 key,配额用尽自动降级。
  • 模态桥接:vision、audio、video 在统一端点下可用。
  • Radar 免费目录:可选的目录叠加层,在两次发版之间刷新免费模型可用性;只做 GET 读取,不上传提示词与流量。

兼容与集成

端点兼容 OpenAI 协议,Claude Code、Codex、Cursor、Cline 等支持 OpenAI 兼容端点的工具,把地址指向本地 20128 端口即可接入。项目提供 CLI 与 MCP 两种交互方式,桌面端和 PWA 都有。

判断与提醒

  • 免费额度是运营性资源。提供商随时可能下调或停掉免费档,OmniRoute 定期重审目录就是为跟上这种变化,但「今天有」不等于「明天还有」。
  • 配额耗尽自动切换才是它的核心价值:免费档也好、自己的付费 key 也好,请求在提供商之间自动降级,编码不中断。
  • 路由透明(响应头可查)、目录公开可核,这两点让它的宣称可以被任何人复核——这类证据在开源社区里容易转化为关注度。

如果你想试:npm i -g omniroute 装好,发一条 model":"auto" 的消息,五分钟内就能判断它适不适合你的工作流。带走的要点:一个 auto 模型名,把多家免费额度自动路由收进本地网关——这就是 OmniRoute,也是你可以直接抄走的用法。