# README (中文 (简体))
🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md)
---
# 🚀 OmniRoute — 免费的 AI 网关
## 💰 每月约 1.62B 免费 Token
> 手动叠加各家的免费额度非常麻烦——数十个 SDK、数十种速率限制,而且根本不知道自己实际拥有多少额度。OmniRoute 收录了**分布在 35 个周期性额度池键中的 489 条免费层级记录**,并根据**17 个已公布正数月度预算的额度池以及五个 Groq 单模型上限**计算 Token 总量,同时按共享额度池去重。仅在完成地区身份验证后才开放的额度(目前为 ModelScope)会单独显示,即通过地区身份验证后可额外获得约 6M,且绝不会计入总量。结果会持续显示在仪表板上(`/dashboard/free-tiers`)。
> 实时 `/dashboard/free-tiers` 页面的动态摘要。完整方法说明(额度池去重、赠送额度层级、提供者条款):**[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**。
>
> 这些数据每两周都会根据实时目录重新审核,并且**可能上升,也可能下降**——某家提供者终止免费层级时,数字就会下降;新增一家时,数字就会上升。我们发布的是目录实际计算出的结果,绝不会采用向上取整的最佳情况。
⭐ 如果 OMNIROUTE 帮你节省了费用并让工作更轻松,请为此仓库点亮 Star。
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 加入社区
**👋 关注维护者——第一时间获取新提供者、版本发布和使用技巧:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**问题、提供者推荐、路线图与支持 → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 全球](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 巴西](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [门户](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 网关持续增长
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ------------------ | :-----: | :-------------------: | :--------: |
| 🌐 提供者 | 290 | **357** | 更多已排期 |
| 🧠 独立聊天模型 ID | 1185 | **1312** | — |
| 🖼️ 模态桥接 | — | 🆕 视觉 + 音频 + 视频 | — |
| 📡 Radar 免费目录 | — | 🆕 可选启用 | — |
| ⚖️ 配额感知调度 | — | 🆕 Quota-Share | — |
| 📊 配额遥测 | — | 🆕 实时数据 | — |
**→ [路线图](ROADMAP.md) — 沿既定轨道迈向 `v3.9.0 LTS`**
## 🧩 可用版本
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
[](LICENSE)


## 🆓 即装即用 — 无需密钥,无需配置
```bash
# 全新安装,零凭证 — `auto` 已可工作:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
偏好特定的免费后端?直接调用 `oc/…` (OpenCode Free)。然后升级到 `auto`,让 OmniRoute 来选择。
📦 复制粘贴快速启动脚本,适用于 **Python、Node.js、PHP 和 cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 承诺
# 🤔 为何选择 OmniRoute?
## 🤝 我们的开源朋友支持
> **想加入成为开源朋友吗?** 这些公司支持开源并帮助 OmniRoute 持续发展 — 我们会公开说明他们提供的每一笔资金的去向。请联系:[diegosouza.pw@outlook.com](mailto: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 与此提供者没有赞助或合作关系。
知道其他提供者有慷慨的免费注册优惠券,能惠及 OmniRoute 用户吗?请提交一个 issue,我们会将其添加到这里。
## 🎯 组合 — 旗舰功能
> **组合**是一条由 OmniRoute **自动**在多个模型之间进行路由的链路。如果配额耗尽、提供者发生故障或成本激增,组合可以切换到下一个符合条件且运行正常的模型。🛡️
### ⚡ 零配置——只需使用 `auto`
无需创建组合。将模型设置为 `auto`(或其变体),OmniRoute 就会根据你已连接的提供者构建虚拟组合,并进行实时评分:
模型 ID 优化目标
auto🎯 均衡的默认选项(LKGP——保持使用上一个运行良好的提供者)
auto/coding🧑💻 面向代码生成、质量优先的权重
auto/fast⚡ 最低延迟优先
auto/cheap💰 每 token 成本最低者优先
auto/offline🔋 配额 / 速率限制余量最大者优先
auto/smart🔭 质量优先 + 10% 探索比例,以发现更好的模型
auto/lkgp📌 明确保持使用上一个已知运行良好的提供者
auto/chaos🧪 用于韧性测试的故障注入权重(混沌工程)
##
### 🔀 或自行构建——19 种路由策略
全部 **19** 种策略——可在组合的每个步骤中混合搭配:
#
策略
作用
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
reset-window
优先选择配额窗口最早重置的目标
12
reset-aware
按配额重置时间排序——较短的窗口优先 📊
13
context-relay
在不同目标间传递上下文,以支持长对话 🧠
14
context-optimized
选择最适合当前上下文大小的目标
15
cache-optimized
将每个可复用的提示词前缀固定到同一账户——最大限度提高提示词缓存命中率 🎯
16
lkgp
上一个已知良好路径——固定使用上一个成功的提供者,之后再回退到规则
17
auto
针对每个连接进行 16 因素实时评分 🤖
18
fusion
并行调用一组模型,再由评审模型综合生成一个答案 🧬
19
pipeline
串联多个步骤——每个目标的输出会传递给下一个目标 🔗
Auto-Combo 引擎根据 **16 个因素**(健康状态、配额、成本、延迟、任务匹配度、质量、会话可用性……)对每个候选项进行评分——请参阅 [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)。
##
### 🧱 内置韧性机制(3 个独立层)
📖 [自动组合引擎](docs/routing/AUTO-COMBO.md) · [弹性指南](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 为什么 OmniRoute 与众不同
📊 完整方法论及与 9router、OpenRouter、CLIProxyAPI 和 LiteLLM 的逐项功能对比详情 → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 支持 OmniRoute
OmniRoute 采用 MIT 许可证,并以开放方式维护。如果它为你节省了时间或金钱,可以通过以下方式帮助其保持独立——选择适合你的即可。赞助绝不会影响路由优先级;它购买的是曝光度,而不是排名。
**🇧🇷 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](https://github.com/diegosouzapw/OmniRoute/discussions)。
开发者说明: 为方便开发者,本项目可能会在 npm install/postinstall 期间生成本地 .env 文件。该文件已通过 .gitignore(参见 .gitignore)被有意忽略,绝不能提交——如果意外提交,请轮换所有可能已泄露的密钥,并从历史记录中删除该文件。有关管理本地环境文件和密钥的指南,请参阅 docs/DEVELOPER-ENVIRONMENT.md 。
## 📡 OmniRoute Radar
上述文档中经资源池去重后的目录,其免费套餐的主要亮点仍是**每月约 1.62B tokens**。临时的提供者注册赠送额度可另外将首月额度提升至**约 2.22B**。Radar 是一个可选的、带签名的目录覆盖层,适合希望在 OmniRoute 各版本发布间隔期间获取更新免费模型可用性信息的用户;社区目录和所有现有免费功能仍将保持免费。
支持者可以获得实时目录以及更多提供者机会。其独立且可变的上限**最高约为每月 3B tokens**,具体取决于提供者的可用性。该上限并非保证:提供者可随时更改配额、资格要求、模型或地区。
Radar 需主动选择启用,且仅使用 GET 请求。OmniRoute 客户端不会上传提示词、流量、提供者配置、使用情况遥测数据或本地公告忽略状态。有关资格要求和当前目录的信息,请访问 **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**。
## ✨ 新增功能
> **v3.8.20 → v3.8.50** 的近期亮点。完整历史记录请参阅 [`CHANGELOG.md`](CHANGELOG.md)。
- **🎛️ OmniConductor** — 将入站 A2A 请求委派给您的智能体集群,在 Agent Card 上提供 Conductor 技能,并配备支持 Faro 按键通话语音聊天的仪表板面板。→ [A2A 服务器](docs/frameworks/A2A-SERVER.md)
- **🛂 自适应准入与过载保护** — 重量级聊天请求将进入队列,而不是返回 503;每个连接均采用原子级 RPM 滚动租约。→ [弹性指南](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ 规范化的 `/v1/models` 排序** — 每个提供者对应一个连续的、按提供者分组的区块(组合固定在最前),并在所有目录来源中保持稳定。→ [API 参考](docs/reference/API_REFERENCE.md)
- **🗜️ 压缩加固** — 默认启用膨胀防护,为 DE / FR / JA + 中文(文言)提供 Caveman 包,并为 Gradle 和 .NET 提供 RTK 过滤器。→ [压缩](docs/compression/COMPRESSION_ENGINES.md)
- **💸 如实反映的固定费率成本** — 订阅 / 编程套餐提供者在成本分析中显示为 **$0**;预算、配额和路由仍会继续估算。→ [API 参考](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share 路由** — 在池化密钥之间公平分配共享账户的配额,并采用工作守恒机制,将空闲份额借给其他密钥使用。→ [弹性指南](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 一条命令完成 CLI/智能体设置** — 提供 13 个已注册的 `setup-*` 命令;`omniroute run` 可启动 7 个 CLI(Claude Code、Codex、Aider、Goose、OpenCode、Qwen Code、Gemini CLI);`omniroute configure` 支持 10 个目标,并提供交互式提供者+模型选择器及按上下文保存的收藏项。→ [CLI 集成](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ 远程模式** — 使用限定作用域的令牌(`connect` / `contexts` / `tokens`)操控远程 OmniRoute,并为 VPS 安装提供 `antigravity` OAuth 辅助工具。→ [远程模式](docs/guides/REMOTE-MODE.md)
- **🧭 更智能的自动路由** — `auto/:` 组合、**Fusion**(模型评审组 + 裁判)、任务感知路由,以及按请求设置的模型 / 模式 / USD 预算覆盖项。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ 可插拔压缩** — 12 个可组合引擎 + Compression Studios:LLMLingua-2、双层 Ultra、omniglyph、逐步保真度门控、GCF v3.2,以及拖拽排序编辑器。→ [压缩](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ 透明 MITM 解密(TPROXY)** — 捕获忽略代理环境变量的 CLI,并提供按 SNI 配置的 CA + 信任存储安装程序。→ [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 无处不在的成本遥测** — 每个端点均提供 `X-OmniRoute-*` 成本/用量标头、缓存命中节省标头,以及按密钥设置的 USD 支出配额。→ [API 参考](docs/reference/API_REFERENCE.md)
- **🧠 由您掌控的记忆** — 默认关闭,可选择启用 int8 向量量化 + 类型化衰减,并支持按请求设置 `x-omniroute-no-memory`。→ [记忆](docs/frameworks/MEMORY.md)
- **🛡️ 安全性** — 每条 LLM 路由均提供提示词注入防护(红队测试套件)、可选的凭据掩码护栏(双向编辑泄露的 API 密钥/机密)、免费的 DuckDuckGo 最后保障型网页搜索,以及可选的仪表板 OIDC 登录门禁(密码登录始终可用)。→ [护栏](docs/security/GUARDRAILS.md)
- **🖼️ 新端点** — `/v1/ocr`(Mistral OCR)和 `/v1/audio/translations`(Whisper 风格)进一步完善了媒体接口。→ [API 参考](docs/reference/API_REFERENCE.md)
- **🎨 图像 / 视频 / 音频生成** — 通过一个 API 处理媒体:xAI Grok Imagine 与 Novita AI 视频、ComfyUI、Magnific、Adobe Firefly、Segmind,以及 ElevenLabs 等语音提供者。→ [API 参考](docs/reference/API_REFERENCE.md)
- **🌍 部署与运维** — 反向代理 `basePath`、浏览器语言自动检测、按密钥进行设备跟踪、无需 root 的 MITM 信任配置,以及 zh-TW 本地化。→ [环境](docs/reference/ENVIRONMENT.md)
- **🤝 更多提供者与智能体** — 云端智能体(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……以及焕新后的 **352 个提供者目录**。→ [提供者](docs/reference/PROVIDER_REFERENCE.md)
- **📡 路由透明度** — 每个响应都带有 `X-OmniRoute-Decision` 标头,标明处理该请求的策略/提供者/延迟;新的 `cache-optimized` 组合策略 + Auto-Combo `cacheAffinity` 因子会将重复请求路由回持有缓存前缀的连接;只读的 `/v1/auto-combo/{channel}/candidates` 端点则会公开 `auto/*` 通道的实时候选池。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ 本地性能与基础设施** — 一键部署本地 Redis、Cloudflare Workers / Deno Deploy 中继部署器,以及作为受监管嵌入式服务运行的 Bifrost 与 Mux。→ [嵌入式服务](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 还内置了这些功能** — 插件框架 + 市场、Omni/Agent/GitHub 技能框架、Obsidian 仓库集成(22 个 MCP 工具)、兼容 OpenAI 的 Batch 与 Files API、语义响应缓存、带排行榜的游戏化机制、ACP 智能体发现(15 个内置智能体)、定时将日志导出至 BigQuery、`auto/chaos` 故障注入、Telegram 机器人桥接、应用内版本管理器,以及 LMArena-ELO 免费提供者排名。→ [文档](docs/README.md)
## 🤖 兼容的 CLI 与编码智能体
> 只需一个配置 — `http://localhost:20128/v1` — **所有** AI IDE 或 CLI 即可使用免费和低成本模型。
+ 还支持 · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · 任何兼容 OpenAI 的工具
📖 全部 36 个工具(26 个 CLI 编码工具 + 10 个 CLI 智能体)的逐工具配置指南 → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode 插件 → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**只需一条命令,即可通过 OmniRoute 启动任何受支持的 CLI** — 不写入配置文件,
凭据按进程注入,Qwen/Gemini 使用一次性的隔离主目录:
```bash
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"
# 或以交互方式选择提供者和模型,并写入该工具自身的配置:
omniroute configure codex # 还支持:claude opencode qwen aider goose gemini cline continue kilo
```
每条命令都会遵循当前活动的远程上下文(`omniroute connect `),`--dry-run`
可在不执行的情况下预览确切的环境变量和参数,而 `--api-key-env NAME` 可避免
密钥出现在 shell 历史记录中。→ [CLI 集成](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 家 AI 提供者 — 其中 152 家标记为免费
> 在规范的聊天、媒体、搜索、本地、云代理和系统集合中,共有 **357 家已注册提供者**,其中 **152 家带有 `hasFree: true` 发现元数据**。聊天模型注册表涵盖 **229 家提供者 / 2,554 个不同的提供者-模型组合 / 1,283 个原始模型 ID**;独立的免费额度目录包含 **491 条按模型划分的记录**、**35 个周期性额度池**,以及 **54 家提供周期性或无密钥永久免费服务的提供者**。这些统计口径按设计有所不同;定义和按额度池去重后的计算方式请参阅[提供者参考](docs/reference/PROVIDER_REFERENCE.md)和[免费套餐](docs/reference/FREE_TIERS.md)。
## 🖥️ OmniRoute 可在何处运行 — 任何地方
> 同一个应用,运行在你的设备上,遵循你的规则。从全局 npm 安装到通过 Termux 运行在**你的手机**上。
平台 安装方式 亮点
📦 npm(全局) npm install -g omniroute一条命令,适用于任何操作系统
🐳 Docker docker run … diegosouzapw/omniroute多架构支持:AMD64 + ARM64
🖥️ 桌面端(Electron) npm run electron: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 omniroute全天候运行在你的手机上 ,无需 root
📲 PWA “添加到主屏幕” 全屏、离线,可从浏览器安装
🧩 OpenCode 插件 @omniroute/opencode-provider原生 OpenCode 集成
🤖 VS Code Copilot Chat 安装 OmniCopilot 扩展 原生 Copilot Chat 选择器中提供所有 OmniRoute 模型 — 稳定版和 Insiders 版
🛠️ 从源代码运行 npm install && npm run dev自行修改并参与贡献
📖 [Docker 指南](docs/guides/DOCKER_GUIDE.md) · [桌面端](electron/README.md) · [菜单栏托盘](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 新功能:在 VS Code 原生 Copilot Chat 中使用 OmniRoute
> 无需新侧边栏,也无需新聊天界面 — OmniRoute 提供的每个模型都会直接显示在你已经使用的
> **Copilot Chat 模型选择器中**。自 VS Code 1.122 起,无需登录 GitHub 或订阅 Copilot,
> 即可使用提供者模型 — 免费使用代理模式、工具调用和视觉功能。
安装 **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** 扩展,将其指向
你的 OmniRoute 服务器(默认为 `localhost:20128`),然后打开 Copilot Chat → 模型选择器
→ **管理模型…** → **OmniRoute**。
商店 链接 兼容平台
🧩 VS Code Marketplace 安装 → VS Code — 稳定版和 Insiders 版
🔓 Open VSX Registry 安装 → Cursor、Windsurf、VSCodium、Theia、code-server、Gitpod、Antigravity、Kiro…
在编辑器内:打开**扩展**视图,搜索 **“OmniRoute”**,点击**安装**
— 在两个商店中的使用方式相同。源代码、问题跟踪和发布运行手册位于
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)。
📖 [VS Code Copilot Chat 指南](docs/guides/VSCODE-COPILOT.md) — 设置、选择器显示内容、在标签页中打开仪表板、故障排除
### 🎩 新功能:OmniRouteTray — 常驻菜单栏的网关
> `omniroute serve` 最适合始终保持运行。**[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> 将其变成一款设置一次即可高枕无忧的 macOS 菜单栏应用:它会启动服务器、在重启后继续保持运行、
> 就地更新服务器,并让你只需点击一下即可查看实时令牌预算 — **无需
> 保持终端窗口打开,也无需操心 `npm install -g omniroute`。**
它使用 [Tauri v2](https://v2.tauri.app/) 构建(Rust 核心小到几乎可以忽略不计),
自带已签名的 Node 24 运行时,并管理应用专属的 OmniRoute 安装,因此绝不会与你的
全局 `node`/`bun` 冲突。它会**共享你现有的 `~/.omniroute/` 配置和数据库** — 所以它就是
你已在运行的同一个 OmniRoute,只是戴上了一顶帽子。🎩
功能 实现方式
🟢 监控服务器 启动 omniroute serve;若已有实例正在运行,则直接接管,而不是重复启动
📊 一目了然地查看实时用量 提供者配额进度条、Claude 会话/每周限额及重置倒计时、30 天成本明细
🔄 自动就地更新 分阶段安装、原子切换、失败时回滚 — 始终保持最新版本
🚀 登录时启动 可选择登录时启动;仅显示托盘图标,不显示程序坞图标
🩺 诊断与日志 一键诊断并访问服务器日志
```sh
brew install --cask zoispag/tap/omniroute-tray
```
更喜欢下载使用?请从
Releases 获取最新的 .dmg。源代码、问题和构建
文档位于 zoispag/omniroute-tray 。
💛 这是由 @zoispag 发起的社区项目,并非 OmniRoute 官方版本。
## 🔒 私有且本地优先
📖 [授权](docs/architecture/AUTHZ_GUIDE.md) · [防护机制](docs/security/GUARDRAILS.md) · [合规性](docs/security/COMPLIANCE.md)
## 🔌 完整 CLI + A2A 与 MCP
> 除服务器之外,OmniRoute 还是一个拥有 **80+ 条命令的完整命令行控制台**,并支持开放式智能体协议,让 AI 智能体能够**自主**操作它。
### ⌨️ 真正的 CLI(不只是 `start`)
```bash
omniroute # 启动网关和仪表板(端口 20128)
omniroute chat # 交互式 TUI 聊天客户端(斜杠命令:/model /combo /skill /memory)
omniroute setup # 引导式首次运行向导
omniroute doctor # 诊断提供者、端口和原生依赖项
```
### 🛰️ 远程模式——在本地运行 CLI,在 VPS 上运行 OmniRoute
在服务器上运行 OmniRoute?您可以在笔记本电脑上使用**同一个 CLI** 操作它。只需使用具有特定作用域的访问令牌登录一次;
此后每条命令都会以远程服务器为目标。
```bash
omniroute connect 192.168.0.15 # 密码 → 具有特定作用域的令牌,保存为上下文
omniroute models list # ← 针对远程服务器运行
omniroute configure codex # ← 选择远程模型,并写入本地 Codex 配置文件
omniroute tokens create --name ci --scope read # 为其他机器创建权限范围更窄的令牌
omniroute contexts use default # ← 切换回本地服务器
```
令牌的作用域为 `read` / `write` / `admin`;生成进程的路由仍仅限环回地址。
📖 [远程模式](docs/guides/REMOTE-MODE.md)
### 🤝 连接智能体——让它控制 OmniRoute 本身
通过 **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 使用具有特定作用域的访问令牌操作远程实例
```bash
# 通过 MCP 为 Claude Code 提供完整的 OmniRoute 工具集:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP 服务器](docs/frameworks/MCP-SERVER.md) · [A2A 服务器](docs/frameworks/A2A-SERVER.md) · [智能体协议](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ 自动节省 15–95% 的 Token
### 📖 工作原理 — 流水线、架构与节省量计算
默认的堆叠组合按 `RTK → Caveman` 运行。当两者作用于同一工具/上下文负载时,节省效果会复合叠加:
```txt
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](https://github.com/rtk-ai/rtk)、[Caveman](https://github.com/JuliusBrussee/caveman)(⭐ 90K+)、[LLMLingua-2](https://github.com/microsoft/LLMLingua) 和 [Troglodita](https://github.com/leninejunior/troglodita)(PT-BR)。
### 🧱 由 12 个引擎组成的堆栈
引擎按照流水线顺序运行;每个引擎均可独立启用或禁用,并可针对各个组合单独配置:
# 引擎 功能
1 Session-Dedup 移除多个轮次中重复的内容(内容寻址、跨轮次)
2 CCR 将大型内容块归档到检索标记之后,并按需获取
3 Lite 精简空白字符和图片 URL(低延迟基线)
4 RTK 智能过滤工具结果、去重并截断(可识别命令)
5 Responses Tool Output 优先无损压缩 JSON,并对 shell/补丁/搜索/构建输出进行有界诊断压缩(Responses API)
6 Headroom 通过内置的 GCF 编解码器对 JSON 数组进行无损表格压缩(约 30%)
7 Relevance 根据最后一条用户查询对句子进行抽取式评分
8 Caveman 基于规则的文本压缩(输出约减少 65–75%)
9 Aggressive 摘要生成,并逐步老化旧轮次内容
10 LLMLingua-2 通过 MobileBERT ONNX 进行机器学习语义剪枝——代码安全、异步
11 Ultra 启发式 Token 剪枝,并提供可选的小模型(SLM)层级
12 OmniGlyph 实验性“上下文即图像”编码,用于通过 Anthropic 直连线路实测 Claude Fable 5;在获得提供者回执之前,GPT 5.6 transformers 仍保持故障关闭状态。提供四种压缩配置文件(默认激进、平衡、代码安全、直通)(最激进;需选择启用)
代码块、URL 和结构化数据**始终以字节级精度保留**。**一键预设**可组合这些引擎:
模式 节省比例 最适合
🪶 Lite ~15% 可始终启用的安全默认模式
🪨 Standard (Caveman) ~30% 日常编码
⚡ Aggressive ~50% 大量使用工具的长会话
🔥 Ultra ~75% 最大程度节省
🧰 RTK 60–90% Shell/测试/构建/git 输出
🔗 Stacked (RTK → Caveman) 78–95% 混合提示词和工具日志
**实际示例 — Standard 模式:**
> **之前(69 个 Token):** _“你的 React 组件之所以重新渲染,很可能是因为你在每个渲染周期中都创建了一个新的对象引用。当你将内联对象作为 prop 传递时,React 的浅比较会在每次比较时将其视为不同的对象,从而触发重新渲染。我建议使用 useMemo 来记忆该对象。”_
>
> **之后(19 个 Token):** _“每次渲染都有新对象引用。内联对象 prop = 新引用 = 重新渲染。使用 useMemo 包裹。”_
>
> **答案相同。Token 减少 72%。准确性零损失。** ✅
**PT-BR 示例 — [Troglodita](https://github.com/leninejunior/troglodita) 模式:**
> **之前(42 个 token):** _“问题在于,该组件正在重新渲染,因为每次渲染周期都会创建一个新的对象引用。我建议使用 useMemo。”_
>
> **之后(12 个 token):** _“重新渲染:每周期产生新引用(重新创建内联对象)。使用 `useMemo`。”_
>
> **答案相同。token 减少约 70%。技术准确性丝毫未损。** ✅
### 🎚️ 不止于引擎——输出风格、自适应旋钮与单次请求控制
以上 12 个引擎负责压缩**输入**。另外三层则决定输出的**方式**、**时机**与**内容**:
- **🪄 输出风格** _(输出轴调控)_——注入确定性、缓存安全的响应塑形指令;可组合使用,每种风格均支持 `lite` / `full` / `ultra` 强度。添加一种风格只需在注册表中增加一行:
- **简练行文**——去除赘词、冠词与模糊措辞;完整保留准确的技术内容。
- **少写代码**——“懒惰的高级开发者”式 YAGNI:采用最小可行改动,不添加未经请求的脚手架。
- **Ponytail(懒惰的高级开发者)**——沿 YAGNI 阶梯逐级处理,修复根本原因,采用最小可行差异。
- **我有 ADHD(行动优先)**——先给出下一步操作,对步骤编号,只提供一个具体的后续步骤,不写开场白。
- **简练 CJK(文言)**——古典中文极简风格(仅在语言区域为 `zh` 时启用)。
- **🎯 自适应上下文预算** _(旋钮)_——不再使用单一的开/关 token 阈值,而是仅按需逐级启用成本最低、信息损失最小的引擎,直至内容**适配模型的上下文窗口**。策略:`reserve-output`(默认,感知模型)· `percentage` · `absolute`。模式:`floor`(保证适配)· `replace-autotrigger`(以你的显式选择为准)· `off`(旧版阈值)。
- **🎛️ 压缩决策位置** _(优先级从高到低)_——单次请求的 `x-omniroute-compression` 标头 › 路由组合覆盖 › 当前启用的命名配置文件 › 自适应 / 自动触发 › 面板默认设置 › 关闭。实际应用的方案会通过 `X-OmniRoute-Compression: ; source=` 响应标头回传。
你可以按 token 阈值自动触发、开启自适应旋钮、固定使用命名配置文件、为单次请求指定设置,或为每个路由组合分配管线——任选最适合工作负载的方式。可选择启用的离线**评估工具**(`npm run eval:compression`)会基于固定语料库评估保真度与节省比例,帮助你在正式采用变更前进行验证。
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ 快速开始
**1)安装并运行**
```bash
npm install -g omniroute
omniroute
```
> 💡 看到 `npm warn ERESOLVE` 或 peer-dep 警告?[它们无害](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)。
控制面板位于 `http://localhost:20128` · API 位于 `http://localhost:20128/v1`。
**2)连接一个免费提供者(无需注册)**
控制面板 → **提供者** → 连接 **Kiro AI**(免费 Claude,每个账户每月约 50 个积分)或 **OpenCode Free**(无需身份验证)→ 完成。
**3)配置你的编程工具**
```txt
Base URL: http://localhost:20128/v1
API Key: [从控制面板 → 端点中复制]
Model: auto (零配置智能路由——也可指定任意提供者/模型)
```
**4)验证其是否正常工作**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
你应该能看到已连接的模型列表。🎉 就这么简单——开始编程吧,OmniRoute 会自动为你路由并在失败时切换备用方案。
如果你的客户端无法发送自定义标头,OmniRoute 还提供带 token 的兼容性别名:
```txt
OpenAI 目录: http://localhost:20128/vscode/YOUR_KEY/
OpenAI 模型: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI 聊天: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI 响应: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama 聊天: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama 标签: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
请仅对无法附加 `Authorization: Bearer ...` 的客户端使用这些地址。标头身份验证仍是首选方式。
## 📦 更多安装方式 — Docker、源码、pnpm、Arch
**🐳 Docker**
```bash
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 发布渠道](docs/guides/DOCKER_GUIDE.md#release-channels)。该镜像固定设置了 **`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 |
```bash
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](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents)。
> **预发布 Docker 渠道:** `diegosouzapw/omniroute:next` 和
> `diegosouzapw/omniroute:next-web` 跟踪当前默认的 `release/v*`
> 分支。这些可变标签仅用于测试尚未发布的修复,
> **不支持用于生产环境**。请参阅
> [Docker 发布渠道](docs/guides/DOCKER_GUIDE.md#release-channels)。
**🥟 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 .`)。
```bash
# 使用 Bun 安装并运行
bun install
bun run dev
```
**🛠️ 从源码安装**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux(AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix(Flake)**
```bash
# 使用 Nix flakes
nix develop
npm run dev
# 或使用 devbox
devbox run npm run dev
```
📖 [Docker 指南](docs/guides/DOCKER_GUIDE.md) — Compose 配置文件、Caddy HTTPS、Cloudflare 隧道。
**🦭 Podman**
```bash
# 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`,并
遵循[针对不同拓扑的数据目录指南](contrib/podman/README.md#data-directory-permissions-by-topology)。
📖 [Podman 指南](contrib/podman/README.md) — Compose 构建、Podman Machine,以及
Linux/systemd Quadlet 设置。
**⚡ 更快/更精简的安装方式(跳过原生构建)**
原生 SQLite 引擎(`better-sqlite3`)是一个**可选**依赖项,因此全局
安装绝不会因源码编译而受阻:当存在与你的平台/Node 匹配的预构建二进制文件时会使用它,
否则会透明地回退到纯 JS 引擎
(Node 22+ 上使用 `node:sqlite`,否则使用随附的 `sql.js` WASM)—— 无需构建工具。
如需完全跳过安装后的原生预热(适用于 CI、无界面环境或性能较低的机器):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 也会跳过
```
为获得最快的安装速度,建议使用 **pnpm**(内容寻址存储 + 硬链接——见上文)。
若要使用不带仪表板的无界面运行时,请使用 Docker `base` 配置文件(见上文)或
[Termux 指南](docs/guides/TERMUX_GUIDE.md)。CLI 和 Web 仪表板由同一进程在同一端口上提供服务,
因此目前没有单独的纯 CLI 软件包。
# 🎬 OmniRoute 实际演示
## 📹 视频指南
面板快照时间:2026-08-24 · 原始目录:YT 809 | TT 137 | IG 124 · 新鲜度(天):YT 1 | TT 21 | IG 22
🎬 #1 — Instagram
nick_saraev — 3,042,474 次观看
🎬 #2 — Instagram
theopenstack — 692,419 次观看
🎬 #3 — TikTok
milesreevesai — 620,400 次观看
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 次观看
🎬 #5 — Instagram
buildwithai.club — 347,652 次观看
**完整排名(已去重的规范 URL,`v > 0`,按覆盖量从高到低):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** |
| #6 | #7 | #8 | #9 | #10 |
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** |
截至 2026-08-24 的规范指标:**1.029 个唯一视频** · **11.132.922 次已知观看**(`v > 0`)· **各平台共 639 个频道/个人资料**。原始面板包含 1.070 行;其中 41 个 Instagram 重复项已按规范 URL 进行标准化,并为每个视频保留最高观看次数。
> 🎬 **制作了有关 OmniRoute 的视频?** 请提交包含链接的 [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) 或发起 [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) — 我们会在这里推荐它。
# 📧 社区与帮助
> 所有资源尽在一处 — 关注维护者、与社区交流,或提交 issue。
| 渠道 | 位置 / 方式 |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — 关注维护者 | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — 关注发布动态和技巧 | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 全球** | [加入群组](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 巴西** | [加入群组](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **网站** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍StHub OmniRoute 社区(免费)** | [StHub 门户](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **源代码** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **报告错误** | [提交问题](https://github.com/diegosouzapw/OmniRoute/issues) — 附上 `npm run system-info` 的输出 |
| 🤝 **参与贡献** | [CONTRIBUTING.md](CONTRIBUTING.md) · [分支与发布模型](docs/ops/BRANCHING_MODEL.md) · 选择一个 `good first issue` |
| 💚 **支持项目** | [支持方式 ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ 技术栈
层级 技术
运行时 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 遗留) — 122 个领域模块,183 次迁移
内存 SQLite FTS5 全文搜索 + int8 量化向量嵌入,类型衰减
模式 Zod 4 — MCP 工具 I/O 验证 + 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 密钥 + MCP 范围授权 · 静态 AES-256-GCM · DOMPurify
隐身 wreq-js — JA3 / JA4 TLS 指纹伪装,3 级代理
弹性 断路器,指数退避,防群集效应,自动组合自愈
日志 pino — 带有请求上下文的结构化 JSON 日志
测试 Node.js 测试运行器 + Vitest — 跨 5,100+ 个跟踪测试文件(单元、集成、E2E、安全、生态系统)的 39,000+ 静态测试声明
平台 桌面 (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
免费套餐 汇总目录:35 个有文档记录的周期性资源池 / 489 个已编入目录的免费套餐条目
功能展示 带截图的可视化仪表板导览
代码库文档 适合初学者的代码库导览
### 🤖 协议与 API
### 📋 项目与质量
# ⭐ 顶尖贡献者
> OmniRoute 由一个充满热情的开源社区共同塑造。以下贡献者做出了卓越贡献,直接影响了项目的质量、稳定性和影响范围。**感谢你们。**
### 按已合并拉取请求数量排名的外部贡献者
排名 贡献者 已合并 PR 约变更行数
1 backryun 190 227,977
2 oyi77 180 407,678
3 rdself 145 80,663
4 JxnLexn 128 387,049
5 KooshaPari 101 125,747
6 herjarsa 88 230,872
7 RaviTharuma 79 55,106
8 maxmad64bis 69 394,715
9 artickc 59 33,260
10 HouMinXi 51 47,334
10 chirag127 51 5,153
12 xz-dev 50 245,976
13 hartmark 47 52,185
14 rqzbeh 39 143,181
15 dhaern 34 19,559
16 Dingding-leo 33 1,986
17 NomenAK 32 13,854
18 MumuTW 30 16,953
19 benzntech 29 11,641
20 pacocartones 24 9,331
20 Prudhvivuda 24 6,312
数据冻结于实时 release/v3.8.50 分支的最新提交 dafb4ae808,统计截至 2026-08-24 05:26:03 UTC 的合并记录。分页的 GitHub GraphQL 全量统计包含 5,911 个已合并 PR:其中 2,707 个来自仓库所有者,179 个来自 Dependabot,3,025 个外部 PR 来自 535 位不同的贡献者 。“变更行数”是 GitHub 中新增行数与删除行数之和,包含生成的文件、锁文件、目录、翻译和文档;它衡量的是代码变动量,而非作者编写的代码行数。达到截止排名时的并列项均予保留。
### GitHub 归属的提交
于 2026-08-24 06:14:31 UTC 重新核查:由仓库 Contributors API 报告的默认分支 release/v3.8.50 中归属于 GitHub 用户的提交。该 API 返回了 525 个身份(415 名用户、2 个机器人、108 个匿名身份);此表不包含维护者、机器人和匿名身份,并保留并列排名。此排名不同于上方的已合并 PR 排名,也不同于下方基于 Git 元数据统计的 639 人名录。
> 🙏 这些贡献者提供的功能、错误修复和基础设施改进,是 OmniRoute 可靠且功能丰富的**核心组成部分**。每个拉取请求、每个测试用例以及每个 i18n 翻译文件都至关重要。开源软件正是由他们这样的人共同构建的。
---
## 💖 赞助者
衷心感谢那些自掏腰包资助 OmniRoute 的人们——每一份贡献都让项目得以保持免费、独立并持续发展。
……以及其他希望保持匿名的支持者 💛
公开的 GitHub Sponsors 信息已于 2026-08-24 重新验证。GitHub 的 activeOnly 状态决定了上方的活跃标签;此前已公开的一次性支持者仍保留在感谢名单中,而非公开赞助者则保持匿名。
💖 成为赞助者 → ——每一美元都能帮助 OmniRoute 保持免费和独立。
## 👥 600+ 位贡献者
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
已于 2026-08-24 在冻结基准 ac02c5b42f 上完成审计,并在实时 release/v3.8.50 分支最新提交 dafb4ae808 上重新检查:共有 639 个经过规范化的人类 Git 身份 ——其中 407 个以提交作者身份出现(包括维护者),另有 232 个仅出现在显式的 Co-authored-by 尾注中。统计过程对 GitHub noreply 用户名进行了规范化,排除了 26 个机器人、代理、服务或占位身份,并且不会仅因显示名称相同而合并普通电子邮件地址。
### 如何贡献
1. Fork 仓库
2. 从**活跃的** `release/vX.Y.Z` 分支最新提交创建分支(而不是 `main`)——请参阅[分支与发布模型](docs/ops/BRANCHING_MODEL.md)
3. 创建功能分支(`git checkout -b feat/amazing-feature`)
4. 提交更改(`git commit -m 'feat: add amazing feature'`)
5. 推送到该分支(`git push origin feat/amazing-feature`)
6. 创建 Pull Request,并将**基础分支设置为该 `release/vX.Y.Z` 分支**
详细指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
### 发布新版本
```bash
# 创建发布版本——npm publish 会自动执行
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 星标
## 🌍 StarMapper
## 🙏 致谢
OmniRoute 站在巨人的肩膀上。它最初是 **[9router](https://github.com/decolua/9router)** 的一个分支,也是 Go 项目 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** 的 TypeScript 移植版本——在此基础上,下面的每个子系统都受到了率先实现相关功能的开源项目的启发。它们都塑造了 OmniRoute 的具体组成部分。谨以此向所有这些项目致谢。🙏
> ⭐ 星标数已于 2026 年 8 月 24 日通过 GitHub 的 REST API 验证——也请为这些项目点亮星标。所列数量是特定日期的精确快照,自然会随时间发生变化。
### 🧬 项目传承与网关
项目 ⭐ 它如何启发 OmniRoute
9router 26,161 本分支所基于的原始项目——在此基础上扩展了多模态 API,并使用 TypeScript 进行了完整重写。
CLIProxyAPI 48,497 启发此 JavaScript / TypeScript 移植版本的 Go 实现。
LiteLLM 57,100 该 AI 网关的公开定价数据集为我们的成本跟踪同步提供数据,其提供者标准化模型也为我们的路由设计提供了参考。
codex-chatgpt-web 1,410 其 MIT 源代码被改造并整合到内置的 ChatGPT Web → Codex Responses 桥接器中,包括浏览器会话、响应组帧、用量统计和网页搜索适配器。
free-claude-code 48,112 其模式被移植到流恢复、无思考别名、后备网页搜索、滑动窗口限制、日志脱敏和经过强化的启动器流程中。
composer-api 322 Cursor Composer 的工具选择、输出约束和工具提交模式经改造后用于原生 Cursor 执行器。
codex-multi-auth 457 全新登录和刷新令牌轮换模式被移植到 Codex OAuth 重新认证中。
opencode-anthropic-auth 510 与 Claude Code 兼容的转换默认值和计费请求头行为被泛化到 OmniRoute 的配置驱动桥接器中。
grok2api-merged 2 其 Grok 模型映射、伪 TypeError Statsig 生成器、请求与设备默认值,以及 NDJSON 响应处理器均被实质性改造并用于 OmniRoute 的 Grok Web 执行器。
TQZHR/grok2api 705 grok2api-merged 背后的主要传递性代码来源;其模型、请求头、载荷、Statsig 和处理器实现均保留在 Grok Web 的代码谱系中。
chenyme/grok2api 7,520 这是 Grok 载荷与设备默认值、Statsig 生成器以及经由 TQZHR 和 grok2api-merged 传承的 result.response 处理器所基于的底层 MIT 源代码。
grok2api-pro 27 grok2api-merged 将其列为代理池层的传递性来源;OmniRoute 保留了该谱系声明,但并未声称在其范围受限的 Grok Web 执行器中移植了代理池。
GrokProxy 50 其基于 Cookie 认证的 Grok 代理和 result.response.token 流式传输模式为 OmniRoute 的 Grok Web 传输层提供了参考。
GrokBridge 5 最初的 Grok Web 实现参考了其 HTTP/浏览器上游设计;由于其直接 HTTP 路径源自 GrokProxy,因此不声称存在独立的代码移植。
grok-web-api 14 其 Rust ChatOptions 和响应信封模式为 OmniRoute 的 TypeScript Grok 请求与流式响应类型提供了参考。
### 🗜️ 上下文与令牌压缩——引擎
项目 ⭐ 它如何启发 OmniRoute
Caveman 100,538 爆火的“能用少量 token 搞定,何必用很多 token”项目——其穴居人式表达理念为我们的标准压缩模式以及 30 多条填充词移除/内容精简规则提供了基础。
RTK – Rust Token Killer 77,185 高性能命令输出压缩——启发了我们的 RTK 引擎、JSON 过滤器 DSL、原始输出恢复,以及堆叠式 RTK → Caveman 流水线。
headroom 67,310 可逆上下文压缩(SmartCrusher)——启发了我们的 headroom 引擎和 ccr 检索标记模式。
LLMLingua 6,598 提示词压缩研究(LLMLingua / LLMLingua-2)——启发了我们异步、代码安全、故障开放的 llmlingua 引擎。
llmlingua-2-js 31 JS/ONNX 移植版本(MobileBERT / XLM-RoBERTa),被用作我们 LLMLingua 引擎的工作线程后端。
Troglodita 40 巴西葡萄牙语 token 压缩——为我们的 pt-BR 语言包提供支持:针对巴西葡萄牙语语法优化的赘述精简和填充词移除。
ponytail 108,957 爆火的“懒惰资深开发者”YAGNI 编码技能——启发了我们的少写代码 输出风格:通过引导采用最小可行改动来减少_生成的_代码(与 Caveman 简练文风相对应的输出维度方案)。
i-have-adhd 23,526 其行动优先、对 ADHD 友好的响应风格被改编为 OmniRoute 支持五种语言的简洁输出风格。
### 🧩 紧凑格式、token 研究与代码感知工具
项目 ⭐ 它如何启发 OmniRoute
TOON 25,233 面向 token 的对象表示法——其列式“表头加数据行”模型塑造了我们的表格压缩阶段。
GCF – Graph Compact Format 41 其紧凑图格式和通用配置设计为 OmniRoute 的表格压缩与 Headroom 编解码器格式提供了参考。
gcf-typescript 4 该 MIT TypeScript 实现被直接内嵌并扩展为 Headroom 通用配置编解码器。
token-optimizer-mcp 494 Brotli/SQLite 缓存 + 每会话上下文增量——启发了我们的 session-dedup 引擎。
token-savior 1,122 Bash 输出压缩 + MCP 配置——启发了我们的压缩退出准则和 MCP 工具清单精简机制。
token-saver 138 具备失败感知退出机制、针对不同文件类型的内容感知输出压缩——验证了我们按类型分派和未达到最小收益时跳过压缩的方案。
token-optimizer 1,951 “查找幽灵 token”——其卸载 + 可恢复句柄模式为我们的 CCR 卸载思路提供了参考。
TokenMizer 28 会话图 + 跨轮次行去重蓝图,为我们的 session-dedup 设计提供了参考。
OmniCompress 3 Rust 列式 JSON + 内容寻址检索 + 跨消息去重——验证了我们的 headroom/ccr/session-dedup 引擎设计,以及“压缩形式与位置无关”这一缓存稳定性不变量。
mcp-compressor 113 MCP 工具模式/描述压缩——为我们的 MCP 工具清单基数缩减方案提供了参考。
RepoMapper 197 Aider 风格的仓库映射排序——为我们的仓库映射/检索排序探索提供了参考。
quiet-shell-mcp 4 基于 MCP 的声明式 shell 输出精简——验证了我们的声明式 bash 输出压缩方案。
ts-morph 6,162 TypeScript Compiler API 工具包——启发了我们基于解析器的注释移除机制,该机制可保留字符串、模板和正则表达式字面量。
### 🧠 记忆与 RAG
项目 ⭐ 它如何启发 OmniRoute
Mem0 63,902 通用记忆层——其以代理作为写入/读取边界的模型塑造了我们的记忆架构。
Letta (MemGPT) 24,382 具有分层记忆的有状态智能体——启发了我们的上下文控制与恢复(CCR)分层模型。
WFGY 1,781 对 16 种反复出现的 RAG/LLM 故障模式进行分类的 ProblemMap 体系——构成了我们故障排除指南中的通用术语。
### 🛰️ 流量检查、MITM 与透明代理
项目 ⭐ 它如何启发 OmniRoute
llm-interceptor 66 对编码助手 ↔ LLM 流量进行 MITM 拦截/分析,为早期流量检查器的需求提供了参考。此前衍生的四个模块——SSE 合并、对话规范化、敏感信息遮蔽和请求头净化——已被基于公开协议标准、独立洁净室实现的版本取代。两个主机直通层面(passthrough.ts 和 _internal/bypass.cjs)仍是独立归类的 OmniRoute 内部实现;它们未作为此次替换的一部分进行重写。
ProxyBridge 5,995 按进程进行透明代理路由——启发了我们的崩溃安全型 MITM 拆除机制、套接字空闲超时、/proc 进程归因和 TPROXY 捕获。
### 📚 模型数据、可观测性与 UI
项目 ⭐ 它如何启发 OmniRoute
models.dev 6,555 开放的 AI 模型规格、定价和能力数据库——已原生同步到我们的模型目录中。
React Flow / xyflow 38,108 为我们的实时压缩工作室和组合/路由工作室提供支持的节点式图库。
LangGraph 40,314 LangGraph Studio 的实时工作流图可视化启发了我们工作室中的实时级联视图。
Langfuse 33,592 其追踪 → 跨度 → 生成的可观测性模型塑造了我们的压缩工作室瀑布图。
Kiali 3,631 Istio 服务网格可观测性——启发了路由/组合工作室中的断路器徽章和错误边可视化。
lobe-icons 2,428 用于在整个仪表板中呈现提供者图标的 AI/LLM 品牌标志。
flag-icons 12,354 提供 README 语言选择器所使用的 MIT 许可 SVG 旗帜图标。
### 🛡️ 安全性
项目 ⭐ 它如何启发 OmniRoute
awesome-secure-defaults 721 精心整理的默认安全库清单,为我们的安全选型提供指导(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)。
### 🧭 互补工具
项目 ⭐ 它如何启发 OmniRoute
ClawRouter 6,564 启发了请求去重、紧急零成本回退、可插拔的自动组合策略和多语言意图分类。
Antigravity-Manager 30,652 其账号感知的模型重映射、可执行文件路径验证和套餐标签行为,为 OmniRoute 的 Antigravity 运行时提供了参考。
vscode-antigravity-cockpit 4,817 其紧凑的配额重置倒计时格式启发了 OmniRoute 中相应的提供者限额显示。
AionUi 32,230 其 ACP 集成启发了 OmniRoute 对已安装 CLI 智能体的自动检测。
CodexBar 20,507 识别出了 Grok Build 配额接口;随后 OmniRoute 独立验证并修正了实时线上格式。
## 📄 许可证
MIT 许可证——详情请参阅 [LICENSE](LICENSE)。
---
**[⬆ 返回顶部](#-omniroute)** · 用 ❤️ 为开源 AI 社区打造。
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT 许可证 · omniroute.online