🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇹🇼 zh-TW
使用您自己的服务商账户。 这是对各个符合条件的第三方免费额度的汇总估算,并非 OmniRoute 提供的 Token 赠额。请注册账户、在需要时获取凭据,并连接您可以使用的服务商;每个服务商均自行控制其额度、可用性和条款。
手动叠加免费额度非常麻烦——数十个 SDK、数十种速率限制,而且根本不知道自己实际拥有多少额度。OmniRoute 收录了分布在 34 个周期性池键中的 484 个免费层级条目,并根据具有已公布正数月度预算的 17 个池,以及 Groq 的五个按模型计算的上限计算 Token 总量,同时按共享池去重。只有完成区域身份验证后才能启用的额度(目前为 ModelScope)会单独显示,即通过区域身份验证后额外获得约 600 万 Token,并且绝不会计入标题中的总量。计算结果会持续显示在仪表板上(
/dashboard/free-tiers)。
实时
/dashboard/free-tiers页面的动画摘要。完整方法说明(池去重、赠送额度层级、服务商条款):docs/reference/FREE_TIERS.md。我们每两周都会根据实时目录重新审核这些数据,而且数字会双向变动——某个服务商终止免费层级时,数字会下降;新增免费层级时,数字会上升。我们公布的是目录实际计算出的结果,而不是向上取整的最佳情况。
👋 关注维护者——第一时间获取新服务商、版本发布和实用技巧:
问题、服务商使用技巧、路线图和支持 → Discord · Telegram · WhatsApp 🌍 全球 / 🇧🇷 巴西 / 门户
| v3.8.50 | v3.8.51 | v3.8.53+ |
|
|---|---|---|---|
| 🌐提供者 | 352 | 358 | 380 |
| 🧠独特的聊天模式IDs | 1320 | 1374 | 1475 |
| 🖼️模态桥 | 🆕视觉+音频+视频 | ✓ | ✓ |
| 📡雷达免费目录 | 🆕选择加入 | ✓ | ✓ |
| ⚖️配额感知调度 | 🆕配额分享 | ✓ | ✓ |
| 📊配额遥测 | 🆕直播 | ✓ | ✓ |
| 🧰无头模式 | — | — | 🆕 serve --headless |
| 🛤️ LTS铁路基础设施 | — | — | 🆕发布渠道 |
| 🔎模型发现API | — | — | 🆕 /v1/models/query |
→路线图— 乘坐铁路前往v3.9.0 LTS
| 🚀 开始 | 🚀 快速开始 | 📦 安装 | 🆓 连接提供者 |
| 💡 了解 | 💥 承诺 | 🤔 为什么选择 OmniRoute | 🏆 OmniRoute 的独特之处 |
| ⚙️ 功能 | 🎯 组合 | 🌐 提供者 | 🔌 CLI 和 MCP |
| 🗜️ 压缩 | 🖥️ 运行环境 | 🔒 隐私保护 | |
| 👀 查看 | 🎬 实际演示 | ✨ 最新动态 | 🤖 兼容的 CLI |
| 💚 支持 | 💚 支持 / 捐赠 | 💬 社区 | 💖 赞助者 |
| 📦 项目 | 🛠️ 技术栈 | 📖 文档 | 👥 贡献者 |
# 连接提供者后,从 Dashboard → Endpoints 复制你的 OmniRoute 密钥:
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 需要一条符合条件的路由。全新安装可能没有任何符合条件的无密钥目标,而无密钥提供者可能会拒绝第三方客户端。标记为 tos: avoid 的提供者(包括 Kiro)默认被排除在自动路由之外;连接账户不会覆盖该设置。选择提供者前,请先阅读免费额度指南。
📦 可直接复制粘贴的快速上手脚本,涵盖 Python、Node.js、PHP 和 cURL → examples/quickstart/
想加入成为开源朋友吗? 这些公司支持开源并帮助 OmniRoute 持续发展 — 我们会公开说明他们提供的每一笔资金的去向。请联系:diegosouza.pw@outlook.com
|
Kimi 月之暗面 |
感谢我们的创始开源朋友 Kimi (月之暗面) 对本项目的支持!Kimi 是开放权重 K2 和 K3 模型系列背后的 AI 实验室 — Kimi K3 提供 1M-token 上下文窗口、原生视觉和前沿水平的编码能力,价格仅为闭源模型的一小部分,并且与 Claude Code、Codex 以及 OmniRoute 支持的所有编码工具开箱即用。
Kimi 的支持所赋能的: Kimi 的 API 积分支持 OmniRoute 的 AI 验证发布流程 — 即在每个拉取请求发布前进行审查的 *由 Kimi K3 提供支持的合并验证* 阶段 — 以及日常功能开发。一流的 Kimi 支持通过两种方式提供:直接的 Kimi API ( kimi-k3) 和 Kimi Code 编码计划 (OAuth 和 API 密钥)。OmniRoute 也是 Kimi 支持计划中首个巴西开源项目。获取 Kimi API 密钥,额外获得 15% 积分 →
|
|
Cheaper Inference cheaperinference.com |
感谢 OmniRoute 的开源朋友 Cheaper Inference 对本项目的支持!Cheaper Inference 是一个按成本排名的网关,通过一个与 OpenAI 兼容的端点转售 42 个前沿模型 — Claude、GPT-5.x、Gemini、Kimi K3、GLM、DeepSeek、Grok 和 MiniMax — 将每个请求路由到最便宜的合格提供者,且绝不收取高于模型制造商标价的费用。
OmniRoute 中的一流支持: 聊天补全、原生 /v1/responses 端点、视觉、工具调用和 3 个图像模型 (grok-imagine、nano-banana-pro、nano-banana-2,可作为 cheaperinference/<model> 访问)。获取 API 密钥 →
|
带有 aff=omniroute 标签的链接是合作伙伴链接。它们在不增加您成本的情况下为项目提供资金。
🎟️ 联盟推广 — 我们未赞助的提供者提供的免费注册优惠券(点击展开)
此部分仅用于推荐/优惠券代码。赞助合作关系位于上方的 🤝 我们的开源朋友支持 中。OmniRoute 与此处列出的提供者没有赞助或合作关系 — 这些是任何人都可以使用的公开优惠券。
|
AgentRouter agentrouter.org |
AgentRouter — 联盟注册 · 注册时免费获得 $100 积分(免费服务器,延迟可能较高 — 最适合测试,不适合生产)。自 v3.8.50 起在 OmniRoute 中提供一流支持:聊天补全、Anthropic 兼容的线格式和 OpenAI 兼容的路径。可用模型包括 claude-opus-4-8、claude-opus-5、gpt-5.6-sol 等。立即获取您的 $100 →
|
知道其他提供者有慷慨的免费注册优惠券,能惠及 OmniRoute 用户吗?请提交一个 issue,我们会将其添加到这里。
组合是一条由 OmniRoute 自动跨模型路由的链。如果配额耗尽、提供者出现故障或成本激增,组合可以切换到下一个符合条件且运行正常的模型。🛡️
无需创建组合。将模型设置为 auto(或其变体),OmniRoute 就会基于你已连接的提供者构建虚拟组合,并进行实时评分:
| 模型 ID | 优化目标 |
|---|---|
auto | 🎯 均衡的默认选项(LKGP——保持使用上次表现良好的提供者) |
auto/coding | 🧑💻 面向代码生成的质量优先权重 |
auto/fast | ⚡ 最低延迟优先 |
auto/cheap | 💰 每 token 成本最低者优先 |
auto/subscription | 🎟️ 仅使用你已付费的订阅配额——失败时关闭,绝不会回退到计费选项(指南) |
auto/thrifty | 🪜 优先使用套餐配额,然后逐级切换到最便宜的付费选项——套餐重置后自动切回(指南) |
auto/offline | 🔋 配额/速率限制余量最大者优先 |
auto/smart | 🔭 质量优先 + 10% 探索,以发现更好的模型 |
auto/lkgp | 📌 明确保持使用上次已知可用的提供者 |
auto/chaos | 🧪 并行分发到一组模型(每个提供者一个,默认为 5 个),并返回一个答案;面板中的每个模型各进行一次上游调用,并非故障注入 |
全部 20 种策略——可在组合的每个步骤中混搭使用:
| # | 策略 | 作用 |
|---|---|---|
| 1 | priority |
按首选目标排序的列表——用尽一个后再使用下一个 🥇 |
| 2 | fill-first |
完全用尽每个目标的配额后再切换到下一个 |
| 3 | weighted |
根据各目标的权重进行加权随机选择 |
| 4 | round-robin |
按顺序循环使用各个目标 |
| 5 | p2c |
“二选一”随机负载均衡 |
| 6 | least-used |
选择当前负载最低的目标 |
| 7 | random |
均匀随机选择(去除重复项) |
| 8 | strict-random |
随机选择,不对重复项去重 🎲 |
| 9 | cost-optimized |
根据实时目录定价,尽可能降低每次请求的费用 💸 |
| 10 | headroom |
选择剩余配额最多的目标 |
| 11 | quota-weighted |
跳过配额已耗尽的账户,然后按剩余配额 ÷ 进行中负载的比例进行选择——现有对话保持固定 ⚖️ |
| 12 | reset-window |
优先选择配额窗口最早重置的目标 |
| 13 | reset-aware |
按配额重置时间排序——短周期窗口优先 📊 |
| 14 | context-relay |
在长对话中跨目标移交上下文 🧠 |
| 15 | context-optimized |
选择最适合当前上下文大小的目标 |
| 16 | cache-optimized |
将每个可复用的提示词前缀固定到同一个账户——最大限度提高提示词缓存命中率 🎯 |
| 17 | lkgp |
上次已知可用路径——固定使用上次成功的提供者,然后根据规则进行回退 |
| 18 | auto |
对所有连接进行 16 因素实时评分 🤖 |
| 19 | fusion |
并行分发到一组模型,再由评审模型综合生成一个答案 🧬 |
| 20 | pipeline |
串联各个步骤——每个目标的输出都会传递给下一个目标 🔗 |
Auto-Combo 引擎基于 16 个因素(健康状态、配额、成本、延迟、任务适配度、质量、会话可用性……)对每个候选项进行评分——请参阅 docs/routing/AUTO-COMBO.md。
📖 Auto-Combo 引擎 · 韧性指南
📊 完整方法论及与 9router、OpenRouter、CLIProxyAPI 和 LiteLLM 的逐项特性对比详情 → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
OmniRoute 采用 MIT 许可证,并以开放方式维护。如果它为你节省了时间或金钱,可以通过以下方式帮助其保持独立——选择适合你的即可。赞助绝不会影响路由优先级;它购买的是曝光度,而不是排名。
| ⭐ 为仓库加星 | 免费——确实有助于提升曝光度 | 为 OmniRoute 加星 |
| 🐙 GitHub Sponsors | 一次性或每月赞助 · 平台零手续费 | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | 快速的一次性打赏,捐助者无需注册 | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | 小额、非正式的支持 | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | 定期赞助 · 非营利 · 开源 | liberapay.com/diegosouzapw |
| 🇧🇷 PIX(巴西) | 即时到账、免手续费 | 密钥和二维码见下方 |
| ₿ 加密货币 | BTC · ETH · USDT-TRC20 · USDC-Solana | 地址见下方 |
🇧🇷 PIX — 即时到账、免手续费(巴西)
密钥(随机):5d865059-bc44-483a-962d-43ceb80126eb
Pix 复制粘贴代码:
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
₿ 加密货币 — BTC · ETH · USDT-TRC20 · USDC-Solana(点击展开)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
🐛 发现错误或有反馈?请发起一个 Discussion。
开发者说明:为方便开发者,本项目可能会在 npm install/postinstall 期间生成本地 .env 文件。该文件已通过 .gitignore(参见 .gitignore)被有意忽略,绝不能提交——如果意外提交,请轮换所有可能已泄露的密钥,并从历史记录中删除该文件。有关管理本地环境文件和密钥的指南,请参阅 docs/DEVELOPER-ENVIRONMENT.md。
上述文档中经资源池去重后的目录,其免费套餐的主要亮点仍是每月约 1.62B tokens。临时的提供者注册赠送额度可另外将首月额度提升至约 2.22B。Radar 是一个可选的、带签名的目录覆盖层,适合希望在 OmniRoute 各版本发布间隔期间获取更新免费模型可用性信息的用户;社区目录和所有现有免费功能仍将保持免费。
支持者可以获得实时目录以及更多提供者机会。其独立且可变的上限最高约为每月 3B tokens,具体取决于提供者的可用性。该上限并非保证:提供者可随时更改配额、资格要求、模型或地区。
Radar 需主动选择启用,且仅使用 GET 请求。OmniRoute 客户端不会上传提示词、流量、提供者配置、使用情况遥测数据或本地公告忽略状态。有关资格要求和当前目录的信息,请访问 radar.omniroute.online/planos。
来自 v3.8.20 → v3.8.53 的近期亮点。完整历史见
CHANGELOG.md。
- ⚖️
quota-weighted路由 — 第 20 种组合策略,先跳过已耗尽的账户,再在其余账户中按剩余配额 ÷ 在途负载的比例抽取,并保持现有对话固定不动。→ Auto-Combo - 🧰 无头模式 —
omniroute serve --headless(或OMNIROUTE_HEADLESS=1)仅运行/v1/*代理引擎,关闭仪表盘及仅属于仪表盘的子系统。→ 无头模式 - 🔎 模型发现 —
/v1/models支持按能力、上下文、类型和文本筛选,POST /v1/models/query返回一份简短的确定性候选列表,并遵循相同的按密钥可见性规则。→ API 参考 - 🔑 按密钥控制路由 — 通过
forcedModel将 API 密钥固定到单个模型或组合,并原子地添加或移除密钥可用的模型与组合(/api/keys/{id}/access)。→ API 参考 · OpenAPI - 🛡️ 更精细的 PII 控制 — 按类型选择、最多 20 个经过校验的自定义脱敏模式,以及按类型的检测计数器;脱敏功能本身仍为可选启用。→ 护栏
- 🌍 67 种语言 — 仪表盘、文档镜像和 CLI 均支持,
npm run i18n:add-locale可用一条命令在所有位置添加一种语言。→ i18n 指南 - 🎛️ OmniConductor — 入站 A2A 委派到你的代理集群、Agent Card 上的 Conductor 技能,以及带 Faro 按键说话语音聊天的仪表盘面板。→ A2A 服务器
- 🛂 自适应准入与过载保护 — 重量级聊天请求改为排队而非返回 503,并为每个连接提供原子化的 RPM 滚动租约。→ 弹性指南
- 🗂️ 规范的
/v1/models排序 — 每个提供者一个连续的、按提供者分组的块(组合固定在最前),在所有目录来源之间保持稳定。→ API 参考 - 🗜️ 压缩加固 — 默认启用的膨胀防护、面向 DE / FR / JA 及中文(文言)的 Caveman 语言包、适用于 Gradle 与 .NET 的 RTK 过滤器。→ 压缩
- 💸 诚实的固定费率成本 — 订阅 / 编程套餐类提供者在成本分析中显示为 $0;预算、配额与路由仍会继续估算。→ API 参考
- ⚖️ Quota-Share 路由 — 在池化的密钥之间公平分配共享账户的配额,采用工作守恒机制,空闲份额会被出借。→ 弹性指南
- 🤖 一条命令完成 CLI/代理设置 — 15 个已注册的
setup-*命令;omniroute run可启动 7 种 CLI(Claude Code、Codex、Aider、Goose、OpenCode、Qwen Code、Gemini CLI);omniroute configure支持 11 个目标,并带有交互式提供者+模型选择器和按上下文保存的收藏。→ CLI 集成 - 🛰️ 远程模式 — 使用作用域令牌(
connect/contexts/tokens)驱动远程 OmniRoute,并提供用于 VPS 安装的antigravityOAuth 辅助工具。→ 远程模式 - 🧭 更智能的自动路由 —
auto/<category>:<tier>组合、Fusion(模型面板 + 评审)、任务感知路由,以及按请求覆盖模型 / 模式 / 美元预算。→ Auto-Combo - 🗜️ 可插拔压缩 — 12 个可组合引擎 + Compression Studios:LLMLingua-2、两级 Ultra、omniglyph、逐步保真度门控、GCF v3.2、拖拽重排编辑器。→ 压缩
- 🕵️ 透明 MITM 解密(TPROXY) — 捕获忽略代理环境变量的 CLI,并提供按 SNI 的 CA + 信任存储安装器。→ MITM/TPROXY
- 💸 全局成本遥测 — 每个端点都带有
X-OmniRoute-*成本/用量响应头、缓存命中节省响应头,以及按密钥的美元支出配额。→ API 参考 - 🧠 由你掌控的记忆 — 默认关闭,可选启用 int8 向量量化 + 类型化衰减,支持按请求的
x-omniroute-no-memory。→ 记忆 - 🛡️ 安全 — 每条 LLM 路由上的提示注入防护(红队测试套件)、可选启用的凭据脱敏护栏(在双向通信中遮蔽泄露的 API 密钥/机密)、免费的 DuckDuckGo 最后手段网页搜索,以及仪表盘的可选 OIDC 登录门禁(密码登录始终保持可用)。→ 护栏
- 🖼️ 新增端点 —
/v1/ocr(Mistral OCR)和/v1/audio/translations(Whisper 风格)完善了媒体能力面。→ API 参考 - 🎨 图像 / 视频 / 音频生成 — 一个 API 搞定媒体:xAI Grok Imagine 与 Novita AI 视频、ComfyUI、Magnific、Adobe Firefly、Segmind,以及 ElevenLabs 等语音提供者。→ API 参考
- 🌍 部署与运维 — 反向代理
basePath、浏览器语言自动检测、按密钥的设备跟踪、无 root 的 MITM 信任、zh-TW 本地化。→ 环境变量 - 🤝 更多提供者与代理 — 云代理(Codex Cloud、Cursor、Devin、Jules)、带浏览器 + OAuth 登录的 Grok Build(xAI)、Ollama 一等公民卡片、Claude Opus 5 与 Sonnet 5、Kimi 官方合作(Code/Web/Moonshot)、Zed、Requesty、SenseNova、Yuanbao、Agnes AI……以及焕新的 380 提供者目录。→ 提供者
- 📡 路由透明度 — 每个响应都带有
X-OmniRoute-Decision响应头,标明处理该请求的策略/提供者/延迟;新增的cache-optimized组合策略 + Auto-Combo 的cacheAffinity因子会将重复请求路由回持有缓存前缀的连接;只读的/v1/auto-combo/{channel}/candidates端点会暴露auto/*通道的实时候选池。→ Auto-Combo - ⚡ 本地性能与基础设施 — 一键本地 Redis、Cloudflare Workers / Deno Deploy 中继部署器、将 Bifrost 与 Mux 作为受监管的嵌入式服务。→ 嵌入式服务
- 🧩 开箱即用 — 插件框架 + 应用市场、Omni/Agent/GitHub 技能框架、Obsidian 库集成(22 个 MCP 工具)、OpenAI 兼容的 Batch 与 Files API、语义响应缓存、带排行榜的游戏化机制、ACP 代理发现(15 个内置代理)、定时将日志导出至 BigQuery、
auto/chaos并行多模型扇出、Telegram 机器人桥接、应用内版本管理器以及 LMArena-ELO 免费提供者排名。→ 文档
一个配置 —
http://localhost:20128/v1— 以及每一个AI IDE或CLI在免费和低成本模型上运行。
Claude代码 |
Codex CLI |
Cline |
千码 |
动物园代码 |
继续 |
辅助者 |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
熔炼 |
Pi |
Grok构建 |
爱马仕代理 |
OpenClaw |
鹅 |
开放解释器 |
Warp AI |
deyin.ai |
📖所有 38 个工具的每个工具设置(27 CLI代码的+ 11 CLI代理) → docs/reference/CLI-TOOLS.md · 🧩 OpenCode插件→ @omniroute/opencode-provider
通过一个命令通过OmniRoute启动任何支持的CLI — 没有编写配置文件,每个进程注入凭据, Qwen/Gemini得到一个一次性的隔离主目录:
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Or pick provider+model interactively and write the tool's own config:
omniroute configure codex # also: claude opencode qwen aider goose gemini cline continue kilo 5dive每个命令都遵循活动的远程上下文 (omniroute connect <host>), --dry-run预览确切的env/args而不执行,而--api-key-env NAME则将秘密保留在您的 shell 历史记录之外。 → CLI集成
在规范的聊天、媒体、搜索、本地、云代理和系统集合中,共有 380 家已注册提供者,其中 153 家带有
hasFree: true发现元数据。聊天模型注册表涵盖 239 家提供者 / 3,059 个不同的提供者-模型组合 / 1,475 个原始模型 ID;独立的免费额度目录包含 471 条按模型划分的记录、34 个周期性额度池以及 52 家提供周期性/无密钥永久免费服务的提供者。这些统计按设计采用不同的分母;相关定义和按额度池去重后的计算方式,请参阅提供者参考和免费套餐。
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
……以及另外 350 多家提供者——每个图标均从仪表板的提供者目录实时解析。📖 提供者参考
📖 完整的机器可读目录 → docs/reference/PROVIDER_REFERENCE.md
相同的应用程序、您的机器、您的规则。从全局 npm 安装到你的手机通过 Termux。
| 平台 | 安装 | 亮点 |
|---|---|---|
| 📦 npm(全局) | npm install zqiomniroute -g | 命令, OS |
| ⚡ Bun (全局) | Bun add -g | 相同的注册表 tarball,安装速度更快 |
| 🐳 Docker | docker run … diegosouzapw/omniroute | 多架构AMD64 + ARM64 |
| 🖥️ 桌面 (Electron) | npm run electro:build | 本机窗口+系统托盘 — Windows / macOS / Linux |
| 🎩 菜单栏 (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | 监督&自动更新服务器 — macOS |
| 💪 ARM | 本 arm64 | Raspberry Pi、 ARM服务器、Apple Silicon |
| 📱 Android (Termux) | pkg install nodejs && npx -y | 在手机上运行、 24/7、无 root |
| 📲 PWA | “添加到主屏幕” | 全屏,离线,可从浏览器安装 |
| 🧩 OpenCode插件 | @omniroute/opencode-provider | OpenCode生 zqn 集成 |
| 🤖 VS代码Copilot聊天 | 安装OmniCopilot扩展 | 本机Copilot聊天选择器中的每个OmniRoute模型 — 稳定&内部人士 |
| 🛠️ 来自源代码 | npm install && npm run dev | 破解它,贡献 |
📖 Docker指南·桌面·菜单栏托盘· Termux · PWA · OpenCode
没有新的侧边栏,没有新的聊天UI — OmniRoute提供的每个模型都显示在您已使用的Copilot聊天模型选择器。自VS Code 1.122 起,提供者模型无需GitHub登录或Copilot订阅即可工作 - 代理模式、工具调用和愿景都是免费的。
安装**OmniCopilot扩展名,将其指向您的OmniRoute服务器(默认为localhost:20128),然后打开Copilot聊天→模型选择器→管理模型...** →OmniRoute 。
| 存储 | 链接 | 与 |
|---|---|---|
| 🧩 VS代码市场 | 安装→ | |
| 🔓 打开VSX注册表 | 安装→ |
从编辑器内部:打开扩展查看、搜索**“OmniRoute”** , 点击安装— 两家商店的工作方式相同。来源、问题和发布操作手册在diegosouzapw/OmniCopilot上发布。
📖 VS代码Copilot聊天指南— 设置、选择器显示的内容、选项卡中的仪表板、故障排除
omniroute serve永远在线的时候是最快乐的。** OmniRouteTray**将其变成macOS的“一劳永逸”菜单栏应用程序:它启动服务器,在重新启动后保持其活动状态,将其更新到位,然后一键即可将您的实时代币预算放入 —终端窗口没有打开,没有npm install -g omniroute来照顾。
它使用Tauri v2 (一个舍入误差大小的 Rust 核心)构建,提供自己签名的 Node 24 运行时并管理应用程序拥有的OmniRoute安装,因此它永远不会与您的全局node/bun发生冲突。它共享您现有的~/.omniroute/配置和数据库- 所以这与你已经运行的OmniRoute相同,只是戴上帽子。 🎩
| 做什么 | 如何 |
|---|---|
| 🟢 监督服务器 | 生成 zqhomnirouteserve 采用已经运行的实例而不是复制它 |
| 📊 实时使用情况一目了然 | 提供者配额栏、 Claude session/weekly重置倒计时限制、30 天成本明细 |
| 🔄 自动更新到位 | 分阶段安装、原子交换、失败回滚 — 始终使用最新版本 |
| 🚀 登录时启动 | 登录时可选启动;仅托盘,无停靠图标 |
| 🩺 Doctor &日志 | 一键诊断和服务器日志访问 |
brew install --cask zoispag/tap/omniroute-tray想要下载吗?从以下位置获取最新的.dmg
发布。来源、问题和构建
文档位于zoispag/omniroute-tray。
💛 @zoispag 的社区项目 — 不是官方OmniRoute版本。
除了服务器之外,OmniRoute 还是一个拥有 80 多条命令的完整命令行控制中心,并支持开放的智能体协议,让 AI 智能体能够自主操作它。
omniroute # 启动网关和仪表板(端口 20128)
omniroute chat # 交互式 TUI 聊天客户端(斜杠命令:/model /combo /skill /memory)
omniroute setup # 首次运行引导向导
omniroute doctor # 诊断提供者、端口和原生依赖项在服务器上运行 OmniRoute?使用同一个 CLI,即可从笔记本电脑操控它。使用具有作用域的访问令牌登录一次, 之后每条命令都会以远程服务器为目标。
omniroute connect 192.168.0.15 # 密码 → 具有作用域的令牌,保存为上下文
omniroute models # ← 在远程服务器上运行
omniroute configure codex # ← 选择远程模型,写入本地 Codex 配置文件
omniroute tokens create --name ci --scope read # 为其他机器签发权限更窄的令牌
omniroute contexts use default # ← 切换回本地服务器令牌具有 read / write / admin 作用域;会生成进程的路由仍仅限环回接口访问。
📖 远程模式
通过 MCP、A2A、REST API、webhooks 或远程 CLI 开放 OmniRoute — 任何具备相应能力的智能体(或你自己的代码)都能自主掌控整个网关,包括路由、提供者、组合、缓存、压缩和记忆。以下 HTTP 端点均位于 http://localhost:20128 下。
| 接口 | 端点 / 命令 | 用途 |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | 接入 Claude Desktop、Cursor 或任何 MCP 客户端 |
| 🌊 MCP (HTTP) | /api/mcp/stream | 远程 MCP — 110 个工具、33 个作用域(可选择启用强制执行)、完整审计跟踪 |
| 📡 MCP (SSE) | /api/mcp/sse | 流式 MCP 传输 |
| 🤝 A2A | /.well-known/agent.json | 智能体间通信,JSON-RPC 2.0 + SSE,6 项技能 |
| 🌐 REST API | /v1/* | 兼容 OpenAI — 聊天、嵌入、图像、音频、OCR |
| 🔔 Webhooks | /api/webhooks | 将请求 / 配额事件推送到 Slack、Discord、Telegram 或任意 URL |
| 🛰️ 远程 CLI | omniroute connect | 使用具有作用域的访问令牌操控远程实例 |
# 通过 MCP 为 Claude Code 提供完整的 OmniRoute 工具集:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream默认叠加组合按 RTK → Caveman 运行。当两者同时作用于同一工具/上下文载荷时,节省效果会叠加:
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%代码块、URL、JSON 和结构化数据始终受到保留引擎的保护。
能少用 token 时,为何要用很多 token? 每个请求都会透明地经过 OmniRoute 的压缩流水线 —— 客户端无需任何改动。它现在是一个由 12 个可组合引擎组成的栈,按顺序运行,并可根据路由组合进行混搭 —— 其理念建立在 RTK、Caveman(⭐ 90K+)、LLMLingua-2 和 Troglodita(PT-BR)之上。
引擎按流水线顺序运行;每个引擎均可独立开关,并可按组合进行配置:
| # | 引擎 | 作用 |
|---|---|---|
| 1 | Session-Dedup | 丢弃跨轮次重复的内容(内容寻址、跨轮次) |
| 2 | CCR | 将大块内容归档到检索标记之后,按需获取 |
| 3 | Lite | 空白 + 图片 URL 裁剪(低延迟基线) |
| 4 | RTK | 智能工具结果过滤、去重与截断(命令感知) |
| 5 | Responses Tool Output | 面向 shell/patch/search/build 输出的无损优先 JSON + 有界诊断压缩(Responses API) |
| 6 | Headroom | 通过内置的 GCF 编解码器对 JSON 数组进行无损表格化压缩(约 30%) |
| 7 | Relevance | 针对最后一条用户查询进行抽取式句子评分 |
| 8 | Caveman | 基于规则的文本压缩(输出侧约 65–75%) |
| 9 | Aggressive | 摘要 + 旧轮次渐进式老化 |
| 10 | LLMLingua-2 | 通过 MobileBERT ONNX 进行 ML 语义剪枝 —— 代码安全、异步 |
| 11 | Ultra | 启发式 token 剪枝,可选小模型(SLM)层级 |
| 12 | OmniGlyph | 实验性的上下文即图像编码,用于在直接 Anthropic 线路上实测 Claude Fable 5;GPT 5.6 transformers 仍保持故障关闭状态,等待提供者回执。四种压缩配置(默认 aggressive、balanced、coding-safe、passthrough)(最具侵略性;需主动启用) |
代码块、URL 和结构化数据始终按字节完美保留。一键预设可组合这些引擎:
| 模式 | 节省 | 最适合 |
|---|---|---|
| 🪶 Lite | ~15% | 始终开启的安全默认项 |
| 🪨 标准(Caveman) | ~30% | 日常编码 |
| ⚡ Aggressive | ~50% | 长时间、工具密集型会话 |
| 🔥 Ultra | ~75% | 最大节省 |
| 🧰 RTK | 60–90% | Shell/测试/构建/git 输出 |
| 🔗 叠加(RTK → Caveman) | 78–95% | 混合提示词 + 工具日志 |
真实示例 —— 标准模式:
之前(69 token): "你的 React 组件之所以重新渲染,很可能是因为你在每个渲染周期都创建了新的对象引用。当你将内联对象作为 prop 传入时,React 的浅比较每次都会把它视为不同的对象,从而触发重新渲染。我建议使用 useMemo 来缓存该对象。"
之后(19 token): "每次渲染都有新对象引用。内联对象 prop = 新引用 = 重新渲染。用 useMemo 包裹。"
答案相同。Token 减少 72%。零准确率损失。 ✅
PT-BR 示例 —— Troglodita 模式:
之前(42 tokens): "问题在于组件正在重复渲染,因为每次渲染循环都会创建新的对象引用。我会建议使用 useMemo。"
之后(12 tokens): "重复渲染:每次循环都是新引用(内联对象被重建)。使用
useMemo。"同样的回答。token 减少约 70%。技术精度丝毫未损。 ✅
上面这 12 个引擎压缩的是输入。另外三层机制则决定以何种方式、在何时、以及输出什么:
- 🪄 输出风格(Output Styles) (输出轴调控) —— 注入确定性的、缓存安全的响应塑形指令;可自由组合,每种风格都有
lite/full/ultra强度。新增一种风格只需在注册表中加一行:- 简洁散文(Terse prose) —— 去掉填充词 / 冠词 / 模糊措辞;技术内容保持精确。
- 少写代码(Less code) —— “懒惰的资深开发者”式 YAGNI:只做最小可行改动,不搭未被要求的脚手架。
- 马尾辫(Ponytail,懒惰的资深开发者) —— 沿着 YAGNI 阶梯往上爬,修复根因,只给最小可行 diff。
- 我有 ADHD(行动优先) —— 下一步动作打头,步骤编号,只给一个具体的下一步,不要开场白。
- 简洁 CJK(Terse CJK · 文言) —— 文言文式极简风格(按 locale 限定为
zh)。
- 🎯 自适应上下文预算(Adaptive context-budget) (那个旋钮) —— 不再依赖单一的开关式 token 阈值,而是只在必要时逐级启用成本最低、损失最小的引擎,直到装得下模型的上下文窗口。策略:
reserve-output(默认,感知模型)·percentage·absolute。模式:floor(保证装得下)·replace-autotrigger(以你的显式选择为准)·off(沿用旧的阈值)。 - 🎛️ 压缩的决定权在哪 (优先级,由高到低) —— 按请求的
x-omniroute-compression头 › 路由组合覆写 › 生效的具名配置文件 › 自适应 / 自动触发 › 面板默认值 › 关闭。实际应用的方案会回显在X-OmniRoute-Compression: <mode>; source=<source>响应头中。
无论是按 token 阈值自动触发、打开自适应旋钮、固定某个具名配置文件、对单次请求做一次性设置,还是给每个路由组合分配一条流水线 —— 哪种更贴合你的工作负载就用哪种。可选的离线评测框架(npm run eval:compression)会在固定的语料上对保真度与节省量打分,供你在正式推行某项改动之前参考。
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
1) 安装并运行
npm install -g omniroute
omniroute💡 看到
npm warn ERESOLVE或 peer 依赖警告?它们是无害的。 用的是 npm 11 或更高版本? 除非被允许,npm 可能会阻止包的生命周期脚本执行。OmniRoute 的postinstall(node scripts/build/postinstall.mjs)是准备其原生运行时文件所必需的。全局安装时,请允许 npm 警告中列出的那些包。就 OmniRoute 3.8.53 报告的包集合而言:npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute如果希望以后的全局安装都复用这份许可名单,可以先配置一次,然后正常安装:
npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user npm install -g omniroute依赖列表可能在不同版本之间变化;如果 npm 报告的是另一份列表,请以该警告中的包名为准。允许某个包,即表示允许其安装脚本运行。 使用 Gemini Web 或其他 web-cookie 提供者? npm 包中包含 Playwright,但不包含其 Chromium 二进制文件。在发出第一个 web 提供者请求之前,请先查看 Playwright Chromium 配置说明。
Dashboard 位于 http://localhost:20128 · API 位于 http://localhost:20128/v1。
2) 使用你自己的账号连接一个符合条件的提供者
Dashboard → Providers → 选择一个当前条款和配额都适合你使用场景的提供者 → 添加其 API key 或完成其账号流程。免费额度可能需要注册、审批或绑定支付方式。请阅读免费额度指南;无密钥可用性不作保证,标记为 tos: avoid 的提供者会默认被排除在 auto 之外。
3) 把你的编码工具指向它
Base URL: http://localhost:20128/v1
API Key: [从 Dashboard → Endpoints 复制]
Model: auto (在符合条件的连接之间路由 —— 或直接选择 provider/model)4) 验证是否正常工作
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"你应该能看到已连接的模型列表。🎉 就这样 —— 开始写代码吧,OmniRoute 会为你自动路由并在必要时回退。
如果你的客户端无法发送自定义请求头,OmniRoute 还提供了带 token 的兼容别名:
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags这些别名仅用于无法附加 Authorization: Bearer ... 的客户端。请求头鉴权仍是首选方式。
🐳 Docker
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest:latest 指向已发布的最高稳定 SemVer 版本。它不会跟踪 git main。如用于 GitOps,请固定为 :X.Y.Z。请参阅 Docker 发布渠道。该镜像固定设置了 OMNIROUTE_MEMORY_MB=1024。这足以运行仪表板和进行轻量聊天。编程智能体(来自 Claude Code、Codex、Grok 等的 POST /v1/responses)需要大得多的 V8 堆,否则当两个长上下文重叠时,进程会在约 12 GiB 处发生 FATAL ERROR。容器大小应高于堆大小(原生缓冲区位于 V8 之外):
| 工作负载 | 堆(-e OMNIROUTE_MEMORY_MB) |
容器(--memory) |
|---|---|---|
| 仪表板/轻量聊天 | 1024(镜像默认值) |
≥2 g |
| 一个编程智能体 | 8192 |
≥10 g |
两个并发的长 /v1/responses |
10240–12288 |
≥12–16 g |
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest完整表格:Docker 指南 — 运行时 RAM。
预发布 Docker 渠道:
diegosouzapw/omniroute:next和diegosouzapw/omniroute:next-web跟踪当前默认的release/v*分支。这些可变标签仅用于测试尚未发布的修复, 不支持用于生产环境。请参阅 Docker 发布渠道。
🥟 Bun
通过 Bun 运行时检测,支持标准的 bun install 和全局安装(bun install -g omniroute):
- 内置
bun:sqlite:在 Bun 下运行时,OmniRoute 使用 Bun 内置的bun:sqlite驱动程序;在 Node.js 下则回退到better-sqlite3或sql.js。 - 开发环境中自动选择 Webpack 打包器:开发模式(
bun run dev)会自动检测 Bun,并禁用 Turbopack、改用 Webpack,以避免原生 V8 绑定不兼容。生产构建(bun run build)与 Node 上一样,严格遵循OMNIROUTE_USE_TURBOPACK:默认使用 Turbopack;设置OMNIROUTE_USE_TURBOPACK=0时使用 Webpack 构建(Dockerfile.bun将其公开为--build-arg)。 - 专用 Bun Dockerfile:提供多阶段
Dockerfile.bun,用于原生 Bun 生产部署(docker build -f Dockerfile.bun -t omniroute:bun .)。
# 使用 Bun 安装并运行
bun install
bun run dev🛠️ 从源码安装
cp .env.example .env && npm install
PORT=20128 npm run dev📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute🐧 Arch Linux(AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service🔧 Nix(Flake)
# 使用 Nix flakes
nix develop
npm run dev
# 或使用 devbox
devbox run npm run dev📖 Docker 指南 — Compose 配置文件、Caddy HTTPS、Cloudflare 隧道。
🦭 Podman
# 1. 准备绑定挂载的数据目录
mkdir -p data
# 2. 仅限 Linux + 本地无根 Podman(绝不能用于远程 Podman Machine 客户端):
podman unshare chown 1000:1000 ./data
# 3. 设置运行时提示、构建本地 Compose 镜像并启动
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build在 macOS 或 Windows 上,Podman 使用远程 Podman Machine:请跳过 podman unshare,并
遵循针对不同拓扑的数据目录指南。
📖 Podman 指南 — Compose 构建、Podman Machine,以及 Linux/systemd Quadlet 设置。
⚡ 更快/更精简的安装方式(跳过原生构建)
原生 SQLite 引擎(better-sqlite3)是一个可选依赖项,因此全局
安装绝不会因源码编译而受阻:当存在与你的平台/Node 匹配的预构建二进制文件时会使用它,
否则会透明地回退到纯 JS 引擎
(Node 22+ 上使用 node:sqlite,否则使用随附的 sql.js WASM)—— 无需构建工具。
如需完全跳过安装后的原生预热(适用于 CI、无界面环境或性能较低的机器):
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 也会跳过为获得最快的安装速度,建议使用 pnpm(内容寻址存储 + 硬链接——见上文)。
若要使用不带仪表板的无界面运行时,请使用 Docker base 配置文件(见上文)或
Termux 指南。CLI 和 Web 仪表板由同一进程在同一端口上提供服务,
因此目前没有单独的纯 CLI 软件包。
面板快照日期:2026-10-18 · 原始目录:YT 1.352 | TT 334 | IG 290 · 新鲜度(天):YT 5 | TT 48 | IG 49
完整排名(按规范 URL 去重,v > 0,覆盖量最高):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | nnapier7 — Instagram — 1,454,535 | Amidia AI & Tech — YouTube — 794,974 | theopenstack — Instagram — 692,419 | migue.baena — TikTok — 685,788 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| milesreevesai — TikTok — 620,400 | nikothetech — TikTok — 610,803 | Vaibhav Sisinty — YouTube — 509,281 | buildwithai.club — Instagram — 347,652 | nivedan.ai — Instagram — 331,973 |
截至 2026-10-18 的规范指标:1.976 个独立视频 · 20.220.289 次已知观看(v > 0)· 1.210 个各平台频道/账号。原始面板包含 1.976 行(YouTube 1.352 = 740 个长视频 + 612 个 Shorts · TikTok 334 · Instagram 290);按规范 URL 标准化后未留下任何重复项,并为每个视频保留最高观看次数。YouTube 数据采集冻结于 2026-10-13(API 配额在 14 至 18/10 期间耗尽),TikTok/Instagram 数据采集自 2026-09-02 起冻结(无采集额度);仍有 76 个视频没有观看次数数据。
🎬 制作了关于 OmniRoute 的视频? 请提交一个 issue 或发起一项 discussion,并附上链接——我们会在这里推荐它。
一站式获取所有内容——关注维护者、与社区交流,或提交 issue。
| 渠道 | 位置 / 方式 |
|---|---|
| 💼 LinkedIn — 关注维护者 | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — 关注以获取版本发布与技巧 | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| t.me/omnirouteOficial | |
| 🟢 WhatsApp — 🌍 全球 | 加入群组 |
| 🟢 WhatsApp — 🇧🇷 巴西 | 加入群组 |
| 🌍 网站 | omniroute.online |
| 🌍 🌍StHub OmniRoute 社区(免费) | StHub 门户 |
| 📦 源代码 | github.com/diegosouzapw/OmniRoute |
| 🐛 报告错误 | 提交问题 — 请附上 npm run system-info 的输出 |
| 🤝 参与贡献 | CONTRIBUTING.md · 分支与发布模型 · 选择一个 good first issue |
| 💚 支持本项目 | 支持方式 ↑ · GitHub Sponsors |
| 层级 | 技术 |
|---|---|
| 运行时 | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| 语言 | TypeScript 6.0 — src/ 与 open-sse/ 全线 100% TypeScript(自 v2.0 起核心代码零 any) |
| 框架 | Next.js 16 + React 19 + Tailwind CSS 4 |
| 数据库 | better-sqlite3(SQLite,WAL 日志模式)+ LowDB(JSON 遗留方案)— 147 个领域模块,219 个迁移 |
| 记忆 | SQLite FTS5 全文检索 + int8 量化向量嵌入,类型化衰减 |
| 模式校验 | Zod 4 — MCP 工具输入/输出校验 + API 契约 |
| 协议 | MCP(stdio / HTTP / SSE)+ A2A v0.3(JSON-RPC 2.0 + SSE) |
| 流式传输 | Server-Sent Events(SSE)+ WebSocket 桥接(/v1/ws) |
| 压缩 | 12 引擎流水线 — RTK、Caveman、LLMLingua-2(MobileBERT ONNX)、GCF、OmniGlyph |
| 认证与安全 | OAuth 2.0(PKCE)+ JWT + API Keys + MCP 作用域认证 · 静态存储 AES-256-GCM 加密 · DOMPurify |
| 隐身 | wreq-js — JA3 / JA4 TLS 指纹模拟,三级代理 |
| 容错 | 熔断器、指数退避、防惊群(anti-thundering-herd)、auto-combo 自愈 |
| 日志 | pino — 带请求上下文的结构化 JSON 日志 |
| 测试 | Node.js test runner + Vitest — 7,800+ 个受跟踪测试文件中共 56,000+ 条静态测试声明(单元、集成、E2E、安全、生态) |
| 平台 | 桌面端(Electron)· Android(Termux)· PWA(任意浏览器) |
| CI/CD | GitHub Actions — 发布时自动执行 npm 发布 + Docker Hub 推送 |
| 链接 | 网站 · npm · Docker Hub |
| 文档 | 说明 |
|---|---|
| 用户指南 | 提供者、组合、CLI 集成、部署 |
| 设置指南 | 完整安装方法、CLI 工具配置、协议设置、超时调优 |
| CLI 工具指南 | Claude Code、Codex、Cursor、Cline、OpenClaw、Kilo、Copilot 的逐工具设置 |
| 远程模式 | 通过限定范围的访问令牌,从笔记本电脑上的 CLI 控制远程 OmniRoute(VPS) |
| Claude Code 配置 | 使用 launch 和各模型配置文件将 Claude Code 指向 OmniRoute(本地/远程) |
| 快速入门 | 3 步完成安装 → 连接 → 配置 |
| 文档 | 说明 |
|---|---|
| Docker 指南 | Docker 运行、Compose 配置文件、Caddy HTTPS、隧道、镜像标签 |
| Podman 指南 | Quadlet systemd 集成、podman-compose、SELinux |
| 虚拟机部署 | 完整指南:虚拟机 + nginx + Cloudflare 设置 |
| Fly.io 部署 | 使用持久化存储部署到 Fly.io |
| Termux 指南 | 通过 Termux 在 Android 上运行 OmniRoute |
| PWA 指南 | 渐进式 Web 应用安装、缓存、架构 |
| 卸载指南 | 适用于所有安装方法的彻底移除步骤 |
| 环境配置 | 完整的 .env 变量与参考说明 |
| 文档 | 说明 |
|---|---|
| 架构 | 系统架构、数据流与内部机制 |
| 压缩指南 | 7 种可选流水线:关闭 / 轻量 / 标准 / 激进 / 超强 / RTK / 堆叠 |
| RTK 压缩 | 命令输出压缩、过滤器、信任、验证、原始输出恢复 |
| 压缩引擎 | Caveman、RTK、堆叠流水线、仪表板/API/MCP 界面 |
| 压缩规则格式 | 用于 Caveman 和 RTK 过滤器的 JSON 规则包模式 |
| 压缩语言包 | 语言检测与 Caveman 规则包编写 |
| 韧性指南 | 断路器、冷却时间、队列、防惊群、TLS 欺骗 |
| 自动组合引擎 | 16 因素评分、模式包、自我修复 |
| 代理指南 | 3 级代理系统、1proxy 市场、注册表 CRUD |
| 免费套餐 | 汇总目录:34 个已记录的周期性资源池 / 484 个已编目的免费套餐条目 |
| 功能集锦 | 带截图的可视化仪表板导览 |
| 代码库文档 | 适合初学者的代码库导览 |
| 文档 | 说明 |
|---|---|
| API 参考 | 包含示例的所有端点 |
| OpenAPI 规范 | OpenAPI 3.0 规范 |
| MCP 服务器 | 110 个 MCP 工具、IDE 配置、Python/TS/Go 客户端 |
| MCP 服务器指南 | MCP 安装、传输方式与工具参考 |
| A2A 服务器 | JSON-RPC 2.0 协议、技能、流式传输、任务管理 |
| A2A 服务器指南 | A2A 智能体卡片、任务、技能与流式传输 |
| 文档 | 说明 |
|---|---|
| 贡献指南 | 开发环境设置与指南 |
| 分支与发布模型 | PR 的目标分支(release/*),以及 main 和标签的含义 |
| 变更日志 | 完整的各版本发布历史 |
| 安全策略 | 漏洞报告与安全实践 |
| i18n 指南 | 67 种语言支持、翻译工作流程、RTL |
| 发布检查清单 | 发布前验证步骤 |
| 覆盖率计划 | 针对 7,800 多个受跟踪测试文件中 56,000 多项静态测试声明的测试覆盖率策略 |
OmniRoute 由充满热情的开源社区共同塑造。以下贡献者做出了卓越贡献,直接提升了项目的质量、稳定性和影响范围。感谢你们。
| 排名 | 贡献者 | 已合并 PR 数 | 约变更行数 |
|---|---|---|---|
| 1 | maxmad64bis | 371 | 25,326,561 |
| 2 | HouMinXi | 269 | 13,456,272 |
| 3 | backryun | 210 | 270,562 |
| 4 | oyi77 | 190 | 411,243 |
| 5 | pacocartones | 174 | 78,276 |
| 6 | JxnLexn | 151 | 3,562,936 |
| 6 | KooshaPari | 151 | 5,972,314 |
| 8 | rdself | 145 | 80,663 |
| 9 | RaviTharuma | 123 | 500,065 |
| 10 | herjarsa | 88 | 230,872 |
| 11 | hartmark | 84 | 2,849,554 |
| 12 | jonlwheat2-gif | 67 | 68,548 |
| 13 | artickc | 62 | 43,502 |
| 14 | chirag127 | 52 | 6,661 |
| 15 | xz-dev | 50 | 245,976 |
| 16 | xiaoyaner0201 | 47 | 33,626 |
| 17 | woodsonl | 46 | 809,391 |
| 18 | rqzbeh | 44 | 147,896 |
| 19 | QuangBlue | 43 | 13,112 |
| 20 | MumuTW | 40 | 26,093 |
本次统计于 2026-10-18 15:09:09 UTC 进行,基于实时的 release/v3.8.52 最新提交 656f01cb43。分页获取的 GitHub GraphQL 统计包含 9,191 个已合并 PR:其中 3,834 个来自仓库所有者,229 个来自 Dependabot,6 个来自其他机器人/应用,另有来自 835 位不同贡献者的 5,122 个外部 PR。“变更行数”是 GitHub 上新增行数与删除行数之和,包括生成的文件、锁定文件、目录、翻译和文档;它表示变更量,而非实际编写的代码行数。49 个 PR 在 GitHub 上报告的差异超过 500,000 行(例如 #13399,仅添加一个提供程序,却列出了 2,347 个变更文件),这使上述若干总数有所虚高。并列者排名相同。
|
Dizzle 🥇 367 次归属于 GitHub 用户的提交 |
Bob.Hou 🥈 269 次归属于 GitHub 用户的提交 |
Paijo 🥉 229 次归属于 GitHub 用户的提交 |
backryun 🏅 202 次归属于 GitHub 用户的提交 |
Paco Cartones 🏅 174 次归属于 GitHub 用户的提交 |
Ravi Tharuma 🏅 126 次归属于 GitHub 用户的提交 |
|
Markus Hartung 🏅 114 次归属于 GitHub 用户的提交 |
Randi 🏅 108 次归属于 GitHub 用户的提交 |
Jan Leon 🏅 87 次归属于 GitHub 用户的提交 |
Chris 🏅 70 次归属于 GitHub 用户的提交 |
Koosha Paridehpour 🏅 68 次归属于 GitHub 用户的提交 |
重新检查于 2026-10-18 14:44:45 UTC:由仓库 Contributors API 针对默认分支 release/v3.8.52 报告的归属于 GitHub 用户的提交。该 API 返回了 849 个身份(429 名用户、2 个机器人、418 个匿名身份);此表排除了维护者、机器人和匿名身份,并保留并列名次。它与上方的已合并 PR 排名和下方的 Git 元数据统计均不同。
🙏 这些贡献者提供的功能、错误修复和基础设施改进,是 OmniRoute 得以可靠且功能丰富的核心组成部分。每个拉取请求、每个测试用例以及每个 i18n 翻译文件都至关重要。开源正是由他们这样的人共同构建的。
衷心感谢那些自掏腰包资助 OmniRoute 的人——每一份贡献都让该项目保持免费、独立并持续发展。
![]() Andrew 💛 当前月度赞助者 |
![]() Vlad I 💛 当前月度赞助者 |
![]() 小妍儿 💛 当前月度赞助者 |
![]() Guilherme Costa 💛 当前一次性赞助者 |
![]() Henrique Iurkiv 💛 当前一次性赞助者 |
![]() Somesh Ghaturle 💛 当前一次性赞助者 |
![]() Kolonie AI 💛 过往一次性支持者 |
![]() Prof. Igor Morais 💛 过往一次性支持者 |
![]() Pixma 💛 过往一次性支持者 |
![]() Paco Cartones 💛 过往一次性支持者 |
![]() longtao 💛 过往一次性支持者 |
……以及其他希望保持匿名的支持者 💛
已于 2026-10-18 通过 GitHub Sponsors GraphQL API 重新验证公开的 GitHub 赞助者:总计 14 项赞助中有 11 项公开赞助(6 项当前有效,5 项已结束)。GitHub 的 isActive 状态决定了上方的当前有效标签;过往公开的一次性支持者仍列于感谢名单中,私人赞助者则保持匿名。Ko-fi、Buy Me a Coffee、Liberapay、PIX 和加密货币捐赠因没有公开的赞助记录而未列出。
💖 成为赞助者 → — 每一美元都能帮助 OmniRoute 保持免费和独立。
审计于 2026-10-18,基于当时最新的 release/v3.8.52 分支顶端提交 ad160ab2d1(6,826 次提交):共计 993 个经标准化处理的真实个人 Git 身份——其中 707 个以提交作者身份出现(包括维护者),另有 286 个仅出现在明确的 Co-authored-by 尾注中。此次统计应用了 .mailmap,以不区分大小写的方式比较电子邮件地址,仅当数字格式和普通格式的 GitHub noreply 地址编码了相同用户名时才进行合并;排除了 26 个机器人/代理/服务/占位身份,并且不会仅因显示名称相同而合并普通电子邮件地址。2026-08-24 的审计公布了 639 人;在该次审计所基于的提交 ac02c5b42f 上重新运行此方法得到 619 人,因此人数增长来自新贡献者,而非更宽松的统计方法。
- Fork 此仓库
- 从当前活跃的
release/vX.Y.Z分支顶端创建分支(而非main)——请参阅分支与发布模型 - 创建功能分支(
git checkout -b feat/amazing-feature) - 提交更改(
git commit -m 'feat: add amazing feature') - 推送至该分支(
git push origin feat/amazing-feature) - 创建 Pull Request,并将 base 设置为对应的
release/vX.Y.Z分支
有关详细指南,请参阅 CONTRIBUTING.md。
# 创建发布版本——npm publish 会自动执行
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notesOmniRoute 站在巨人的肩膀上。它最初是 9router 的一个分支,也是 Go 项目 CLIProxyAPI 的 TypeScript 移植版本——在此基础上,下面的每个子系统都受到某个率先实现相关功能的开源项目启发。每个项目都塑造了 OmniRoute 的某个具体部分。谨以此向它们一一致谢。🙏
⭐ 星标数已于 2026 年 10 月 18 日通过 GitHub REST API 核实——请为这些项目点亮星标。这里的数量是特定日期的精确快照,自然会随时间变化。
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| 9router | 31,004 | 本分支所基于的原始项目——在此基础上扩展了多模态 API,并使用 TypeScript 进行了完整重写。 |
| CLIProxyAPI | 55,591 | 启发了此 JavaScript / TypeScript 移植版本的 Go 实现。 |
| LiteLLM | 61,482 | 这个 AI 网关的公开定价数据集为我们的成本跟踪同步功能提供数据,其提供者标准化模型也为我们的路由设计提供了参考。 |
| codex-chatgpt-web | 14,526 | 其 MIT 源代码经过改编后被内置于 ChatGPT Web → Codex Responses 桥接器中,包括浏览器会话、响应分帧、用量统计和网络搜索适配器。 |
| free-claude-code | 61,430 | 其模式被移植到流恢复、无思考别名、后备网络搜索、滑动窗口限制、日志脱敏和强化的启动器流程中。 |
| composer-api | 346 | 将 Cursor Composer 的工具选择、输出约束和工具提交模式改编到原生 Cursor 执行器中。 |
| codex-multi-auth | 553 | 将全新登录和刷新令牌轮换模式移植到 Codex OAuth 重新认证中。 |
| opencode-anthropic-auth | 558 | 将 Claude Code 兼容的转换默认值和计费请求头行为泛化到 OmniRoute 的配置驱动型桥接器中。 |
| grok2api-merged | 2 | 其 Grok 模型映射、伪 TypeError Statsig 生成器、请求和设备默认值以及 NDJSON 响应处理器均被实质性地改编到 OmniRoute 的 Grok Web 执行器中。 |
| TQZHR/grok2api | 706 | grok2api-merged 背后的主要传递性代码来源;其模型、请求头、负载、Statsig 和处理器实现均保留在 Grok Web 的项目传承中。 |
| chenyme/grok2api | 7,819 | 这是 Grok 负载和设备默认值、Statsig 生成器,以及经由 TQZHR 和 grok2api-merged 传承下来的 result.response 处理器的底层 MIT 源代码。 |
| grok2api-pro | 27 | grok2api-merged 为其代理池层注明的一个传递性来源;OmniRoute 保留了该传承声明,但并不声称在其范围受限的 Grok Web 执行器中移植了代理池。 |
| GrokProxy | 51 | 其基于 Cookie 认证的 Grok 代理和 result.response.token 流式传输模式为 OmniRoute 的 Grok Web 传输层提供了参考。 |
| GrokBridge | 5 | 最初的 Grok Web 实现参考了其 HTTP/浏览器上游设计;由于其直接 HTTP 路径源自 GrokProxy,因此不主张存在独立的代码移植。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| Caveman | 113,396 | 爆火的“能用少量 token 搞定,为什么还要用很多 token”项目——其穴居人式表达理念为我们的标准压缩模式以及 30 多条赘词删除/内容精简规则提供了基础。 |
| RTK – Rust Token Killer | 83,835 | 高性能命令输出压缩——启发了我们的 RTK 引擎、JSON 过滤器 DSL、原始输出恢复机制,以及串联式 RTK → Caveman 流水线。 |
| headroom | 75,741 | 可逆上下文压缩(SmartCrusher)——启发了我们的 headroom 引擎和 ccr 检索标记模式。 |
| LLMLingua | 6,757 | 提示词压缩研究(LLMLingua / LLMLingua-2)——启发了我们的异步、代码安全、故障时放行的 llmlingua 引擎。 |
| llmlingua-2-js | 32 | JS/ONNX 移植版(MobileBERT / XLM-RoBERTa),用作我们 LLMLingua 引擎的工作线程后端。 |
| Troglodita | 50 | 巴西葡萄牙语 token 压缩——为我们的 pt-BR 语言包提供支持:针对巴西葡萄牙语语法调优的赘述精简和填充词删除。 |
| ponytail | 166,731 | 爆火的“懒惰高级开发者”YAGNI 编码技能——启发了我们的 less-code 输出风格:引导生成最小可用改动,减少_生成的_代码(与 Caveman 的简洁表达相对应的输出维度策略)。 |
| i-have-adhd | 57,628 | 其行动优先、对 ADHD 友好的响应风格被改造为 OmniRoute 支持五种语言的简洁输出风格。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| TOON | 25,509 | 面向 token 的对象表示法——其列式、“表头加数据行”模型塑造了我们的表格压缩阶段。 |
| GCF – Graph Compact Format | 59 | 其紧凑图格式和通用配置设计为 OmniRoute 的表格压缩及 Headroom 编解码格式提供了参考。 |
| gcf-typescript | 4 | 该 MIT TypeScript 实现被直接内置并扩展为 Headroom 通用配置编解码器。 |
| token-optimizer-mcp | 551 | Brotli/SQLite 缓存 + 按会话计算上下文增量——启发了我们的 session-dedup 引擎。 |
| token-savior | 1,182 | Bash 输出压缩 + MCP 配置——启发了我们的压缩退出原则和 MCP 工具清单精简机制。 |
| token-saver | 154 | 内容感知、按文件类型进行输出压缩,并具备故障感知退出机制——验证了我们的按类型分派和低于最小收益时跳过的策略。 |
| token-optimizer | 2,595 | “找出幽灵 token”——其卸载 + 可恢复句柄模式为我们的 CCR 卸载思路提供了参考。 |
| TokenMizer | 33 | 会话图 + 跨轮次行去重蓝图,为我们的 session-dedup 设计提供了参考。 |
| OmniCompress | 3 | Rust 列式 JSON + 内容寻址检索 + 跨消息去重——验证了我们的 headroom/ccr/session-dedup 引擎设计,以及“压缩形式与位置无关”这一缓存稳定性不变量。 |
| mcp-compressor | 133 | MCP 工具架构/描述压缩——为我们的 MCP 工具清单基数缩减提供了参考。 |
| RepoMapper | 217 | Aider 风格的仓库映射排序——为我们的仓库映射/检索排序探索提供了参考。 |
| quiet-shell-mcp | 4 | 基于 MCP 的声明式 shell 输出精简——验证了我们的声明式 bash 输出压缩方案。 |
| ts-morph | 6,205 | TypeScript Compiler API 工具包——启发了我们基于解析器的注释删除机制,同时保留字符串、模板和正则表达式字面量。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| Mem0 | 67,385 | 通用记忆层——其以代理作为写入/读取边界的模型塑造了我们的记忆架构。 |
| Letta (MemGPT) | 25,179 | 采用分层记忆的有状态智能体——启发了我们的上下文控制与恢复(CCR)分层模型。 |
| WFGY | 1,800 | ProblemMap 对 16 种常见 RAG/LLM 故障模式的分类体系——构成了我们故障排除指南中的共享术语。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| llm-interceptor | 79 | 对编码助手 ↔ LLM 流量的 MITM 拦截/分析为早期的流量检查器需求提供了参考。此前派生的四个模块——SSE 合并、对话规范化、敏感信息遮蔽和请求头清理——均已由基于公开协议标准、独立洁净室实现的版本取代。两个主机直通接口(passthrough.ts 和 _internal/bypass.cjs)仍为独立归类的 OmniRoute 内部实现;它们不属于此次替换重写的范围。 |
| ProxyBridge | 6,814 | 透明的按进程代理路由——启发了我们可防崩溃的 MITM 清理机制、套接字空闲超时、/proc 进程归属识别和 TPROXY 捕获。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| models.dev | 7,286 | 开放的 AI 模型规格、定价与能力数据库——以原生方式同步至我们的模型目录。 |
| React Flow / xyflow | 38,705 | 为我们的实时压缩工作室和组合/路由工作室提供支持的节点式图形库。 |
| LangGraph | 43,443 | LangGraph Studio 的实时工作流图可视化启发了我们各工作室的实时级联视图。 |
| Langfuse | 35,990 | 其追踪 → 跨度 → 生成的可观测性模型塑造了我们压缩工作室中的瀑布图。 |
| Kiali | 3,645 | Istio 服务网格可观测性——启发了路由/组合工作室中的熔断器徽章和错误边可视化效果。 |
| lobe-icons | 2,615 | 用于在我们的仪表板中呈现各提供者图标的 AI/LLM 品牌徽标。 |
| flag-icons | 12,473 | 提供 README 语言选择器所使用的 MIT 许可证 SVG 旗帜图标。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| awesome-secure-defaults | 722 | 一份精心整理的默认安全库列表,为我们的安全方案选择提供指导(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)。 |
| 项目 | ⭐ | 它如何启发 OmniRoute |
|---|---|---|
| ClawRouter | 6,628 | 启发了请求去重、紧急零成本回退、可插拔 Auto-Combo 策略和多语言意图分类。 |
| Antigravity-Manager | 32,333 | 其账户感知的模型重映射、可执行文件路径验证和套餐标签行为为 OmniRoute 的 Antigravity 运行时提供了参考。 |
| vscode-antigravity-cockpit | 4,850 | 其紧凑的配额重置倒计时格式启发了 OmniRoute 中相应的提供者限额显示。 |
| AionUi | 33,611 | 其 ACP 集成启发了 OmniRoute 对已安装 CLI 智能体的自动检测。 |
| CodexBar | 22,616 | 发现了 Grok Build 配额接口;随后 OmniRoute 独立验证并修正了实际使用的线级格式。 |
MIT 许可证——详情请参阅 LICENSE。
⬆ 返回顶部 · 为开源 AI 社区用 ❤️ 构建。
OmniRoute v3.8.53 · Node ≥22.22.2 · MIT 许可证 · omniroute.online












