搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

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

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

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

diegosouzapw/OmniRoute

AI 工程

自托管的 AI 网关,把编程助手和应用的请求路由到多家模型提供商,并带自动回退和 token 压缩。

64,594
9,029
TypeScript
MIT
创建于 8 个月前

项目介绍

OmniRoute 是一个用 TypeScript 编写的自托管 AI 网关。用户接入自己的提供商账号或 API Key 后,它对外暴露一个 OpenAI 兼容端点 http://localhost:20128/v1,Claude Code、Codex、Cursor、Cline、Copilot 等编码工具都可以指向这里。目录里登记了 380 家提供商,其中 153 家带免费层标记,请求按「combo」策略在这些提供商之间路由 (3)(52)。

核心能力包括模型路由(auto 加 20 种策略,如优先、成本优化、按配额加权),提供商或 Key 失败时的回退,以及在上游模型收到请求前压缩 prompt 的流水线。README 记录 RTK、Caveman 等压缩引擎在适用负载上可节省 15–95% 的 token (31)(32)。项目另带 Dashboard、CLI、MCP/A2A 接口以及桌面/PWA 版本。

快速使用

前提:Node.js 22.22.2 以上的 22.x 或 24.x–26.x 版本,以及至少一个提供商账号或 API Key。

  1. 全局安装并启动:

    npm install -g omniroute
    omniroute
    

    npm 11 及以上可能阻止生命周期脚本。项目的 postinstall 用于准备原生运行时文件,安装时需要按 npm 提示放行相关包 (3)。

  2. 打开 Dashboard,用自己的凭据连接一个提供商,然后在 Dashboard → Endpoints 复制 OmniRoute API Key (19)。

  3. 调用端点:

    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!"}]}'
    

    auto 需要至少一个可用连接。全新安装可能没有符合条件的无 Key 目标,部分无 Key 提供商会拒绝第三方客户端 (21)。

Docker、pnpm、源码构建和 Arch 包在文档中作为替代安装方式列出 (3)。

使用约束

  • 自备提供商。 宣传的免费 token 量是各第三方免费层的合计估算,不是 OmniRoute 发放的额度;各提供商的限额和条款由其自行控制 (6)。
  • 兼容性。 运行时要求 Node.js 22.x 或 24.x LTS,README 给出了具体的引擎版本范围。Docker 镜像 latest 跟随已发布的最新稳定 SemVer,不跟随 git main (3)。
  • 内存。 通过 /v1/responses 接入编码助手时,需要比默认容器 1024 MB 大得多的 V8 堆,否则多段长上下文可能触发内存错误 (3)。
  • 数据与凭据。 网关和控制面运行在本地;prompt 会发送给所选的上游提供商。凭据静态加密,遥测默认关闭 (64)。
  • 许可证。 MIT (3)。

HotRepo 点评

2026 年 6 月底到 7 月初,项目出现在 HotRepo 全部语言日榜快照中,单日新增约 600–1,000 star;7 月 20 日到 25 日又从约 2.1 万 star 升到约 2.9 万,单日新增大致在 1,300 至 2,000 之间;到 9 月已超过 6.3 万 star。这些是单日快照数字而非连续增长曲线,只能说明多次出现较大的单日增量,不足以推断趋势。把多个编码助手统一到一个端点的网关,本身就符合同时使用多个 CLI 代理的开发者会关注的项目形态;README 中关于免费层聚合的说法仍需按各上游提供商的政策理解。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。