cheaper-inference/OmniRoute
AI 工程自托管 AI 网关,用一个 OpenAI 兼容端点统一接入数百家模型供应商,提供路由、自动回退和 token 压缩。
OmniRoute
OmniRoute 是一个自托管、MIT 许可的 AI 网关,把大量模型供应商收敛到 http://localhost:20128/v1 这一个 OpenAI 兼容端点。你接入自己的供应商账号或 API Key,再把 Claude Code、Codex、Cursor、Cline、Copilot Chat 等编程工具指向该端点。README 记录 380 个注册供应商(其中 153 个标记为免费层)、1,475 个聊天模型 ID 和 20 种路由策略,零配置的 auto 模型会根据已连接供应商动态组一个虚拟 combo。
除路由外,它还提供多层自动回退、供应商熔断、token 压缩、MCP/A2A 接口和仪表盘。提示词会发给每次请求选中的上游供应商;OmniRoute 表示不增加托管的提示词处理跳转,默认关闭遥测。
快速开始
全局安装 CLI 并启动网关:
npm install -g omniroute
omniroute
npm 11 及以上可能拦截生命周期脚本。README 说明 postinstall 是准备原生运行时文件的必要步骤,因此安装时需放行指定包:
npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
服务启动后打开 localhost:20128 的仪表盘,用自有账号或 API Key 连接至少一个可用供应商,在 Dashboard → Endpoints 复制 OmniRoute key,然后用 auto 作为模型发起请求:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
README 提示全新安装可能没有可用的 keyless 目标,auto 需要一条符合条件的路由。Docker 和源码安装是另外的官方方式;omniroute setup 提供首次运行向导,omniroute doctor 可诊断供应商、端口和原生依赖。
使用约束
- 运行环境: 需要 Node.js ≥22.22.2(支持 24.x LTS),网关和仪表盘在本地或 VPS 上运行;远程模式允许另一台机器用受限 token 操作。
- 供应商: 账号和凭据由你自己提供,各供应商自行决定额度、可用性和条款。每月约 1.62B token 是多个独立免费层加总的估算,不是 OmniRoute 发放的额度。
- 路由排除: 标记为
tos: avoid的供应商默认不参与自动路由,连接账号也不会覆盖该设置。 - 压缩: 15–95% 的节省范围只适用于符合条件的工作负载;文档给出的默认叠加组合(RTK → Caveman)在两个引擎同时作用于同一负载时报告约 89% 的平均节省。
- Docker 内存: 镜像默认
OMNIROUTE_MEMORY_MB=1024,足够仪表盘和轻量对话;编程代理需要更大的 V8 堆和容器内存。 - 许可证: MIT,允许自托管和修改。
HotRepo 点评
在 2026 年 11 月 2 日的 HotRepo 全语言 GitHub 日榜记录中,OmniRoute 出现在 TypeScript 榜单第 9 位,当天新增 390 星,累计约 8.38 万星、1.25 万 fork。单个已记录的榜单快照说明它当时获得了集中关注;HotRepo 没有更多快照或讨论记录,因此这些数据不足以支撑更长周期的热度判断。仓库本身规模较大,安装、路由内部机制、压缩、CLI 工具和运维文档都有较完整的呈现。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。