Second `npm run release:reconcile` pass on `release/v3.8.50..release/v3.8.51` (091589089c..c0f92ec98a, 916 non-merge commits, 877 merged PRs): - fold the 173 changelog.d fragments accumulated since #12971 under `## [3.8.51]` and delete them - generate bullets for the 58 cycle commits that had no fragment (4 features / 42 fixes / 12 maintenance), each with the merged PR link and `— thanks @author` - link 137 fragment bullets to the PR of the commit that added them and credit the author; two prefix/origin mismatches reviewed (#12945→#13392, #13001→#13379, both maintainer rebaselines of other people's PRs) - refresh "Release by the numbers" + Top-25 and regenerate the `### 🙌 Contributors` hall (112 external contributors + maintainer; every non-bot author of the 877 merged PRs present) - closed-PR credit audit for the window: nothing to add (#13215→#13361 and #13059→#13690 are still open, #12998 was independently fixed earlier by #12853); no human co-author trailers, no commits without a PR - resync the 58 i18n CHANGELOG mirrors Gates: check:changelog-integrity OK, check:docs-sync PASS.
README (中文 (繁體))
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 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-CN
💰 每月約 1.47B 免費 Token
手動疊加各家的免費方案非常麻煩——數十個 SDK、數十種速率限制,而且根本不知道自己實際擁有多少額度。OmniRoute 收錄了分布於 34 個週期性共用池金鑰的 452 個免費方案項目,並根據具有已公布正值月度預算的 16 個共用池,加上五個依模型計算的 Groq 上限來計算 Token 總額,同時針對共用額度池進行去重。只有通過區域身分驗證後才能使用的配額(目前為 ModelScope)會單獨顯示,區域身分驗證後另有約 +6M,且絕不計入標題總額。結果會持續顯示在儀表板上(
/dashboard/free-tiers)。
即時
/dashboard/free-tiers頁面的動畫摘要。完整方法說明(共用池去重、點數層級、提供者條款):docs/reference/FREE_TIERS.md。這些數字每兩週都會依據即時目錄重新稽核,且可能上升也可能下降——提供者終止免費方案時,數字就會下降;新增免費方案時,數字則會上升。我們公布的是目錄實際計算出的結果,絕不採用向上取整的最佳情境數字。
⭐ 如果 OMNIROUTE 幫你省下費用並讓工作更輕鬆,請為此儲存庫加上星號。
💬 加入社群
👋 追蹤維護者——搶先獲得新提供者、版本發布與實用技巧:
問題、提供者情報、發展藍圖與支援 → Discord · Telegram · WhatsApp 🌍 全球社群 / 🇧🇷 巴西社群 / 入口網站
📈 Gateway 持續成長
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 提供者 | 290 | 352 | 更多已排入佇列 |
| 🧠 不重複的聊天模型 ID | 1185 | 1312 | — |
| 🖼️ 模態橋接 | — | 🆕 視覺 + 音訊 + 影片 | — |
| 📡 Radar 免費目錄 | — | 🆕 選擇加入 | — |
| ⚖️ 配額感知排程 | — | 🆕 Quota-Share | — |
| 📊 配額遙測 | — | 🆕 即時 | — |
→ 路線圖 — 沿軌駛向 v3.9.0 LTS
🧩 可用版本
| 🚀 開始 | 🚀 快速開始 | 📦 安裝 | 🆓 零設定 |
| 💡 瞭解 | 💥 我們的承諾 | 🤔 為何選擇 OmniRoute | 🏆 獨特之處 |
| ⚙️ 功能 | 🎯 Combos | 🌐 提供者 | 🔌 CLI 與 MCP |
| 🗜️ 壓縮 | 🖥️ 執行環境 | 🔒 隱私 | |
| 👀 查看 | 🎬 實際運作 | ✨ 最新功能 | 🤖 相容的 CLI |
| 💚 支持 | 💚 支持/捐款 | 💬 社群 | 💖 贊助者 |
| 📦 專案 | 🛠️ 技術堆疊 | 📖 文件 | 👥 貢獻者 |
🆓 安裝後立即可用 — 無需金鑰、無需設定
# 全新安裝、零憑證 — `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/
💥 我們的承諾
🤔 為什麼選擇 OmniRoute?
🤝 由我們的開源夥伴支持
想成為開源夥伴嗎? 這些公司支持開源並協助 OmniRoute 持續發展,而我們也會公開說明他們提供的每一份資源都用在何處。聯絡我們:diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
感謝我們的創始開源夥伴 Kimi (Moonshot AI) 支持本專案!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 的一級支援:Chat Completions、原生 /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 提供一級支援:Chat Completions、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。
🧱 內建韌性(3 個獨立層級)
🏆 OmniRoute 的獨特之處
📊 完整方法說明及與 9router、OpenRouter、CLIProxyAPI 和 LiteLLM 的逐項功能比較 → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
💚 支持 OmniRoute
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(巴西) | 即時、免手續費 | 金鑰與 QR 碼如下 |
| ₿ 加密貨幣 | 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 |
⚠️ 每種貨幣請僅透過所示網路傳送 — 使用錯誤的網路可能導致資金遺失。
🐛 發現錯誤或有意見要回饋?請建立一則討論。
開發者注意事項:為方便開發者,本專案可能會在 npm install/postinstall 期間產生本機 .env 檔案。此檔案已刻意透過 .gitignore 忽略(請參閱 .gitignore),且絕不可提交 — 若不慎提交,請輪替所有可能外洩的密鑰,並從歷史記錄中移除該檔案。如需管理本機環境檔案與密鑰的指引,請參閱 docs/DEVELOPER-ENVIRONMENT.md。
📡 OmniRoute Radar
免費方案的主要亮點仍是上述文件所列、經資源池去重複後的目錄所提供的每月 約 14.7 億個 token。提供者的臨時註冊點數可另外將首月額度提高至 約 20.7 億。Radar 是可選用且經簽署的目錄覆蓋層,適合希望在 OmniRoute 各版本發布之間取得更新免費模型可用性資訊的使用者;社群目錄及所有現有免費功能仍維持免費。
贊助者可取得即時目錄及其他提供者機會。其獨立且可變動的上限為每月最多約 30 億個 token,具體取決於提供者的可用性。該上限並非保證:提供者可隨時變更配額、資格條件、模型或地區。
Radar 採自願加入制,且僅使用 GET。OmniRoute 用戶端不會上傳提示詞、流量、提供者設定、使用情況遙測資料或本機公告略過狀態。如需瞭解資格條件及目前目錄,請前往 radar.omniroute.online/planos。
✨ 最新內容
v3.8.20 → v3.8.50 的近期重點。完整歷史記錄請見
CHANGELOG.md。
- 🎛️ OmniConductor — 將傳入的 A2A 委派至您的代理程式叢集、在 Agent Card 上提供 Conductor 技能,以及具備 Faro 按鍵通話語音聊天功能的儀表板面板。→ A2A 伺服器
- 🛂 自適應准入與過載保護 — 重量級聊天請求會進入佇列,而非回傳 503;每個連線均採用原子化 RPM 滾動租約。→ 韌性指南
- 🗂️ 標準化
/v1/models排序 — 每個提供者各有一個依提供者分組的連續區塊(組合固定置頂),並在所有目錄來源中保持穩定。→ API 參考 - 🗜️ 壓縮強化 — 預設啟用解壓膨脹防護、適用於德文/法文/日文及中文(文言)的 Caveman 套件,以及適用於 Gradle 與 .NET 的 RTK 篩選器。→ 壓縮
- 💸 如實呈現固定費率成本 — 訂閱/程式設計方案提供者在成本分析中顯示為 $0;預算、配額與路由仍會持續估算。→ API 參考
- ⚖️ Quota-Share 路由 — 在集區金鑰之間公平分配共用帳戶的配額,並以工作守恆方式將閒置份額借予其他金鑰。→ 韌性指南
- 🤖 單一命令完成 CLI/代理程式設定 — 13 個已註冊的
setup-*命令;omniroute run可啟動 7 個 CLI(Claude Code、Codex、Aider、Goose、OpenCode、Qwen Code、Gemini CLI);omniroute configure支援 10 個目標,提供互動式提供者+模型選擇器,以及依情境設定的最愛項目。→ CLI 整合 - 🛰️ 遠端模式 — 使用具範圍限制的權杖(
connect/contexts/tokens)操控遠端 OmniRoute,並為 VPS 安裝提供antigravityOAuth 輔助工具。→ 遠端模式 - 🧭 更聰明的自動路由 —
auto/<category>:<tier>組合、Fusion(模型評審團+裁判)、任務感知路由,以及依請求設定的模型/模式/USD 預算覆寫。→ Auto-Combo - 🗜️ 可插拔壓縮 — 12 個可組合引擎+Compression Studios:LLMLingua-2、雙層 Ultra、omniglyph、逐步保真度閘門、GCF v3.2、拖曳重新排序編輯器。→ 壓縮
- 🕵️ 透明 MITM 解密(TPROXY) — 攔截忽略代理環境變數的 CLI,並提供個別 SNI CA 與信任存放區安裝程式。→ MITM/TPROXY
- 💸 無所不在的成本遙測 — 每個端點皆提供
X-OmniRoute-*成本/用量標頭、快取命中節省金額標頭,以及個別金鑰的 USD 支出配額。→ 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……以及更新後的 352 個提供者目錄。→ 提供者
- 📡 路由透明度 — 每個回應都帶有
X-OmniRoute-Decision標頭,標明為其提供服務的策略/提供者/延遲;新增的cache-optimized組合策略+Auto-CombocacheAffinity因素,會將重複請求路由回持有已快取前綴的連線;唯讀/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 免費提供者排名。→ 文件
🤖 相容的 CLI 與程式設計代理
一份設定 —
http://localhost:20128/v1— 即可讓所有 AI IDE 或 CLI 使用免費與低成本模型。
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 全部 36 個工具(26 個 CLI Code + 10 個 CLI Agent)的個別設定方式 → 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"
# 或以互動方式選擇提供者與模型,並寫入該工具自己的設定:
omniroute configure codex # 亦支援:claude opencode qwen aider goose gemini cline continue kilo
每個命令都會遵循目前啟用的遠端情境(omniroute connect <host>),--dry-run
可在不執行的情況下預覽實際的環境變數與引數,而 --api-key-env NAME 可避免機密資訊
出現在 shell 歷史記錄中。→ CLI 整合
🌐 352 個 AI 提供者 — 152 個標記為免費
352 個已註冊提供者,涵蓋標準聊天、媒體、搜尋、本機、雲端代理程式與系統集合,其中 152 個帶有
hasFree: true探索中繼資料。聊天模型登錄檔涵蓋 229 個提供者 / 2,554 個不同的提供者-模型配對 / 1,283 個原始模型 ID;獨立的免費額度目錄包含 443 筆各模型資料列、34 個週期性額度池,以及 53 個提供週期性/無金鑰永久免費方案的提供者。這些分母依設計本就不同;定義與經額度池去重後的計算方式,請參閱提供者參考資料與免費方案。
🏢 所有主要實驗室 — 透過單一端點存取
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
……以及其他 330 多個提供者 — 每個圖示都會即時從儀表板的提供者目錄載入。📖 提供者參考資料
🆓 永久免費 — $0,無須信用卡
📖 完整的機器可讀目錄 → docs/reference/PROVIDER_REFERENCE.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 指南 · 桌面版 · 選單列系統匣 · Termux · PWA · OpenCode
🧩 全新功能:在 VS Code 原生 Copilot Chat 中使用 OmniRoute
無需新側邊欄,也無需新的聊天介面 — OmniRoute 提供的每個模型都會直接顯示在 您原本就在使用的 Copilot Chat 模型選擇器中。從 VS Code 1.122 起,提供者模型無需 登入 GitHub 或訂閱 Copilot 即可使用 — 免費享有代理程式模式、工具呼叫及視覺功能。
安裝 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。
📖 VS Code Copilot Chat 指南 — 設定、選擇器顯示的內容、分頁內儀表板、疑難排解
🎩 全新功能:OmniRouteTray — 常駐選單列的閘道
omniroute serve最適合持續運行。OmniRouteTray 將它變成設定完成後即可放著不管的 macOS 選單列應用程式:它會啟動伺服器、讓伺服器 在重新啟動後持續運行、就地更新,並讓您一鍵查看即時權杖額度 — 無需 保持終端機視窗開啟,也無需費心維護npm install -g omniroute。
它使用 Tauri v2 建置(Rust 核心小到幾乎可忽略不計),內附
已簽署的 Node 24 執行環境,並管理由應用程式擁有的 OmniRoute 安裝,因此絕不會與您的
全域 node/bun 衝突。它會共用您現有的 ~/.omniroute/ 設定與資料庫 — 所以它仍是
您原本執行的同一個 OmniRoute,只是多戴了一頂帽子。🎩
| 功能 | 運作方式 |
|---|---|
| 🟢 監控伺服器 | 啟動 omniroute serve;若已有執行中的執行個體,則接管該執行個體,而非建立重複執行個體 |
| 📊 即時用量一目瞭然 | 提供者配額列、附重設倒數計時的 Claude 工作階段/每週限制,以及 30 天費用明細 |
| 🔄 自動就地更新 | 分階段安裝、不可分割交換、失敗時回復 — 永遠使用最新版本 |
| 🚀 登入時啟動 | 可選擇登入時啟動;僅顯示於選單列,不顯示 Dock 圖示 |
| 🩺 診斷與記錄 | 一鍵執行診斷並存取伺服器記錄 |
brew install --cask zoispag/tap/omniroute-tray
偏好直接下載?請從
Releases 取得最新的 .dmg。原始碼、問題回報與建置
文件位於 zoispag/omniroute-tray。
💛 由 @zoispag 建立的社群專案——並非 OmniRoute 官方版本。
🔒 隱私優先與本機優先
🔌 完整 CLI + A2A 與 MCP
除了伺服器之外,OmniRoute 還是一套具備 80+ 個命令的完整命令列控制台,並支援開放式代理協定,讓 AI 代理能夠自行操控它。
⌨️ 真正的 CLI(不只有 start)
omniroute # 啟動閘道與儀表板(連接埠 20128)
omniroute chat # 互動式 TUI 聊天用戶端(斜線命令:/model /combo /skill /memory)
omniroute setup # 引導式首次執行精靈
omniroute doctor # 診斷提供者、連接埠與原生相依套件
🛰️ 遠端模式 — 在這裡執行 CLI,於 VPS 上執行 OmniRoute
在伺服器上執行 OmniRoute?您可以在筆記型電腦上使用相同的 CLI 操控它。只需使用具範圍限制的存取權杖登入一次, 之後每個命令都會以遠端伺服器為目標。
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;會產生程序的路由僅限迴路介面使用。
📖 遠端模式
🤝 連接代理 — 讓它自行控制 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 | 使用具範圍限制的存取權杖操控遠端執行個體 |
# 透過 MCP 將完整的 OmniRoute 工具集提供給 Claude Code:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
🗜️ 自動節省 15–95% Token
📖 運作方式 — 管線、架構與節省量計算
預設堆疊組合會依序執行 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)的理念。
🧱 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 進行 ML 語意剪枝 — 程式碼安全、非同步 |
| 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 模式:
之前(42 個 token): 「問題在於元件會重新渲染,因為每次渲染週期都會建立新的物件參照。我建議使用 useMemo。」
之後(12 個 token): 「重新渲染:每個週期都有新參照(重新建立行內物件)。使用
useMemo。」答案相同。token 減少約 70%。技術準確性完整保留。 ✅
🎚️ 不只是引擎——輸出風格、自適應旋鈕與逐請求控制
上述 12 個引擎會縮減輸入內容。另有三層機制決定如何、何時以及最終輸出什麼:
- 🪄 輸出風格 (輸出軸向控制) — 注入具確定性且快取安全的回應塑形指令;可組合使用,每種皆有
lite/full/ultra強度。新增風格只需在登錄檔加入一行:- 精簡文字 — 移除贅詞/冠詞/保留語氣;精確保留技術內容。
- 減少程式碼 — 「慵懶資深開發者」式 YAGNI:只做最小可行變更,不加入未要求的架構。
- 馬尾辮(慵懶資深開發者) — 逐級套用 YAGNI、修正根本原因,採用最小可行差異。
- 我有 ADHD(行動優先) — 先說下一步行動、步驟編號、一次只給一個具體下一步,不加前言。
- 精簡 CJK(文言) — 古典中文的極簡風格(僅限
zh語系)。
- 🎯 自適應上下文預算 (旋鈕) — 不再使用單一開/關 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-dep 警告?這些不會造成影響。
儀表板位於 http://localhost:20128 · API 位於 http://localhost:20128/v1。
2)連接免費提供者(無須註冊)
儀表板 → 提供者 → 連接 Kiro AI(免費 Claude,每個帳戶每月約 50 點額度)或 OpenCode Free(無須驗證)→ 完成。
3)設定你的程式設計工具
基礎 URL: http://localhost:20128/v1
API 金鑰: [從儀表板 → 端點複製]
模型: auto (零設定智慧路由,亦可使用任何提供者/模型)
4)確認運作正常
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
你應該會看到已連接的模型清單。🎉 就是這麼簡單——開始撰寫程式碼,OmniRoute 會自動為你選擇路由,並在必要時切換至備援。
如果你的用戶端無法傳送自訂標頭,OmniRoute 也提供含 token 的相容性別名:
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
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:用於原生 Bun 正式環境部署的多階段
Dockerfile.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 + 本機 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,並
遵循針對各拓撲的資料目錄指引。
📖 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 和網頁儀表板由同一個
程序透過同一個連接埠提供,因此目前沒有獨立的純 CLI 套件。
🎬 OmniRoute 實際運作
📹 影片指南
2026-08-24 的儀表板快照 · 原始目錄:YT 809 | TT 137 | IG 124 · 更新時效(天):YT 1 | TT 21 | IG 22
完整排名(已去除重複的標準網址,v > 0,依觸及人數由高至低):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | theopenstack — Instagram — 692,419 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 391,109 | buildwithai.club — Instagram — 347,652 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| nivedan.ai — Instagram — 331,973 | vaibhavsisinty — Instagram — 263,744 | Nick Automates — YouTube Shorts — 218,174 | theroshankrishna — Instagram — 186,786 | midudev — TikTok — 177,800 |
截至 2026-08-24 的標準化指標:1.029 部不重複影片 · 11.132.922 次已知觀看(v > 0)· 各平台共 639 個頻道/個人檔案。原始儀表板包含 1.070 列;41 個 Instagram 重複項目已依標準網址正規化,並保留每部影片的最高觀看次數。
🎬 製作了關於 OmniRoute 的影片嗎? 請附上連結並建立 issue 或發起 discussion——我們會在此展示。
📧 社群與協助
所有資源盡在一處——追蹤維護者、與社群交流,或建立 issue。
| 管道 | 位置/方式 |
|---|---|
| 💼 LinkedIn — 追蹤維護者 | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — 追蹤版本發布與秘訣 | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | 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)— 122 個領域模組、176 次遷移 |
| 記憶體 | SQLite FTS5 全文檢索 + int8 量化向量嵌入、類型化衰減 |
| 結構描述 | Zod 4 — MCP 工具輸入/輸出驗證 + 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 — 在 5,100 多個追蹤中的測試檔案內,共有 39,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 |
| VM 部署 | 完整指南:VM + nginx + Cloudflare 設定 |
| Fly.io 部署 | 使用持久性儲存空間部署至 Fly.io |
| Termux 指南 | 透過 Termux 在 Android 上執行 OmniRoute |
| PWA 指南 | 漸進式網頁應用程式的安裝、快取、架構 |
| 解除安裝指南 | 適用於所有安裝方式的完整移除流程 |
| 環境設定 | 完整的 .env 變數與參考資料 |
🧠 功能與架構
| 文件 | 說明 |
|---|---|
| 架構 | 系統架構、資料流程與內部機制 |
| 壓縮指南 | 7 選項管線:關閉/輕量/標準/積極/極致/RTK/堆疊 |
| RTK 壓縮 | 命令輸出壓縮、篩選器、信任、驗證、原始輸出復原 |
| 壓縮引擎 | Caveman、RTK、堆疊式管線、儀表板/API/MCP 介面 |
| 壓縮規則格式 | Caveman 與 RTK 篩選器的 JSON 規則套件結構描述 |
| 壓縮語言套件 | 語言偵測與 Caveman 規則套件編寫 |
| 韌性指南 | 斷路器、冷卻時間、佇列、防止驚群效應、TLS 偽裝 |
| 自動組合引擎 | 16 因素評分、模式套件、自我修復 |
| 代理伺服器指南 | 3 層代理伺服器系統、1proxy 市集、登錄檔 CRUD |
| 免費方案 | 整合目錄:34 個已記錄的週期性資源池/452 個已收錄的免費方案項目 |
| 功能展示 | 附有螢幕擷取畫面的視覺化儀表板導覽 |
| 程式碼庫文件 | 適合初學者的程式碼庫導覽 |
🤖 協定與 API
| 文件 | 說明 |
|---|---|
| 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 指南 | 42 種語言支援、翻譯工作流程、RTL |
| 發布檢查清單 | 發布前驗證步驟 |
| 覆蓋率計畫 | 針對 5,100 多個受追蹤測試檔案中 39,000 多項靜態測試宣告的測試覆蓋率策略 |
⭐ 頂尖貢獻者
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,另有來自 535 位不同貢獻者的 3,025 個外部 PR。「變更行數」為 GitHub 的新增行數加刪除行數,並包含產生的檔案、鎖定檔、目錄、翻譯與文件;此數值代表程式碼異動量,而非實際撰寫的程式碼行數。達到截止排名時的並列者均予以保留。
GitHub 歸屬的提交紀錄
|
backryun 🥇 220 次歸屬於 GitHub 的提交 |
Paijo 🥈 219 次歸屬於 GitHub 的提交 |
Randi 🥉 108 次歸屬於 GitHub 的提交 |
Ravi Tharuma 🏅 81 次歸屬於 GitHub 的提交 |
Chris 🏅 70 次歸屬於 GitHub 的提交 |
Markus Hartung 🏅 69 次歸屬於 GitHub 的提交 · 並列第 6 名 |
|
Dizzle 🏅 69 次歸屬於 GitHub 的提交 · 並列第 6 名 |
Jan Leon 🏅 64 次歸屬於 GitHub 的提交 |
zenobit 🏅 62 次歸屬於 GitHub 的提交 |
Bob.Hou 🏅 51 次歸屬於 GitHub 的提交 · 並列第 10 名 |
Xiangzhe 🏅 51 次歸屬於 GitHub 的提交 · 並列第 10 名 |
於 2026-08-24 06:14:31 UTC 重新檢查:由儲存庫 Contributors API 回報的預設分支 release/v3.8.50 中歸屬於 GitHub 的提交。API 共傳回 525 個身分(415 位使用者、2 個機器人、108 個匿名身分);此表排除維護者、機器人及匿名身分,並保留並列名次。此排名不同於上方的合併 PR 排名,也不同於下方涵蓋 639 人的 Git 中繼資料普查。
🙏 這些貢獻者所提供的功能、錯誤修正及基礎架構改進,是 OmniRoute 之所以可靠且功能豐富的核心要素。每個拉取請求、每個測試案例,以及每個 i18n 翻譯檔案都至關重要。開放原始碼正是由像他們這樣的人所打造。
💖 贊助者
衷心感謝自掏腰包資助 OmniRoute 的每一位朋友——每一筆贊助都讓本專案得以維持免費、獨立並持續發展。
![]() Andrew 💛 目前的每月贊助者 |
![]() Vlad I 💛 目前的每月贊助者 |
![]() Paco Cartones 💛 目前的一次性贊助者 |
![]() Prof. Igor Morais 💛 過去的一次性支持者 |
![]() longtao 💛 過去的一次性支持者 |
……以及其他希望保持匿名的支持者 💛
公開的 GitHub Sponsors 已於 2026-08-24 重新驗證。GitHub 的 activeOnly 狀態決定上方的目前贊助者標籤;先前已公開的一次性支持者仍列於感謝名單中,而私人贊助者則維持匿名。
💖 成為贊助者 → — 每一美元都能幫助 OmniRoute 維持免費與獨立。
👥 600+ 位貢獻者
於 2026-08-24 以凍結基準 ac02c5b42f 進行稽核,並在即時 release/v3.8.50 最新提交 dafb4ae808 上重新檢查:共有 639 個正規化後的人類 Git 身分——其中 407 個以提交作者身分出現(包括維護者),另有 232 個僅出現在明確的 Co-authored-by 尾註中。此統計會正規化 GitHub noreply 使用者名稱、排除 26 個機器人/代理程式/服務/預留位置身分,且不會僅因顯示名稱相同,就合併一般電子郵件地址。
如何貢獻
- 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-notes
📊 Stars
🙏 致謝
OmniRoute 站在巨人的肩膀上。它最初是 9router 的分支,也是 Go 專案 CLIProxyAPI 的 TypeScript 移植版本;在此基礎上,下列每個子系統都受到了率先實現相關功能的開源專案啟發。每個專案都具體塑造了 OmniRoute 的一部分。謹以此向它們致謝。🙏
⭐ Star 數已於 2026 年 8 月 24 日透過 GitHub REST API 驗證——請為這些專案點一顆 Star。這些數字是特定日期的精確快照,自然會隨時間變化。
🧬 血統與閘道
| 專案 | ⭐ | 它如何啟發 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 | 作為我們 LLMLingua 引擎工作執行緒後端的 JS/ONNX 移植版本(MobileBERT / XLM-RoBERTa)。 |
| 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 | 直接內嵌並擴充為 Headroom 通用設定檔編解碼器的 MIT TypeScript 實作。 |
| 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 | ProblemMap 對 16 種反覆出現的 RAG/LLM 失敗模式所做的分類——成為我們疑難排解指南中的共通詞彙。 |
🛰️ 流量檢查、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 | 啟發了請求去重、緊急零成本備援、可插拔的 Auto-Combo 策略,以及多語言意圖分類。 |
| 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。
⬆ 返回頂部 · 用 ❤️ 為開源 AI 社群打造。
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT 授權條款 · omniroute.online





