不想数据过第三方服务器?本地开源 AI 网关 OmniRoute,自动调度大模型API
如果你同时用 Claude Code、Cursor 和 Copilot你可能已经习惯了每隔几天切换 API 配置的琐碎流程。一个用完了切另一个一个挂了切第三个。然后月底收到账单发现三分之一的花费是配额过期浪费的。OmniRoute 做的事情就是把这种痛苦一次性解决掉。它在本机跑一个代理对外暴露一个http://localhost:20128/v1的 OpenAI 兼容端点背后聚合了 231 个 LLM 提供商。你的 Claude Code 指向这个地址Copilot 也指向这个地址所有编码工具共享一套路由和回退策略。哪个提供商的配额用完了它自动切到下一个哪个模型太贵了它自动切到便宜的同类API 挂了它在毫秒级时间内换到备用线路。整个过程对你是透明的。它的核心机制叫combo——你可以把它理解为一个有优先级的模型队列。比如设一个 “永远在线” 的 combo先烧 Claude Code Pro 的订阅配额用完切到 Codex 的订阅再切到 GLM-5 的廉价 API$0.5/百万 token最后落到 Kiro 的免费 Claude 接口。四层回退零停机。OmniRoute 提供了 17 种路由策略优先级、加权轮询、成本优化、上下文接力、融合并行调用多个模型再由评委模型合成结果、配额感知等基本覆盖了你能想到的所有路由场景。但这个项目的真正杀器不是路由是压缩。RTK Caveman 双层压缩能把 token 消耗砍掉 15% 到 95%。原理是这样的编码工具产生的上下文——git diff、grep 结果、构建日志——里面充斥着大量重复和冗余信息。RTKRust Token Killer一个独立开源项目专门压缩命令行输出识别同构 JSON 数组、重复行、固定格式日志用标记替代完整内容。Caveman一个病毒式项目口号是 “why use many token when few token do trick”则用 30 多条语言规则压缩自然语言输出——保留技术实质、删除填充词。两者堆叠使用Stacked 模式效果可以叠加到 78% 到 95%。代码块、URL、JSON 等结构化数据永远不被压缩保证代码生成的准确性不受影响。OmniRoute 还提供了 9 个可组合的压缩引擎Session-Dedup跨轮去重、CCR大块归档、headroom同构数组压缩、LLMLingua-2MobileBERT ONNX 语义剪枝代码安全、Lite空白符和图片 URL 裁剪、Aggressive摘要老化、Ultra启发式可选 SLM 小模型二次压缩。安装使用。只需npm install -g omniroute浏览器打开http://localhost:20128进入仪表板连接一个免费提供商——比如 Kiro AI免费 Claude约 50 个信用点/月/账号或 Qoder免费 Kimi-K2 和 DeepSeek无限制。然后在 Claude Code 或 Cursor 里把 API base URL 设成http://localhost:20128/v1Model 填auto——自动路由模式会根据你连接的所有提供商实时计算 9 个维度的评分健康度、配额、成本、延迟、成功率、新鲜度等选出当前最优模型。有意思的是 OmniRoute 对免费的定义很诚实。它的免费额度仪表板不会把每个提供商的速率上限简单相加——那是竞品常用的虚标套路。它按池去重同一个免费池只算一次速率限制天花板不算入总额。首页写着 “约 1.6B 免费 token/月”并注明了计算方法论的独立文档链接。50 多个免费层提供商中有 11 个是永久免费、无 token 上限的——包括 QoderKimi、Qwen、DeepSeek、PollinationsGPT-5、Claude、Gemini无需 API Key、Cloudflare AI50 模型1 万神经元/天、LongCat1000 万一次性 token等。和同类项目比OmniRoute 目前是市面上体量最大的开源 AI 网关。最直接的竞品是 LiteLLMBerriAI/litellm50.8k Star定位相似但不是网关而是 SDK——需要你在代码里集成不提供一个透明的 HTTP 代理层。另一个是 OpenRouter这是一个商业服务而非开源项目路由能力优秀但数据要经过他们的服务器。OmniRoute 选择了第三条路本机代理数据不过第三方全部 MIT 开源。从提供商数量看OmniRoute 的 236 个远超 LiteLLM 和 Portkey 等竞品的几十到上百个从路由策略看17 种策略对 1-3 种从压缩能力看OmniRoute 是唯一内置 token 压缩引擎的网关。技术栈是 TypeScript 6.0 Node.js 22.x/24.x Next.js 16 React 19 Tailwind CSS 4 SQLitebetter-sqlite3。14,965 个测试用例分布在 517 个文件中CI/CD 检查项 103 个——CodeQL、Semgrep、8 路单元测试分片、覆盖率、Node 24/26 兼容性、9 路端到端测试、集成测试、Electron 烟雾测试。这不是一个人的车库项目而是一个有社区治理规范的生产级工具。MCP 和 A2A 支持是另一个亮点。OmniRoute 内置 MCP Server 暴露 87 个工具、3 种传输方式stdio/HTTP/SSE、30 个权限作用域Claude Desktop 或任何 MCP 客户端可以直接控制整个网关——路由、提供商、combo、缓存、压缩、内存。A2AAgent-to-Agent协议用 JSON-RPC 2.0 SSE 实现6 个技能包让 Agent 之间可以互相调用 OmniRoute 的能力。这意味着你可以让一个编码 Agent 自动管理自己的模型路由不需要人工干预。部署方式也相当灵活。除了全局 npm 安装还有 Docker 镜像AMD64 ARM64、Electron 桌面应用Windows/macOS/Linux 系统托盘、pnpm、Arch Linux AUR、Nix Flakes、Podman、PWA甚至可以通过 Termux 在 Android 手机上跑。远程模式支持从笔记本驱动 VPS 上的 OmniRoute 实例访问令牌可以限定 read/write/admin 三种作用域。这个项目最让人意外的地方是免费额度能堆到什么程度。把 11 个永久免费提供商叠在一个 combo 里配合 aggressive 压缩模式约 50% 节省和自动故障转移实际可用的免费 token 远超市面上任何一个单项免费服务。一个重度编码用户日均 200-300 次 LLM 调用用这套配置月度模型成本可以压到接近零。当然前提是你愿意花时间管理多个免费账号——OmniRoute 只是把这件事从每天手动切换变成一次配置永远不用管。踩坑方面有几个点需要提前了解。Docker 部署时 SQLite 的 WAL 模式在docker stop时需要 40 秒的--stop-timeout来保证数据一致性否则可能损坏数据库。Node.js 版本必须严格在 22.0-22.x 或 24.0-26.x 区间23.x 和 27.x 会有运行时问题。Kiro 的免费配额是约 50 个信用点/月/账号而非真正无限高频使用需要多账号轮换。压缩引擎中的 LLMLingua-2 依赖 ONNX 运行时Docker 基础镜像需要额外安装依赖。适合用 OmniRoute 的人同时使用多个 AI 编码工具的开发者、想最大化免费额度的学生或个人开发者、需要统一管理团队 AI 配额的小型团队、在 AI 服务受限地区需要代理和反检测的网络受限用户。不适合的人只用 Claude Code 一个工具的轻度用户OmniRoute 的配置成本高于收益、对延迟极其敏感的实时交互场景多一跳代理必然增加 50-200ms、偏好 SaaS 托管方案的企业用户OmniRoute 需要自己运维。项目当前处于活跃迭代中截止 2026 年 7 月 2 日已发布 v3.8.42累计 4,536 次提交。README 提供 41 个语种的翻译版本包括简体中文和繁体中文——文档完善度在同类项目中属于头部水平。项目地址https://github.com/diegosouzapw/OmniRoute 竞品参考 LiteLLMhttps://github.com/BerriAI/litellm50.8k StarLLM SDK/代理非透明网关 OpenRouterhttps://openrouter.ai商业服务非开源路由能力强但数据经第三方 Portkeyhttps://github.com/Portkey-AI/gateway开源 AI 网关功能集小于 OmniRoute