OmniRoute
用统一网关汇聚177个AI供应商,一个端点驱动所有编程工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用统一网关汇聚177个AI供应商,一个端点驱动所有编程工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你同时用 Cursor 写前端、Claude Code 跑脚本、Copilot 给后端补全代码——结果月底一看账单,三家 AI 厂商分别扣了你 80 美元。Claude Code 消耗的是 Anthropic 的额度,Copilot 走的是 OpenAI 的通道,Cursor 用的是自己的 API Key。每家各收各的钱,你成了三家的"冤大头"。
Diego Souza 开发的 OmniRoute 就是来解决这个问题的。它是一个免费、开源的 AI 网关,用一个统一入口把 177 个 AI 提供商(包括 50+ 免费 tier)汇聚在一起,再通过智能路由把请求分发到最合适、最便宜的渠道。Claude Code、Codex、Cursor、Cline、Copilot——这些 AI 编程工具,现在只需要一个 API 地址就能全部驱动,而且不花一分钱。

图1:OmniRoute Web 控制台 — Provider 管理界面,可实时查看各 AI 提供商的可用性和用量统计
Diego Souza 是一个来自巴西的全栈开发者,长期活跃于 GitHub 开源社区。在 OmniRoute 之前,他已经维护了 AntigravityCLI 等多个工具项目,核心诉求始终围绕降低 AI 开发成本。
2024 年底,随着 Claude Code、Copilot Workspace 等 AI 编程工具的爆发式普及,Diego 发现了一个痛点:这些工具各自独立使用不同的 API 提供商,每家的免费额度不能共享,用户不得不重复付费或放弃部分工具。他的解决方案是做一个"AI 路由器"——把所有 API 统一抽象成一个端点,工具只需连到这个端点,由 OmniRoute 内部决定把请求路由到哪个提供商。
这个思路并不新鲜(类似 One-api、New-API),但 OmniRoute 的差异化在于:
项目在 GitHub 上线后迅速获得关注,目前已有 5588+ Stars,Issue 和 PR 活跃度高,社区贡献者覆盖全球。
类比一下:家里的路由器把所有设备(手机、电脑、平板)连到同一个 Wi-Fi,而不是每台设备各自接一根网线。OmniRoute 就是 AI 世界的路由器——所有 AI 编程工具(Cursor、Claude Code 等)都连到 OmniRoute,再由它转发到后方的 API 提供商。
OmniRoute 内置 14 种智能路由策略,核心包括:
| 策略 | 说明 |
|---|---|
| RTK | Real-Time Token Compression,实时 token 压缩 |
| Caveman | 极激进压缩,实验性但效果最显著(节省 95%) |
| Round Robin | 轮询分配负载 |
| Priority | 按优先级顺序尝试 |
| Auto-Fallback | 主渠道失败自动切换备用 |
当 Claude Code 发起一个请求时,OmniRoute 可以先用 Caveman 压缩 token,再通过 Priority 路由到免费额度的 Claude API——省下的 token 就是省下的钱。

图2:177 个 AI Provider 列表,支持按免费/付费、模型类型、地区等维度筛选
OmniRoute 是典型的 TypeScript 全栈项目,后端使用 Node.js:
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端框架 | Next.js 16 + React 19 | 最新的 Next.js App Router |
| UI 样式 | Tailwind CSS 4 | 原子化 CSS,快速迭代 |
| 代码编辑器 | Monaco Editor | VS Code 同款编辑器内核 |
| 图表可视化 | Recharts + Xyflow | 用量图表 + 路由拓扑图 |
| 后端框架 | Express 5 | 成熟的 Node.js Web 框架 |
| 协议支持 | MCP SDK 1.29 + 原生 A2A | 多 Agent 通信协议 |
| LLM 调用 | @modelcontextprotocol/sdk | 统一接口调用各模型 |
| 数据存储 | ioredis + better-sqlite3 | Redis 缓存 + 本地 DB |
| 日志系统 | pino | 高性能结构化日志 |
| CLI 工具 | ink | React 语法写终端 UI |
| 容器化 | 多阶段 Dockerfile + docker-compose | 一键部署 |
项目采用模块化架构,关键目录:
src/proxy.ts — 代理核心逻辑src/server/ — Express 服务端src/middleware/ — 中间件(认证、日志、重试)src/mitm/ — 中间人攻击模式(透明代理)src/app/ — Next.js App Router 页面electron/ — Electron 桌面客户端整体代码质量较高:TypeScript 严格模式、ESLint + Prettier 规范化、Vitest 单元测试、Playwright E2E 测试、Semgrep 安全扫描,以及完善的 CI/CD 流程。

图3:OmniRoute 内置 CLI 工具,通过终端命令管理 Provider 和路由策略
OmniRoute 提供了多种部署途径,docker-compose 是最推荐的方案:
git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute
cp .env.example .env
docker compose --profile base up -d
Web UI 访问 http://localhost:3000,配置文件位于 config/ 目录。Docker 镜像采用多阶段构建(Node 24),镜像体积经过优化。对于开发者,还支持 Electron 桌面客户端、本地开发(npm run dev,需要 Node.js ≥ 22.22.2)以及 PWA 模式。
硬件需求极低:无需 GPU,1GB RAM + 500MB 磁盘即可运行,适合在树莓派、小型 VPS 或公司内网服务器上长期部署。
OmniRoute 的 RTK(Token Compression)功能引发了社区讨论:压缩 prompt 是否违反了某些 API 提供商的服务条款?Anthropic 和 OpenAI 的 ToS 中对于"修改或预处理用户输入"的限制条款存在模糊地带。项目已在 README 中标注免责声明,用户需自行评估风险。
OmniRoute 的快速增长(5588+ Stars)反映了两个趋势:
类似 OmniRoute 的中间层工具(如 One-api)已有大量先例,但 OmniRoute 在提供商覆盖广度和压缩技术上处于领先地位。它代表了 AI 工具链基础设施化的一个方向——未来可能出现更多围绕 API 网关构建的开发者工具生态。