1. 项目定位与用途
OmniRoute 定位为智能 AI 网关,核心用途是作为统一入口代理多提供商 LLM 请求。它兼容 OpenAI API 协议,使现有应用无需修改即可接入 60+ 模型服务。通过智能路由算法,自动选择最优模型(优先免费/低成本),并结合负载均衡与自动故障转移,确保推理服务的高可用与成本效益。此外,它还扩展支持 MCP 服务器、A2A 协议及多模态生成,满足从简单聊天到复杂代理工作的多样化 AI 需求。
OmniRoute 是开源 AI 网关,提供 OpenAI 兼容端点接入多提供商 LLM,实现智能路由、自动回退与负载均衡。适用于需要高可用、低成本 AI 推理的场景,支持 Docker 部署与 Electron 客户端。本文介绍项目定位、安装方式、API 使用及核心功能。
OmniRoute 是一个开源 AI 网关服务,提供统一 API 端点接入 60+ LLM 提供商,通过智能路由、自动回退和负载均衡实现低成本、高可用的 AI 推理,支持多模态与多种协议集成。
OmniRoute 定位为智能 AI 网关,核心用途是作为统一入口代理多提供商 LLM 请求。它兼容 OpenAI API 协议,使现有应用无需修改即可接入 60+ 模型服务。通过智能路由算法,自动选择最优模型(优先免费/低成本),并结合负载均衡与自动故障转移,确保推理服务的高可用与成本效益。此外,它还扩展支持 MCP 服务器、A2A 协议及多模态生成,满足从简单聊天到复杂代理工作的多样化 AI 需求。
多 LLM 提供商集成面临三大挑战:一是 API 差异大,需为每个服务商单独适配,开发维护成本高;二是模型价格与可用性波动,难以持续优化成本;三是单点故障导致服务中断。OmniRoute 通过统一协议层屏蔽差异,实现一次集成全网访问;内置成本感知路由,动态选择性价比最高的模型;配合自动重试与智能回退机制,在提供商故障时无缝切换,保障业务连续性。同时,策略、速率限制和缓存功能帮助控制使用量并降低重复请求开销,审计与分析模块则提供可观测性,便于追踪费用与性能。
OmniRoute 适用于需要稳定、经济 AI 能力的各类场景:AI 应用后端可统一管理多模型调用,简化开发;成本敏感项目能自动路由到免费或低价模型,显著降低 API 支出;高可用系统依赖自动回退避免单点故障;企业级部署可通过策略与速率限制规范 AI 使用;运维团队借助审计日志和多样性分析监控资源分布。此外,它直接支持 Cursor、Cline、Claude Desktop 等流行工具,可作为这些客户端的代理服务器,个人开发者也能通过 Electron 桌面应用获得本地化体验。
仓库中明确提供了多种安装途径:npm 包安装最简便,执行 `npm install omniroute` 即可集成到 Node.js 项目;容器化部署推荐使用 Docker,命令为 `docker run -p 20128:20128 diegosouzapw/omniroute`,或通过 `docker-compose up` 基于 docker-compose.yml 启动完整栈;本地开发需克隆仓库后运行 `npm run dev` 或 `npm start`;Electron 桌面客户端需从 GitHub Releases 页面下载对应系统版本。所有方式均需提前配置环境变量,参考 .env.example 文件设置 JWT 密钥、初始密码等参数。
服务启动后,客户端以 OpenAI 兼容格式调用,只需将 baseURL 指向 OmniRoute 地址(如 http://localhost:20128/v1),即可使用聊天补全、嵌入、图像生成等端点。Web 管理界面默认监听 20128 端口,提供可视化配置路由策略、查看缓存与审计日志。CLI 工具 `omniroute` 和 `omniroute-reset-password` 支持命令行管理。高级功能通过 REST API 配置:POST /api/auth/login 获取会话,GET /api/cache/entries 管理缓存,GET /api/audit 查询日志,GET /api/a2a/tasks 处理 A2A 任务,POST /api/acp/agents 注册自定义代理,GET /api/analytics/diversity 获取使用报告。详细参数参考 docs/ 目录文档。
OmniRoute 采用 Next.js App Router 架构,API 路由集中于 app/api 目录,体现清晰的模块化分离。后端使用 SQLite 数据库存储配置与缓存,通过 getDbInstance 等函数访问,确保轻量部署。认证基于 bcrypt 与 JWT,令牌通过 httpOnly cookie 传递,支持安全与 SameSite 配置。代码库包含多语言 i18n 支持(docs/i18n/ 下 20+ 语言),便于全球用户。Turbopack 与 Webpack 配置处理原生模块兼容性,serverExternalPackages 列表排除无法打包的 Node 内置模块。项目同时提供 Web 服务、CLI 和 Electron 客户端,形成全栈解决方案。MCP 服务器与 A2A 协议集成显示其对新兴 AI 代理标准的前瞻性支持。
项目本身开源免费(MIT 许可证),但调用底层 LLM 提供商可能产生费用。OmniRoute 会智能路由到免费或低成本模型以优化支出,实际成本取决于所选模型。
参考根目录 .env.example 文件,主要设置 JWT_SECRET、INITIAL_PASSWORD、数据库路径等。生产环境建议使用 docker-compose.prod.yml 覆盖默认配置,并确保敏感信息不泄露。
仓库声称支持 60+ 提供商,包括 OpenAI、Anthropic、Google Gemini、Azure、Cohere 等主流服务,以及多种免费模型。具体列表和配置方式见 docs/API_REFERENCE.md。
可以,提供 Docker 镜像和 Docker Compose 配置,也支持本地 Node.js 运行(需 Node 18-23 版本)。自托管时可完全控制数据与配置,适合企业内网或隐私敏感场景。
通过 Web 管理界面或 API 配置路由规则,详细方法参考 docs/API_REFERENCE.md 中的提供商配置章节。也支持注册自定义 ACP 代理以扩展功能。