# 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-CN](../zh-CN/README.md)
---
# 🚀 OmniRoute — 免費 AI 閘道
**由 [Diego Souza](https://github.com/diegosouzapw) 建立**
## 💰 每月約 1.62B 個 Token,涵蓋第三方免費方案
> **請使用您自己的服務商帳戶。** 這是分別符合資格的第三方免費方案所彙整出的估算值,並非 OmniRoute 提供的 Token 額度。請註冊、在必要時取得憑證,並連接您可以使用的服務商;每個服務商會自行控管其限制、可用性與條款。
>
> 手動疊加免費方案十分痛苦——數十個 SDK、數十種速率限制,而且完全不知道自己實際擁有多少額度。OmniRoute 已在 **34 個週期性配額池金鑰中整理 465 個免費方案項目**,並根據 **17 個已公布正數月度預算的配額池,加上 Groq 的五個按模型計算的上限**,去除共享配額池的重複計算後,得出 Token 標題數值。只有在完成區域身分驗證後才會開放的配額(目前為 ModelScope)會另外顯示,區域身分驗證後再增加約 6M,且絕不會納入標題總額。結果會持續顯示在儀表板上(`/dashboard/free-tiers`)。
> `/dashboard/free-tiers` 即時頁面的動畫摘要。完整方法(配額池去重、點數級距、服務商條款):**[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**。
>
> 這些數據每兩週會根據即時目錄重新稽核,且**可能上升也可能下降**——服務商結束免費方案,數字就會下降;新方案加入,數字就會上升。我們公布的是目錄實際計算出的結果,絕不採用向上取整的最佳情況。
⭐ 如果 OMNIROUTE 幫助您節省費用並讓工作更輕鬆,請為此儲存庫加星。
[](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 [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway 持續成長
| | v3.8.50 | **v3.8.51** | `v3.8.54+` |
| ----------------------- | :-------------------: | :---------: | :-------------------: |
| 🌐 提供者 | 352 | **358** | 388 |
| 🧠 唯一聊天模型 ID | 1320 | **1374** | 1491 |
| 🖼️ 模態橋接 | 🆕 視覺 + 音訊 + 影片 | ✓ | ✓ |
| 📡 Radar 免費目錄 | 🆕 選擇加入 | ✓ | ✓ |
| ⚖️ 配額感知排程 | 🆕 Quota-Share | ✓ | ✓ |
| 📊 配額遙測 | 🆕 即時 | ✓ | ✓ |
| 🧰 無頭模式 | — | — | 🆕 `serve --headless` |
| 🛤️ LTS 軌道路由基礎架構 | — | — | 🆕 發行頻道 |
| 🔎 模型探索 API | — | — | 🆕 `/v1/models/query` |
**→ [路線圖](ROADMAP.md) — 踏上通往 `v3.9.0 LTS` 的軌道**
## 🧩 可用
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 安裝、連線提供者,然後透過單一端點進行路由
```bash
# 連線提供者後,從 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)預設會排除在自動路由之外;連線帳戶不會覆寫此設定。選擇提供者前,請參閱 [免費方案指南](docs/getting-started/FREE-TIERS-GUIDE.md)。
📦 **Python、Node.js、PHP 和 cURL** 的複製貼上快速入門指令碼 → [`examples/quickstart/`](examples/quickstart/)
# 💥 願景
# 🤔 為什麼選擇 OmniRoute?
## 🤝 由我們的開源夥伴支持
> **想加入成為開源夥伴嗎?** 這些公司支持開源並幫助 OmniRoute 持續發展 — 我們公開說明他們提供的每一筆資金的用途。請聯繫:[diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
感謝我們的創始開源夥伴 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💰 每個權杖成本最低者優先
auto/subscription🎟️ 僅使用您已付費的訂閱配額——採封閉式失敗,絕不切換至需額外計費的備援(指南 )
auto/thrifty🪜 先使用方案配額,再逐級切換至最便宜的付費選項——方案重設後即切回方案(指南 )
auto/offline🔋 配額/速率限制餘裕最大者優先
auto/smart🔭 品質優先,並以 10% 的探索比例發掘更好的模型
auto/lkgp📌 明確黏著至上一個已知運作良好的提供者
auto/chaos🧪 平行分派至一組模型(每個提供者一個,預設共 5 個),並傳回一個答案;每個候選模型各進行一次上游呼叫,而非故障注入
##
### 🔀 或自行建立——20 種路由策略
全部 **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`](docs/routing/AUTO-COMBO.md)。
##
### 🧱 內建韌性機制(3 個獨立層級)
📖 [Auto-Combo 引擎](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
⚠️ 每種貨幣請僅透過所示網路傳送 — 使用錯誤的網路可能導致資金遺失。
🐛 發現錯誤或有意見要回饋?請建立一則[討論](https://github.com/diegosouzapw/OmniRoute/discussions)。
開發者注意事項: 為方便開發者,本專案可能會在 npm install/postinstall 期間產生本機 .env 檔案。此檔案已刻意透過 .gitignore 忽略(請參閱 .gitignore),且絕不可提交 — 若不慎提交,請輪替所有可能外洩的密鑰,並從歷史記錄中移除該檔案。如需管理本機環境檔案與密鑰的指引,請參閱 docs/DEVELOPER-ENVIRONMENT.md 。
## 📡 OmniRoute Radar
免費方案的主要亮點仍是上述已記錄且經資源池去重複處理的目錄所提供的**每月約 1.62B 個 token**。提供者提供的臨時註冊額度可另行將首月額度提升至**約 2.22B**。Radar 是可選用且具簽章驗證的目錄覆蓋層,適合希望在 OmniRoute 發布版本之間取得更新免費模型可用性資訊的使用者;社群目錄及所有現有免費功能仍維持免費。
贊助者可取得即時目錄及其他提供者機會。其獨立且可能變動的上限為**每月至多約 3B 個 token**,實際取決於提供者的可用性。此上限並非保證:提供者可隨時變更配額、資格條件、模型或地區。
Radar 採選擇加入制,且僅使用 GET。OmniRoute 用戶端不會上傳提示詞、流量、提供者設定、使用情況遙測資料,或本機公告忽略狀態。如需瞭解資格條件與目前目錄,請前往 **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**。
## ✨ 最新消息
> **v3.8.20 → v3.8.54** 的近期重點。完整歷史記錄請參閱 [`CHANGELOG.md`](CHANGELOG.md)。
- **⚖️ `quota-weighted` 路由** — 第 20 種組合策略會跳過已耗盡的帳戶,接著依剩餘配額 ÷ 進行中負載的比例,從其餘帳戶中抽選,同時讓現有對話維持固定路由。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 無頭模式** — `omniroute serve --headless`(或 `OMNIROUTE_HEADLESS=1`)只執行 `/v1/*` 代理引擎,停用儀表板及僅供儀表板使用的子系統。→ [無頭模式](docs/guides/HEADLESS.md)
- **🔎 模型探索** — `/v1/models` 可依功能、上下文、類型和文字進行篩選,而 `POST /v1/models/query` 會以相同的每金鑰可見性,傳回簡短且具確定性的候選清單。→ [API 參考](docs/reference/API_REFERENCE.md)
- **🔑 每金鑰路由控制** — 使用 `forcedModel` 將 API 金鑰固定至單一模型或組合,並以原子方式新增或移除金鑰的模型和組合(`/api/keys/{id}/access`)。→ [API 參考](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ 更細緻的 PII 控制** — 可按類型選取,支援最多 20 個經驗證的自訂遮罩模式,以及按類型統計的偵測計數器;遮罩功能本身仍採選擇性啟用。→ [防護機制](docs/security/GUARDRAILS.md)
- **🌍 67 種語言** — 涵蓋儀表板、文件鏡像和 CLI,使用 `npm run i18n:add-locale` 即可透過單一命令在所有位置新增語言。→ [i18n 指南](docs/guides/I18N.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 packs,以及適用於 Gradle 和 .NET 的 RTK 篩選器。→ [壓縮](docs/compression/COMPRESSION_ENGINES.md)
- **💸 誠實的固定費率成本** — 訂閱/coding-plan 提供者在成本分析中會顯示 **$0**;預算、配額與路由仍會持續估算。→ [API 參考](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share 路由** — 將共用帳戶的配額公平分配給共用金鑰,並採工作保留式設計,將閒置切片借給其他使用者。→ [韌性指南](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 單一命令完成 CLI/代理設定** — 註冊了 15 個 `setup-*` 命令;`omniroute run` 可啟動 7 個 CLI(Claude Code、Codex、Aider、Goose、OpenCode、Qwen Code、Gemini CLI);`omniroute configure` 支援 11 個目標,提供互動式提供者+模型選擇器及按上下文分類的最愛項目。→ [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、omnipglyph、逐步保真度閘門、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……以及更新後的 **388 個提供者目錄**。→ [提供者](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 vault 整合(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 相容的工具
📖 所有 39 個工具的工具專屬設定(28 個 CLI Code + 11 個 CLI Agents)→ [`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 會取得一次性隔離的 home:
```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 5dive
```
每個指令都會遵循目前的遠端內容(`omniroute connect `),`--dry-run`
會在不執行的情況下預覽確切的 env/args,而 `--api-key-env NAME` 可避免機密資訊出現在
Shell 歷程記錄中。→ [CLI 整合](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 個 AI 提供者 — 153 個標記為免費
> **388 個已註冊的提供者** 分布於標準聊天、媒體、搜尋、本機、雲端代理程式和系統集合,其中包括 **153 個帶有 `hasFree: true` 探索中繼資料的提供者**。聊天模型註冊表涵蓋 **239 個提供者 / 3,059 個不同的提供者-模型配對 / 1,475 個原始模型 ID**;獨立的免費額度目錄則有 **471 個逐模型資料列**、**34 個週期性配額池**,以及 **52 個週期性/免金鑰的永久免費提供者**。這些分母是刻意區分的;定義與去除配額池重複項目的計算方式,請參閱[提供者參考](docs/reference/PROVIDER_REFERENCE.md)和[免費方案](docs/reference/FREE_TIERS.md)。
## 🖥️ OmniRoute運作的地方 — 任何地方
> 相同的應用程式、您的機器、您的規則。從全域 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 在手機上運行zqm zqn 、 zqo 、無 root zqp zql在手機上運行 、 24/7、無 root zqp zql在手機上運行zqm zqn 、 zqo 、無 root
📲 PWA “添加到主屏幕” 全屏,離線,可從瀏覽器安裝
🧩 OpenCode插件 @omniroute/opencode-providerOpenCode生 zqn 整合
🤖 VS代碼Copilot聊天 安裝OmniCopilot 擴充 本機Copilot聊天選擇器中的每個OmniRoute模型 — 穩定&內部人士
🛠️ 來自原始碼 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程式碼中的OmniRoute原生Copilot聊天
> 沒有新的側邊欄,沒有新的聊天UI — OmniRoute提供的每個模型都顯示在**您已使用的Copilot聊天模型選擇器**。自VS Code 1.122 起,提供者模型無需GitHub登入或Copilot訂閱即可運作 - 代理模式、工具呼叫和願景都是免費的。
安裝**[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**副檔名,將其指向您的OmniRoute伺服器(預設為`localhost:20128`),然後開啟Copilot聊天→模型選擇器→**管理模型...** →**OmniRoute** 。
儲存 連結 與 一起使用
🧩 VS代碼市場 安裝→ < td 對齊="left">VS代碼 — 穩定&內部人士
🔓 開啟VSX登錄 安裝→ < td 對齊=「左」>Cursor、 Windsurf、VSCodium、Theia、代碼伺服器、 Antigravity、 Kiro
從編輯器內部:開啟**擴充**查看、搜尋**“OmniRoute”** , 點選**安裝**— 兩家商店的工作方式相同。來源、問題和發布操作手冊在[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)上發布。
📖 [VS代碼Copilot聊天指南](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相同,只是戴上帽子。 🎩
做什麼 如何
🟢 監督伺服器 產生 zqhomnirouteserve 採用已經運行的實例而不是複製它
📊 即時使用情況一目了然 提供者配額欄、 Claude session/weekly重置倒數計時限制、30 天成本明細
🔄 自動更新到位 分階段安裝、原子交換、失敗回滾 — 總是使用最新版本
🚀 登入時啟動 登入時可選啟動;僅托盤,無停靠圖示
🩺 Doctor &日誌 一鍵診斷與伺服器日誌存取
```sh
brew install --cask zoispag/tap/omniroute-tray
```
想要下載嗎?從以下位置取得最新的.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,並將 OmniRoute 部署於 VPS
OmniRoute 位於伺服器上?使用**相同的 CLI**,直接從筆記型電腦操作。只需使用具範圍限制的存取權杖登入一次,
之後每個命令都會以遠端伺服器為目標。
```bash
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`;會產生程序的路由僅限於回送介面。
📖 [遠端模式](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 針對 shell/修補程式/搜尋/建置輸出的無損優先 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 wire 上經測量的 Claude Fable 5;GPT 5.6 transformers 仍會在提供者回執完成前安全關閉。四種壓縮設定檔(預設為 aggressive、balanced、coding-safe、passthrough)(最積極;選擇性啟用)
程式碼區塊、URL 與結構化資料均會以**逐位元組精確**的方式**一律保留**。**一鍵預設組合**會結合這些引擎:
模式 節省 最適合
🪶 Lite ~15% 一律啟用的安全預設值
🪨 Standard (Caveman) ~30% 日常程式設計
⚡ Aggressive ~50% 長時間且大量使用工具的工作階段
🔥 Ultra ~75% 最大節省量
🧰 RTK 60–90% 🔗 Stacked (RTK → Caveman) 78–95% 混合提示與工具記錄
**實際範例 — Standard 模式:**
> **之前(69 個 token):** _"你的 React 元件會重新渲染,很可能是因為你在每個渲染週期都建立了新的物件參照。當你將行內物件作為 prop 傳入時,React 的淺層比較會將它視為每次都不同的物件,因而觸發重新渲染。我建議使用 useMemo 來記憶該物件。"_
>
> **之後(19 個 token):** _"每次渲染都產生新的物件參照。行內物件 prop = 新參照 = 重新渲染。用 useMemo 包裝。"_
>
> **相同答案。少了 72% 的 token。準確度完全不受影響。** ✅
**PT-BR 範例 — [Troglodita](https://github.com/leninejunior/troglodita) 模式:**
> **之前(42 個 token):** _「問題在於元件正在重新渲染,因為每個渲染週期都會建立新的物件參照。我會建議使用 useMemo。」_
>
> **之後(12 個 token):** _「重新渲染:每個週期都有新的參照(內嵌物件重新建立)。使用 `useMemo`。」_
>
> **相同的回應。少了約 70% 的 token。技術精確度完整保留。** ✅
### 🎚️ 超越引擎 — 輸出樣式、適應式撥盤與每個請求的控制
上述 12 個引擎縮減了**輸入**內容。另外三個層次則塑造**如何**、**何時**以及輸出內容:
- **🪄 輸出樣式** _(輸出軸導引)_ — 注入具決定性且快取安全的回應塑形指示;可組合使用,每個樣式都有 `lite` / `full` / `ultra` 三種強度。新增樣式只需一行註冊項目:
- **簡潔文句** — 移除填充詞/冠詞/模稜兩可的表述;完整保留技術實質。
- **較少程式碼** — 「懶惰資深開發者」YAGNI:最小可行變更,不加入未要求的腳手架。
- **馬尾(懶惰資深開發者)** — 沿著 YAGNI 階梯向上,修正根本原因,採用最小可行差異。
- **我有 ADHD(行動優先)** — 先提出下一個行動,步驟編號化,提供一個具體的下一步,不加前言。
- **簡潔 CJK(文言)** — 古典中文的極簡風格(僅限 `zh` 地區設定)。
- **🎯 適應式內容預算** _(撥盤)_ — 不再使用單一的開/關 token 閾值,而是僅在需要**符合模型內容視窗**時,逐步啟用成本最低、資訊損失最小的引擎。策略:`reserve-output`(預設,感知模型)· `percentage` · `absolute`。模式:`floor`(保證符合)· `replace-autotrigger`(以你的明確選擇為優先)· `off`(舊版閾值)。
- **🎛️ 壓縮決策位置** _(優先順序,由高至低)_ — 每個請求的 `x-omniroute-compression` 標頭 › routing-combo 覆寫 › 啟用中的具名設定檔 › 適應式/自動觸發 › 面板預設值 › 關閉。套用的計畫會在 `X-OmniRoute-Compression: ; source=` 回應標頭中回傳。
你可以依 token 閾值自動觸發、切換適應式撥盤、固定具名設定檔、為單一請求設定一次性選項,或為每個 routing combo 指派管線 — 選擇最符合工作負載的方式即可。可選用的離線 **評估工具**(`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)。
> **使用 npm 11 或更新版本?** npm 可能會封鎖套件生命週期指令碼,除非允許執行這些指令碼。OmniRoute 的 `postinstall`(`node scripts/build/postinstall.mjs`)需要用來準備原生執行階段檔案。全域安裝時,請允許 npm 警告中列出的套件。對於 OmniRoute 3.8.54 回報的套件集合:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> 若要在未來的全域安裝中重複使用此允許清單,請先設定一次,之後再正常安裝:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> 依賴清單可能會在不同版本間變更;如果 npm 回報不同的清單,請使用該警告中的套件名稱。允許某個套件即可讓其安裝指令碼執行。
> **使用 Gemini Web 或其他網頁 Cookie 提供者?** npm 套件包含
> Playwright,但不包含其 Chromium 二進位檔。首次提出網頁提供者請求前,請參閱
> [Playwright Chromium 設定](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> 說明。
儀表板位於 `http://localhost:20128` · API 位於 `http://localhost:20128/v1`。
**2) 使用你自己的帳戶連接符合條件的提供者**
儀表板 → **Providers** → 選擇目前條款與配額符合使用情境的提供者 → 新增其 API 金鑰或完成帳戶流程。免費方案可能需要註冊、核准或付款方式。請查看 [免費方案指南](docs/getting-started/FREE-TIERS-GUIDE.md);無金鑰可用性並無保證,而標記為 `tos: avoid` 的提供者預設會從 `auto` 中排除。
**3) 指定你的程式碼工具**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) 驗證是否正常運作**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
你應該會看到已連接的模型。🎉 就這樣 — 開始編寫程式碼吧,OmniRoute 會為你自動路由並在需要時切換備援。
如果你的用戶端無法傳送自訂標頭,OmniRoute 也提供帶有 token 的相容性別名:
```txt
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、原始碼、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**:用於原生 Bun 正式環境部署的多階段 `Dockerfile.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 + 本機 rootless 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 和網頁儀表板由同一個
程序透過同一個連接埠提供,因此目前沒有獨立的純 CLI 套件。
# 🎬 OmniRoute 實際運作
## 📹 影片指南
面板快照日期:2026-10-18 · 原始目錄:YT 1.352 | TT 334 | IG 290 · 資料新鮮度(天):YT 5 | TT 48 | IG 49
🎬 #1 — Instagram
nick_saraev — 3,042,474 次觀看
🎬 #2 — Instagram
nnapier7 — 1,454,535 次觀看
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 次觀看
🎬 #4 — Instagram
theopenstack — 692,419 次觀看
🎬 #5 — TikTok
migue.baena — 685,788 次觀看
**完整排名(已依標準 URL 去除重複項目、`v > 0`,觸及人數最高):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** |
| #6 | #7 | #8 | #9 | #10 |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **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(14 至 18/10 期間 API 配額已用盡),TikTok/Instagram 則自 2026-09-02 起凍結(無資料擷取額度);仍有 76 部影片尚無觀看次數資料。
> 🎬 **製作了關於 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 — 100% TypeScript 涵蓋 src/ 與 open-sse/(自 v2.0 起核心中沒有任何 any)
框架 Next.js 16 + React 19 + Tailwind CSS 4
資料庫 better-sqlite3(SQLite、WAL 日誌記錄)+ LowDB(JSON 舊版)— 147 個領域模組、233 次遷移
記憶體 SQLite FTS5 全文搜尋 + int8 量化向量嵌入、具類型衰減
結構描述 Zod 4 — MCP 工具 I/O 驗證 + API 合約
通訊協定 MCP(stdio / HTTP / SSE)+ A2A v0.3(JSON-RPC 2.0 + SSE)
串流 伺服器傳送事件(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 — 8,400+ 個受追蹤測試檔案中共有 60,000+ 個靜態測試宣告 (單元、整合、E2E、安全性、生態系統)
平台 桌面(Electron)· Android(Termux)· PWA(任何瀏覽器)
CI/CD GitHub Actions — 發行時自動發布至 npm + Docker Hub
連結 網站 · npm · Docker Hub
## 📖 文件
### 📘 開始使用
文件 說明
使用者指南 Provider、組合、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
VM 部署 完整指南:VM + nginx + Cloudflare 設定
Fly.io 部署 使用持久化儲存部署至 Fly.io
Termux 指南 透過 Termux 在 Android 上執行 OmniRoute
PWA 指南 Progressive Web App 安裝、快取、架構
解除安裝指南 適用於所有安裝方法的完整移除
環境設定 完整的 .env 變數與參考資料
### 🧠 功能與架構
文件 說明
架構 系統架構、資料流與內部機制
壓縮指南 7 種選項的管線:off / lite / standard / aggressive / ultra / RTK / stacked
RTK 壓縮 命令輸出壓縮、篩選器、信任、驗證、原始輸出復原
壓縮引擎 Caveman、RTK、堆疊管線、儀表板/API/MCP 介面
壓縮規則格式 Caveman 與 RTK 篩選器的 JSON 規則套件結構描述
壓縮語言套件 語言偵測與 Caveman 規則套件撰寫
復原能力指南 斷路器、冷卻時間、佇列、防止驚群效應、TLS 欺騙
自動組合引擎 16 因子評分、模式套件、自我修復
Proxy 指南 3 層 Proxy 系統、1proxy 市集、登錄檔 CRUD
免費方案 整合目錄:34 個有文件記載的定期資源池/465 個已編目的免費方案項目
功能展示 附螢幕截圖的視覺化儀表板導覽
程式碼庫文件 適合初學者的程式碼庫導覽
### 🤖 通訊協定與 API
### 📋 專案與品質
# ⭐ 頂尖貢獻者
> OmniRoute 由充滿熱情的開源社群共同塑造。這些人士做出了卓越的貢獻,直接影響了專案的品質、穩定性與觸及範圍。**謝謝你們。**
### 依已合併提取要求排序的外部貢獻者
排名 貢獻者 已合併 PR ~變更行數
1 maxmad64bis 418 25,367,739
2 HouMinXi 295 13,557,796
3 pacocartones 222 81,551
4 backryun 210 270,562
5 JxnLexn 198 3,570,623
6 oyi77 190 411,243
7 KooshaPari 151 5,972,314
8 rdself 145 80,663
9 RaviTharuma 123 500,065
10 herjarsa 88 230,872
11 hartmark 85 2,849,623
12 jonlwheat2-gif 68 69,097
13 artickc 62 43,502
14 xiaoyaner0201 59 126,220
15 chirag127 52 6,661
16 xz-dev 50 245,976
17 woodsonl 48 811,771
18 rqzbeh 46 151,229
19 MumuTW 43 28,166
19 QuangBlue 43 13,112
普查時間為 2026-11-03 03:01:19 UTC,使用即時的 release/v3.8.53 頂端提交 05bc048d6c。分頁式 GitHub GraphQL 普查包含 9,947 個已合併 PR:其中 4,130 個由儲存庫擁有者提交、240 個由 Dependabot 提交、6 個由其他機器人/應用程式提交,以及來自 883 位不同貢獻者的 5,571 個外部 PR 。「變更行數」是 GitHub 的新增行數 + 刪除行數,並包含產生的檔案、鎖定檔、目錄、翻譯與文件;它代表的是變動量,而非作者撰寫的程式碼行數。53 個 PR 回報的 GitHub 差異超過 500,000 行(例如 #13399,單一提供者新增項目便列出 2,347 個變更檔案),使上方數個總數膨脹。並列者共同排名。
### GitHub 歸屬的提交
於 2026-11-03 02:09:16 UTC 重新核對:GitHub 歸屬的提交由儲存庫 Contributors API 針對 release/v3.8.53 預設分支所回報。API 回傳了 903 個身分(429 位使用者、2 個機器人、472 個匿名身分);此表格排除了維護者、機器人和匿名身分,並保留並列名次。此排名不同於上方的已合併 PR 排名及下方的 Git 中繼資料普查。
> 🙏 這些貢獻者所提供的功能、錯誤修正及基礎架構改進,是讓 OmniRoute 可靠且功能豐富的**核心要素**。每個提取要求、每個測試案例,以及每個 i18n 翻譯檔案都很重要。開放原始碼是由像他們這樣的人共同建立的。
---
## 💖 贊助者
衷心感謝自掏腰包資助 OmniRoute 的每一位贊助者——每一筆貢獻都讓本專案得以維持免費、獨立並持續發展。
……以及其他希望保持匿名的支持者 💛
公開的 GitHub Sponsors 資料已於 2026-10-18 透過 GitHub Sponsors GraphQL API 重新驗證:總計 14 筆贊助中有 11 筆為公開贊助(6 筆目前有效、5 筆為過去贊助)。上方的有效狀態標籤由 GitHub 的 isActive 狀態決定;過去公開的一次性支持者仍會列名致謝,而私人贊助者則維持匿名。Ko-fi、Buy Me a Coffee、Liberapay、PIX 與加密貨幣捐款因沒有公開的贊助者紀錄,故未列於此處。
💖 成為贊助者 → — 每一美元都能幫助 OmniRoute 維持免費與獨立。
## 👥 1,000+ 位貢獻者
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
於 2026-11-02 在 live release/v3.8.53 提交端 1c7135e0fb(7,972 次提交)完成稽核:1,074 個正規化的人類 Git 身分 — 759 個以提交作者身分出現(包括維護者),315 個僅出現在明確的 Co-authored-by 尾註中。此統計套用 .mailmap,不區分大小寫地比對電子郵件地址,僅在數字形式與一般 GitHub noreply 地址編碼相同帳號時將其合併,排除 29 個機器人/代理程式/服務/佔位身分,且不會僅因一般電子郵件地址的顯示名稱相同而將其合併。2026-08-24 的稽核公布了 639 個;以該稽核基準的 ac02c5b42f 重新執行此方法得到 619 個,因此增幅來自新貢獻者,而非較寬鬆的方法。
### 如何貢獻
1. 複製儲存庫
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
```
## 📊 Stars
## 🌍 StarMapper
## 🙏 致謝
OmniRoute 踩在巨人的肩膀上。它最初是 **[9router](https://github.com/decolua/9router)** 的分支,以及 Go 專案 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** 的 TypeScript 移植版——從那之後,下面的每個子系統都受到某個更早完成這項工作的開源專案啟發。每個專案都形塑了 OmniRoute 的一個具體部分。這是我們對所有這些專案的致謝。🙏
> ⭐ 星星數已於 2026 年 11 月 3 日透過 GitHub 的 REST API 驗證——請前往為這些專案加星。數量是指定日期的精確快照,之後自然會變動。
### 🧬 血統與閘道
專案 ⭐ 對 OmniRoute 的啟發
9router 31,861 此分支所基於的原始專案——在此基礎上擴充了多模態 API,並完整改寫為 TypeScript。
CLIProxyAPI 57,329 啟發此 JavaScript / TypeScript 移植版的 Go 實作。
LiteLLM 62,580 其公開定價資料集為我們的成本追蹤同步功能提供資料,而其提供者正規化模型則為我們的路由提供參考。
codex-chatgpt-web 15,435 MIT 原始碼經改編後納入隨附的 ChatGPT Web → Codex Responses 橋接器,包括瀏覽器工作階段、回應框架、用量與網頁搜尋介面卡。
free-claude-code 65,966 其模式被移植至串流復原、無思考別名、備援網頁搜尋、滑動視窗限制、日誌遮罩及強化的啟動器流程。
composer-api 347 Cursor Composer 的工具選擇、輸出限制與工具提交模式,經改編後納入原生 Cursor 執行器。
codex-multi-auth 561 新登入與重新整理權杖輪替模式被移植至 Codex OAuth 重新驗證。
opencode-anthropic-auth 562 Claude Code 相容的轉換預設值與計費標頭行為,被泛化至 OmniRoute 以設定檔驅動的橋接器。
grok2api-merged 2 其 Grok 模型對應、虛假的 TypeError Statsig 產生器、請求與裝置預設值,以及 NDJSON 回應處理器,都經實質改編後納入 OmniRoute 的 Grok Web 執行器。
TQZHR/grok2api 707 grok2api-merged 背後的主要傳遞程式碼來源;其模型、標頭、承載、Statsig 與處理器實作,都保留在 Grok Web 的血統中。
chenyme/grok2api 7,874 Grok 承載與裝置預設值、Statsig 產生器,以及經由 TQZHR 與 grok2api-merged 延續下來的 result.response 處理器,其底層 MIT 原始碼來源。
grok2api-pro 27 grok2api-merged 所致謝的傳遞來源之一,提供其代理集區層;OmniRoute 保留該血統聲明,但不主張在其受限的 Grok Web 執行器中移植代理集區。
GrokProxy 52 其以 Cookie 驗證的 Grok 代理,以及 result.response.token 串流模式,為 OmniRoute 的 Grok Web 傳輸提供參考。
GrokBridge 5 其 HTTP/瀏覽器上游設計曾供原始 Grok Web 實作參考;其直接 HTTP 路徑源自 GrokProxy,因此不主張有獨立的程式碼移植。
### 🗜️ 上下文與權杖壓縮——引擎
專案 ⭐ 對 OmniRoute 的啟發
Caveman 116,957 病毒式流傳的「為什麼要用很多 token,少量 token 就能完成工作」專案——其穴居人式的語言哲學驅動了我們的標準壓縮模式,以及 30 多項填充詞/濃縮規則。
RTK – Rust Token Killer 85,350 高效能命令輸出壓縮——啟發了我們的 RTK 引擎、JSON 篩選器 DSL、原始輸出復原,以及堆疊式的 RTK → Caveman 管線。
headroom 78,672 可逆的上下文壓縮(SmartCrusher)——啟發了我們的 headroom 引擎,以及 ccr 擷取標記模式。
LLMLingua 6,797 提示壓縮研究(LLMLingua / LLMLingua-2)——啟發了我們非同步、程式碼安全且失敗開放的 llmlingua 引擎。
llmlingua-2-js 33 JS/ONNX 移植版本(MobileBERT / XLM-RoBERTa),用作我們 LLMLingua 引擎的工作執行緒後端。
Troglodita 50 PT-BR token 壓縮——驅動我們的 pt-BR 語言套件:針對巴西葡萄牙文文法調校的贅詞縮減與填充詞移除。
ponytail 182,929 病毒式流傳的「懶惰資深開發者」YAGNI 程式設計技能——啟發了我們的 less-code 輸出樣式:以最小可運作變更為導向,減少_產生的_程式碼(這是相對於 Caveman 簡潔文字的輸出軸對應概念)。
i-have-adhd 59,838 其以行動優先、適合 ADHD 的回應樣式,被改編為 OmniRoute 跨五種語言的精簡輸出樣式。
### 🧩 精簡格式、token 研究與程式碼感知工具
專案 ⭐ 對 OmniRoute 的啟發
TOON 25,602 以 token 為導向的物件表示法——其欄式、標頭加資料列模型形塑了我們的表格式壓縮階段。
GCF – Graph Compact Format 61 其精簡圖形格式與通用設定檔設計,為 OmniRoute 的表格式壓縮與 Headroom 編解碼器格式提供了參考。
gcf-typescript 4 直接以 MIT 授權的 TypeScript 實作移植並擴充,作為 Headroom 通用設定檔編解碼器。
token-optimizer-mcp 566 Brotli/SQLite 快取加上每個工作階段的上下文差異——啟發了我們的 session-dedup 引擎。
token-savior 1,203 Bash 輸出壓縮加上 MCP 設定檔——啟發了我們的壓縮放棄紀律,以及 MCP 工具資訊清單縮減。
token-saver 162 具內容感知、依檔案類型進行的輸出壓縮,並採用失敗感知的放棄機制——驗證了我們的依類型分派與最低收益跳過策略。
token-optimizer 2,853 「找出幽靈 token」——其卸載加上可復原控制代碼的模式,為我們的 CCR 卸載構想提供了參考。
TokenMizer 34 工作階段圖形加上跨回合行去重的藍圖,為我們的 session-dedup 設計提供了參考。
OmniCompress 3 Rust 欄式 JSON 加上內容定址擷取與跨訊息去重——驗證了我們的 headroom/ccr/session-dedup 引擎設計,以及快取穩定的「壓縮形式與位置無關」不變量。
mcp-compressor 140 MCP 工具結構描述/說明壓縮——為我們的 MCP 工具資訊清單基數縮減提供了參考。
RepoMapper 218 Aider 風格的儲存庫對映排名——為我們的儲存庫對映/擷取排名探索提供了參考。
quiet-shell-mcp 4 透過 MCP 以宣告式方式縮減 shell 輸出——驗證了我們的宣告式 bash 輸出壓縮。
ts-morph 6,222 TypeScript 編譯器 API 工具組——啟發了我們以剖析器為基礎的註解移除功能,同時保留字串、樣板與正規表示式常值。
### 🧠 記憶體與 RAG
專案 ⭐ 對 OmniRoute 的啟發
Mem0 68,294 通用記憶體層——其以代理作為寫入/讀取邊界的模型形塑了我們的記憶體架構。
Letta (MemGPT) 25,321 具備分層記憶體的有狀態代理——啟發了我們的 Context Control & Recovery (CCR) 分層模型。
WFGY 1,804 ProblemMap 對 16 種反覆出現的 RAG/LLM 失敗模式所建立的分類法——也是我們疑難排解指南中的共用詞彙。
### 🛰️ 流量檢查、MITM 與透明代理
專案 ⭐ 對 OmniRoute 的啟發
llm-interceptor 81 對程式設計助理 ↔ LLM 流量進行 MITM 攔截/分析的方式,影響了早期 Traffic Inspector 的需求。先前衍生的四個模組——SSE 合併、對話正規化、密鑰遮罩與標頭清理——現已由根據公開協定標準所獨立實作的乾淨室版本取代。兩個主機傳遞介面(passthrough.ts 與 _internal/bypass.cjs)仍是 OmniRoute 內部實作,並獨立分類;它們並未作為該替換工作的一部分重寫。
ProxyBridge 6,978 逐程序的透明代理路由——啟發了我們的防當機 MITM 拆除機制、socket 閒置逾時、/proc 程序歸屬與 TPROXY 擷取。
### 📚 模型資料、可觀測性與 UI
專案 ⭐ 對 OmniRoute 的啟發
models.dev 7,486 AI 模型規格、定價與能力的開放資料庫——原生同步至我們的模型目錄。
React Flow / xyflow 38,874 為我們的即時 Compression Studio 與 Combo/Routing Studio 提供支援的節點式圖形函式庫。
LangGraph 44,349 LangGraph Studio 的即時工作流程圖視覺化,啟發了我們各個 Studio 的即時級聯檢視。
Langfuse 36,907 其 trace → span → generation 可觀測性模型形塑了我們的 Compression Studio 瀑布圖。
Kiali 3,647 Istio 服務網格可觀測性——啟發了我們在 Routing/Combo Studio 中的斷路器徽章與錯誤邊線視覺效果。
lobe-icons 2,666 用於在我們的儀表板中呈現各個提供者圖示的 AI/LLM 品牌標誌。
flag-icons 12,499 提供 README 語言選擇器所使用、採 MIT 授權的 SVG 國旗圖示。
### 🛡️ 安全性
專案 ⭐ 對 OmniRoute 的啟發
awesome-secure-defaults 723 精選的安全預設函式庫清單,為我們的安全性選擇提供指引(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)。
### 🧭 互補工具
專案 ⭐ 對 OmniRoute 的啟發
ClawRouter 6,649 啟發了請求去重、緊急零成本備援、可插拔的 Auto-Combo 策略與多語言意圖分類。
Antigravity-Manager 32,785 其感知帳戶的模型重新映射、可執行檔路徑驗證與方案標籤行為,為 OmniRoute 的 Antigravity 執行階段提供了參考。
vscode-antigravity-cockpit 4,852 其精簡的配額重設倒數格式,啟發了 OmniRoute 中對應的提供者限制顯示方式。
AionUi 33,996 其 ACP 整合啟發了 OmniRoute 自動偵測已安裝 CLI 代理的功能。
CodexBar 22,955 識別出 Grok Build 配額介面;OmniRoute 隨後獨立驗證並修正了即時線上格式。
## 📄 授權條款
MIT 授權條款 - 詳情請參閱 [LICENSE](LICENSE)。
---