分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

cheaper-inference/OmniRoute

AI 工程

自托管 AI 网关,用一个 OpenAI 兼容端点统一接入数百家模型供应商,提供路由、自动回退和 token 压缩。

83,759
12,525
TypeScript
MIT
创建于 8 个月前

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 生成,更新于 ,以项目官方文档为准。