# 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 儀表板

# 🚀 OmniRoute — 免費的 AI 閘道 OmniRoute — 永不停下程式開發。每款 AI 工具 → 375 家提供者 — 150+ 家免費 — 全都透過單一端點。將 Claude Code、Codex、Cursor、Cline、Copilot 與 Antigravity 接入免費的 Claude / GPT / Gemini,並支援自動備援。RTK + Caveman 堆疊式壓縮可節省 15–95% 的 token(平均約 89%)— 永不觸及限制。375 家 AI 提供者 · 150+ 個免費方案 · 每月約 16.2 億個免費 token · 20 種路由策略 · $0 即可開始。
## 💰 第三方免費方案合計每月約 1.62B Token
> **自備提供者帳號。** 此為分別符合資格的第三方免費方案之預估彙總,並非 OmniRoute 提供的 Token 配額。請自行註冊、於必要時取得憑證,並連接你可使用的提供者;各提供者自行控管其限制、可用性與條款。 > > 手動疊加免費方案很痛苦——幾十個 SDK、幾十個速率限制,而且無從得知你實際有多少額度。OmniRoute 收錄 **34 個週期性集區鍵中的 467 筆免費方案項目**,並以**已公布且為正數的每月預算的 17 個集區,加上五個 Groq 各模型上限**計算 Token 總額,且依共用集區去重。只有在區域身分驗證後才會開放的配額(目前為 ModelScope)會另行顯示,位於區域身分驗證之後的 +~6M,且永不計入總額。結果會持續顯示於儀表板(`/dashboard/free-tiers`)。 OmniRoute 免費額度預算卡:每月穩定約 1.62B 免費 Token,首月含註冊額度最高約 2.22B,來自 34 個有文件記載的週期性集區鍵,涵蓋單一端點後方 467 筆已收錄的免費方案項目。誠實的集區去重計算——每個共用集區只計一次,包含 17 個已公布正數每月 Token 預算的週期性集區,加上五個 Groq 各模型上限;條款風險目錄中有 12 家提供者標示為避免使用,由你自行決定。預算條包含 Mistral 1B、Nara 210M、LLM7 150M、xKiro 150M、Groq 30M(五個各模型上限)與較小集區,另加首月註冊額度,以及另行列出、永久免費且無 Token 上限的提供者,使其永不膨脹總額。即時已用/剩餘量請見 /dashboard/free-tiers。 > `/dashboard/free-tiers` 即時頁面的動態摘要。完整方法論(集區去重、額度層級、提供者條款):**[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**。 > > 這些數字每兩週會對照即時目錄重新稽核,且**可能雙向變動**——有提供者結束免費方案,數字就會下降;有新的提供者加入,數字就會上升。我們公布目錄實際計算出的結果,絕不公布向上取整的最佳情況。

⭐ 如果 OMNIROUTE 幫你省下金錢並讓工作更輕鬆,請給這個 repo 一顆星。

[![星星](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Star History 排名](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 加入社群 **👋 追蹤維護者——第一時間取得新提供者、版本發布與技巧:** [![在 LinkedIn 追蹤 Diego](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![在 GitHub 追蹤 @diegosouzapw](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp 全球](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp 巴西](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![網站](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](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.50 | **v3.8.51** | `v3.8.53+` | | ---------------------- | :-------------------: | :---------: | :-------------------: | | 🌐 提供者 | 352 | **358** | 375 | | 🧠 不重複的對話模型 ID | 1320 | **1374** | 1475 | | 🖼️ 模態橋接 | 🆕 視覺 + 音訊 + 影片 | ✓ | ✓ | | 📡 Radar 免費目錄 | 🆕 選擇加入 | ✓ | ✓ | | ⚖️ 配額感知排程 | 🆕 配額共享 | ✓ | ✓ | | 📊 配額遙測 | 🆕 即時 | ✓ | ✓ | | 🧰 無頭模式 | — | — | 🆕 `serve --headless` | | 🛤️ LTS 軌道基礎設施 | — | — | 🆕 發行通道 | | 🔎 模型探索 API | — | — | 🆕 `/v1/models/query` | **→ [路線圖](ROADMAP.md) — 沿著軌道駛向 `v3.9.0 LTS`**

## 🧩 可用版本 [![npm 版本](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM 每月下載量](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![授權條款:MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Docker 拉取次數](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Electron 下載次數](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 開始 🚀 快速開始 📦 安裝 🆓 連接提供者
💡 瞭解 💥 承諾 🤔 為何選擇 OmniRoute 🏆 獨特之處
⚙️ 功能 🎯 組合 🌐 提供者 🔌 CLI 與 MCP
🗜️ 壓縮 🖥️ 執行環境 🔒 私密
👀 查看 🎬 實際運作 ✨ 最新消息 🤖 相容的 CLI
💚 支持 💚 支持/捐款 💬 社群 💖 贊助者
📦 專案 🛠️ 技術堆疊 📖 文件 👥 貢獻者
🌐 支援 67 種語言

英文 (en) 葡萄牙文 — 巴西 (pt-BR) 葡萄牙文 (pt) 西班牙文 (es) 法文 (fr) 義大利文 (it) 德文 (de) 荷蘭文 (nl) 俄文 (ru) 烏克蘭文 (uk-UA) 波蘭文 (pl) 捷克文 (cs) 斯洛伐克文 (sk) 羅馬尼亞文 (ro) 匈牙利文 (hu) 保加利亞文 (bg) 丹麥文 (da) 芬蘭文 (fi) 挪威文 (no) 瑞典文 (sv) 中文 — 簡體 (zh-CN) 中文 — 繁體 (zh-TW) 日文 (ja) 韓文 (ko) 泰文 (th) 越南文 (vi) 印尼文 (id) 馬來文 (ms) 菲律賓文 (phi) 印地文 (hi) 古吉拉特文 (gu) 馬拉地文 (mr) 坦米爾文 (ta) 泰盧固文 (te) 孟加拉文 (bn) 烏爾都文 (ur) 波斯文 (fa) 阿拉伯文 (ar) 希伯來文 (he) 土耳其文 (tr) 亞塞拜然文 (az) 史瓦希利文 (sw) 希臘文 (el) 克羅埃西亞文 (hr) 塞爾維亞文 (sr) 立陶宛文 (lt) 愛沙尼亞文 (et) 拉脫維亞文 (lv) 斯洛維尼亞文 (sl) 馬爾他文 (mt) 愛爾蘭文 (ga) 坎納達文 (kn) 馬拉雅拉姆文 (ml) 歐利亞文 (or) 旁遮普文 (pa) 尼泊爾文 (ne) 僧伽羅文 (si) 緬甸文 (my) 高棉文 (km) 豪薩文 (ha) 約魯巴文 (yo) 伊博文 (ig) 阿姆哈拉文 (am) 烏茲別克文 (uz) 喬治亞文 (ka) 亞美尼亞文 (hy) 波士尼亞文 (bs)


## 🆓 安裝、連接提供者,然後透過單一端點進行路由
三個步驟:安裝並啟動 OmniRoute,以你自己的帳號或 API 金鑰連接符合條件的提供者,然後使用 OmniRoute API 金鑰與模型 auto 將你的工具指向 localhost:20128/v1。路由取決於可用的合格連線與提供者限制。 ```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/)
# 💥 承諾
承諾 —— 一個端點與 375 家提供者。只要還有另一個健康的目標可用,自動容錯轉移就會持續路由。六大支柱:橫跨 375 家提供者的韌性容錯轉移 · 在符合條件的工作負載上最高節省 95% token · 以 150+ 個免費方案與 51 家持續/無金鑰永久免費提供者零成本起步 · 透過單一設定整合 37 種 CLI/代理 · 在 /v1 提供 OpenAI、Claude、Gemini 與 Responses API 相容性 · 生產級控制,包括斷路器、TLS 隱匿、MCP 110 項工具、A2A、記憶體、護欄、評估,以及涵蓋 7,800+ 個追蹤測試檔案的 56,000+ 項靜態測試宣告。

# 🤔 為什麼選擇 OmniRoute?
為什麼選擇 OmniRoute —— 別再同時應付 10 個儀表板、失效的 API 金鑰與意料之外的帳單。十項日常痛點與對應解法:額度未用即到期 → 最大化訂閱效益;寫程式途中遇到速率限制 → 四層自動容錯轉移(訂閱 → API → 低成本 → 免費);工具輸出耗費 token → RTK + Caveman 壓縮(15–95%);API 費用高昂 → 成本最佳化路由;每個工具都要各自設定 → 一個端點、一個儀表板;AI 被封鎖 → 三層代理 + TLS 隱匿;金鑰失效 → 三層韌性(斷路器、金鑰冷卻、模型鎖定);團隊共用一個訂閱 → 具備公平配額的金鑰池;提示詞經過他人的雲端 → 本機優先,金鑰以 AES-256-GCM 加密;看不到支出 → 即時分析(用量、額度、節省金額、p95 延遲)。
OmniRoute 請求流程:你的 IDE 或 CLI(Claude Code、Cursor、Cline……)呼叫一個本機端點(http://localhost:20128/v1);OmniRoute 智慧路由器(RTK + Caveman 壓縮、20 種路由策略、斷路器、TLS 隱匿、MCP、A2A、護欄)可在仍有合格健康目標時,於 4 個提供者層級之間進行容錯轉移 —— 第 1 層訂閱、第 2 層 API 金鑰、第 3 層低成本、第 4 層免費。

## 🤝 由我們的開源夥伴支持

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **想加入成為開源夥伴嗎?** 這些公司支持開源並幫助 OmniRoute 持續發展 — 我們公開說明他們提供的每一筆資金的用途。請聯繫:[diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Founding Open Source Friend
感謝我們的創始開源夥伴 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
Cheaper Inference
cheaperinference.com

Open Source Friend
感謝 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
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,我們會將其添加到這裡。

## 🎯 組合 — 旗艦功能
20 種組合路由策略中 18 種的動畫範例——每種策略各一個圖塊:priority、fill-first、weighted、round-robin、p2c、least-used、random、strict-random、cost-optimized、headroom、reset-window、reset-aware、context-relay、context-optimized、lkgp、auto、fusion、pipeline。cache-optimized 與 quota-weighted 未製作動畫;下表說明全部 20 種策略。 > **組合**是一連串由 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 個獨立層級) OmniRoute 韌性機制 — 3 個獨立的自我修復層級,針對不同故障採用適當的層級。第 1 層為提供者斷路器(整個提供者):僅在發生 408/5xx 時觸發,閾值為 OAuth 8× / API 金鑰 12× / 本機 2×,經過 60s/30s/15s 後重設並進入 HALF-OPEN 探測,採用惰性復原;當處於 OPEN 狀態時,組合會將路由重新導向至下一個提供者。第 2 層為連線冷卻(單一金鑰/帳戶):基準時間為 OAuth 5s / API 金鑰 3s,採用 ×2 指數退避並具備防驚群保護機制,429 會遵循 Retry-After,成功後會清除所有錯誤狀態;處於冷卻狀態的金鑰會被略過,而其他同層金鑰會繼續提供服務。第 3 層為模型鎖定(單一模型):各模型的 429、本機 404 或模式拒絕只會鎖定該模型,絕不會鎖定整個連線。終止狀態(遭封鎖、已過期、點數耗盡)應由操作人員處理,而非進入冷卻。 📖 [Auto-Combo 引擎](docs/routing/AUTO-COMBO.md) · [韌性指南](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 OmniRoute 的獨特之處
OmniRoute 的獨特之處——與 9router、OpenRouter、CLIProxyAPI 及 LiteLLM 比較 13 項功能的特定日期快照。OmniRoute:支援 375 個提供者、內建 150+ 個免費方案、20 種路由策略、12 引擎權杖壓縮、內建具備 110 項工具的 MCP 伺服器、A2A 代理協定、持久記憶體、安全防護機制、雲端代理、TLS 指紋隱匿、Desktop/Termux/PWA,以及支援 67 種國際化使用者介面語系。OmniRoute 採用 MIT 授權並可自行託管。競品的功能與數量可能有所變更;請參閱連結中的方法論。 📊 完整方法論及與 9router、OpenRouter、CLIProxyAPI 和 LiteLLM 的逐項功能比較詳情 → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](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** — 即時、免手續費(巴西) OmniRoute PIX QR 碼 金鑰(隨機):`5d865059-bc44-483a-962d-43ceb80126eb` Pix 複製貼上碼: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ 加密貨幣 — BTC · ETH · USDT-TRC20 · USDC-Solana(點擊展開)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ 每種貨幣請僅透過所示網路傳送 — 使用錯誤的網路可能導致資金遺失。
🐛 發現錯誤或有意見要回饋?請建立一則[討論](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.53** 的近期亮點。完整歷程請見 [`CHANGELOG.md`](CHANGELOG.md)。 - **⚖️ `quota-weighted` 路由** — 第 20 種 combo 策略:先跳過額度耗盡的帳號,再依剩餘額度 ÷ 在途負載的比例,從其餘帳號中挑選,同時讓既有對話維持釘選。→ [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 無頭模式** — `omniroute serve --headless`(或 `OMNIROUTE_HEADLESS=1`)只執行 `/v1/*` 代理引擎,關閉儀表板與僅供儀表板使用的子系統。→ [Headless Mode](docs/guides/HEADLESS.md) - **🔎 模型探索** — `/v1/models` 可依能力、上下文、類型與文字篩選,而 `POST /v1/models/query` 會回傳一份簡短且確定性的候選清單,並維持相同的逐金鑰可見性。→ [API Reference](docs/reference/API_REFERENCE.md) - **🔑 逐金鑰路由控制** — 使用 `forcedModel` 將 API 金鑰釘選到單一模型或 combo,並以原子操作新增或移除金鑰可用的模型與 combo(`/api/keys/{id}/access`)。→ [API Reference](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ 更精細的 PII 控制** — 可依類型選取、最多 20 組經驗證的自訂遮罩樣式,以及逐類型偵測計數器;遮罩本身仍維持選用。→ [Guardrails](docs/security/GUARDRAILS.md) - **🌍 67 種語言** — 涵蓋儀表板、文件鏡像與 CLI,並可透過 `npm run i18n:add-locale` 以單一指令在所有位置新增一種語言。→ [i18n Guide](docs/guides/I18N.md) - **🎛️ OmniConductor** — 將傳入的 A2A 委派轉送至你的代理艦隊、在 Agent Card 上提供 Conductor 技能,以及具備 Faro 按住即說語音聊天的儀表板面板。→ [A2A Server](docs/frameworks/A2A-SERVER.md) - **🛂 自適應准入與過載防護** — 重量級聊天請求會排隊等待,而非直接回傳 503,並為每條連線提供原子性的 RPM 滾動租約。→ [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ 標準化的 `/v1/models` 排序** — 每個提供者各成一個連續且依提供者分組的區塊(combo 優先釘選),並在所有目錄來源間維持穩定。→ [API Reference](docs/reference/API_REFERENCE.md) - **🗜️ 壓縮強化** — 預設啟用的膨脹防護、適用於 DE / FR / JA + 中文(文言)的 Caveman 封包,以及適用於 Gradle 與 .NET 的 RTK 篩選器。→ [Compression](docs/compression/COMPRESSION_ENGINES.md) - **💸 誠實的固定費率成本** — 訂閱制 / 程式碼方案提供者在成本分析中顯示為 **$0**;預算、配額與路由仍會持續估算。→ [API Reference](docs/reference/API_REFERENCE.md) - **⚖️ Quota-Share 路由** — 將共享帳號的配額公平地分配給集區中的金鑰,並以工作保留方式運作,讓閒置配額可借出使用。→ [Resilience Guide](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 Integrations](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ 遠端模式** — 使用具範圍限定的權杖(`connect` / `contexts` / `tokens`)驅動遠端 OmniRoute,並為 VPS 安裝提供 `antigravity` OAuth 輔助工具。→ [Remote Mode](docs/guides/REMOTE-MODE.md) - **🧭 更智慧的自動路由** — `auto/:` combo、**Fusion**(模型面板 + 評審)、任務感知路由,以及逐請求的模型 / 模式 / 美元預算覆寫。→ [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ 可插拔壓縮** — 12 個可組合引擎 + Compression Studios:LLMLingua-2、兩層式 Ultra、omniglyph、逐步保真度閘門、GCF v3.2、拖曳重新排序編輯器。→ [Compression](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ 透明 MITM 解密(TPROXY)** — 擷取忽略代理環境變數的 CLI,並具備逐 SNI 的 CA + 信任存放區安裝程式。→ [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 無所不在的成本遙測** — 每個端點皆提供 `X-OmniRoute-*` 成本/用量標頭、快取命中節省標頭,以及逐金鑰的美元支出配額。→ [API Reference](docs/reference/API_REFERENCE.md) - **🧠 由你掌控的記憶** — 預設關閉,可選用 int8 向量量化 + 具類型衰減,並支援逐請求的 `x-omniroute-no-memory`。→ [Memory](docs/frameworks/MEMORY.md) - **🛡️ 安全性** — 每條 LLM 路由皆具備提示注入防護(紅隊測試套件)、可選用的憑證遮罩護欄(雙向遮蔽外洩的 API 金鑰/密鑰)、免費的 DuckDuckGo 最後手段網頁搜尋,以及儀表板的選用 OIDC 登入閘門(密碼登入始終保持可用)。→ [Guardrails](docs/security/GUARDRAILS.md) - **🖼️ 新端點** — `/v1/ocr`(Mistral OCR)與 `/v1/audio/translations`(Whisper 風格)補齊了媒體介面。→ [API Reference](docs/reference/API_REFERENCE.md) - **🎨 影像 / 影片 / 音訊生成** — 以單一 API 處理媒體:xAI Grok Imagine 與 Novita AI 影片、ComfyUI、Magnific、Adobe Firefly、Segmind,以及 ElevenLabs 等語音提供者。→ [API Reference](docs/reference/API_REFERENCE.md) - **🌍 部署與維運** — 反向代理 `basePath`、瀏覽器語言自動偵測、逐金鑰裝置追蹤、免 root 的 MITM 信任、zh-TW 在地化。→ [Environment](docs/reference/ENVIRONMENT.md) - **🤝 更多提供者與代理** — 雲端代理(Codex Cloud、Cursor、Devin、Jules)、Grok Build(xAI)搭配瀏覽器 + OAuth 登入、Ollama 一級卡片、Claude Opus 5 與 Sonnet 5、Kimi 官方合作(Code/Web/Moonshot)、Zed、Requesty、SenseNova、Yuanbao、Agnes AI……以及更新後的 **375 個提供者目錄**。→ [Providers](docs/reference/PROVIDER_REFERENCE.md) - **📡 路由透明度** — 每個回應都帶有 `X-OmniRoute-Decision` 標頭,指出負責處理的策略/提供者/延遲;新增 `cache-optimized` combo 策略 + 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 使用免費與低成本模型。
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ 同樣支援 · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · 任何與 OpenAI 相容的工具
📖 全部 37 個工具(27 個 CLI Code + 10 個 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 會使用一次性的隔離家目錄: ```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` 可預覽確切的環境變數與引數而不執行,`--api-key-env NAME` 則可避免祕密資訊 出現在 shell 歷程記錄中。→ [CLI 整合](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 個 AI 提供者 — 153 個標示為免費
> 在標準聊天、媒體、搜尋、本機、雲端代理及系統集合中,共有 **375 個已註冊的提供者**,其中 **153 個帶有 `hasFree: true` 探索中繼資料**。聊天模型登錄檔涵蓋 **239 個提供者 / 3,059 組不同的提供者-模型配對 / 1,475 個原始模型 ID**;獨立的免費額度目錄則包含 **467 筆個別模型資料列**、**34 個週期性額度池**,以及 **51 個提供週期性/免金鑰永久免費方案的提供者**。這些分母依設計本就不同;相關定義與額度池去重後的計算方式,請參閱[提供者參考資料](docs/reference/PROVIDER_REFERENCE.md)與[免費方案](docs/reference/FREE_TIERS.md)。
### 🏢 所有主要實驗室 — 透過單一端點存取
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…以及其他 350 多個提供者 — 每個圖示皆即時取自儀表板的提供者目錄。📖 [提供者參考資料](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 永久免費 — $0,無需信用卡
OpenCode Zen
OpenCode Zen
DeepSeek V4、Nemotron 3
無 token 上限
Kilo Code
Kilo Code
自動路由、Tencent Hy3
永久免費
Requesty
Requesty
GPT-OSS 120B、Nemotron
永久免費
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
免費方案
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
永久免費
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
永久免費
Qoder AI
Qoder AI
Qwen3-Max、Kimi-K2
無限免費
Pollinations
Pollinations
GPT、Llama、Claude
無需金鑰
Cloudflare AI
Cloudflare AI
50+ 個模型
每日 10K neurons
NVIDIA NIM
NVIDIA NIM
GLM、MiniMax
免費約 40 RPM
Cerebras
Cerebras
GLM 4.7、GPT-OSS
一次性 $5 額度;需綁定信用卡
OpenRouter
OpenRouter
:free 模型
+$10 → 更高 RPM
📖 完整的機器可讀目錄 → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ OmniRoute 可在何處執行 — 任何地方
> 同一個應用程式、您的裝置、您的規則。從全域 npm 安裝,到透過 Termux 在**您的手機**上執行。
平台安裝方式特色
📦 npm(全域)npm install -g omniroute一行指令,適用於任何作業系統
🐳 Dockerdocker run … diegosouzapw/omniroute多架構支援:AMD64 + ARM64
🖥️ 桌面版(Electron)npm run electron:build原生視窗 + 系統匣 — Windows / macOS / Linux
🎩 選單列(OmniRouteTray)brew install --cask zoispag/tap/omniroute-tray監控伺服器並自動更新 — macOS
💪 ARM原生 arm64Raspberry 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 天費用明細
🔄 自動就地更新分階段安裝、不可分割交換、失敗時回復 — 永遠使用最新版本
🚀 登入時啟動可選擇登入時啟動;僅顯示於選單列,不顯示 Dock 圖示
🩺 診斷與記錄一鍵執行診斷並存取伺服器記錄
```sh brew install --cask zoispag/tap/omniroute-tray ``` 偏好直接下載?請從 Releases 取得最新的 .dmg。原始碼、問題回報與建置 文件位於 zoispag/omniroute-tray。
💛 由 @zoispag 建立的社群專案——並非 OmniRoute 官方版本。

## 🔒 隱私優先與本機優先
隱私優先與本機優先 — OmniRoute 的閘道與控制平面皆在您的電腦上執行。提示會傳送至每個請求所選的上游提供者;OmniRoute 不會額外加入任何託管式提示處理中繼站,且預設停用遙測。憑證以 AES-256-GCM 加密後靜態儲存;控制措施包括 API 金鑰範圍限制、IP 篩選、速率限制、提示注入防護、上游標頭清理、選擇性 PII 遮蔽、經清理的錯誤訊息,以及本機 SQLite 稽核軌跡。OmniRoute 採用 MIT 授權,並支援自行託管。 📖 [授權](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 CLI 的動畫終端機示範 — omniroute providers list、omniroute combo list 與 omniroute health — 循環展示包含 89 個命令的頂層介面:providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 連接代理 — 讓它自行控制 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
🛰️ 遠端 CLIomniroute 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 — 全自動
### 📖 運作原理 — 管線、架構與節省計算 OmniRoute 壓縮管線:一個示意性的 10,000-token 用戶端請求會依序通過 12 個可組合引擎 — Session-Dedup、CCR、Lite、RTK、Responses Tool Output、Headroom、Relevance、Caveman、Aggressive、LLMLingua-2、Ultra 與 OmniGlyph — 而在文件記載的堆疊範例中,抵達提供者時約為 1,080 tokens。結構化內容受到保留防護與逐步保真閘門的保護;明確的有損或實驗性模式可能會轉換符合條件的內容。 預設的堆疊組合會執行 `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 引擎堆疊 引擎依管線順序執行;每個引擎都可獨立開關,並可依組合進行設定:
#引擎功能說明
1Session-Dedup捨棄跨回合重複的內容(內容定址、跨回合)
2CCR將大型區塊封存於取回標記之後,需要時再取得
3Lite修剪空白與圖片 URL(低延遲的基準)
4RTK智慧化工具結果過濾、去重與截斷(可辨識指令)
5Responses Tool Output對 shell/patch/搜尋/建置輸出提供無損優先的 JSON 與有界診斷壓縮(Responses API)
6Headroom透過內建的 GCF codec 對 JSON 陣列進行無損的表格化壓實(約 30%)
7Relevance針對最後一次使用者查詢進行抽取式句子評分
8Caveman基於規則的散文壓縮(輸出約 65–75%)
9Aggressive摘要 + 對舊回合進行漸進式老化
10LLMLingua-2透過 MobileBERT ONNX 進行 ML 語意剪枝 — 對程式碼安全、非同步
11Ultra啟發式 token 剪枝,可選擇搭配小型模型(SLM)層級
12OmniGlyph實驗性的「上下文即圖片」編碼,用於在 Anthropic 直連線路上實測 Claude Fable 5;GPT 5.6 transformer 仍維持 fail-closed,等待提供者回執。四種壓縮設定檔(預設 aggressive、balanced、coding-safe、passthrough)(最為激進;需主動啟用)
程式碼區塊、URL 與結構化資料**一律逐位元組完整保留**。**一鍵預設組合**可將這些引擎組合起來:
模式節省比例最適用於
🪶 Lite~15%永遠開啟的安全預設
🪨 Standard (Caveman)~30%日常寫程式
⚡ Aggressive~50%長時間、工具密集的工作階段
🔥 Ultra~75%最大節省
🧰 RTK60–90%Shell/測試/建置/git 輸出
🔗 Stacked (RTK → Caveman)78–95%混合提示 + 工具日誌
**實際範例 — Standard 模式:** > **壓縮前(69 tokens):**「你的 React 元件之所以會重新渲染,很可能是因為你在每次渲染週期都建立了新的物件參照。當你把內聯物件當作 prop 傳入時,React 的淺層比較會每次都把它視為不同的物件,因而觸發重新渲染。我會建議使用 useMemo 來記憶化這個物件。」 > > **壓縮後(19 tokens):**「每次渲染都是新物件參照。內聯物件 prop = 新參照 = 重新渲染。用 useMemo 包起來。」 > > **相同的答案。少了 72% 的 token。準確度零損失。** ✅ **PT-BR 範例 — [Troglodita](https://github.com/leninejunior/troglodita) 模式:** > **之前(42 tokens):** _「問題在於元件會重新渲染,因為每次渲染週期都會建立新的物件參考。我會建議使用 useMemo。」_ > > **之後(12 tokens):** _「重新渲染:每個週期都是新 ref(內聯物件被重建)。使用 `useMemo`。」_ > > **同樣的回答。約少 70% tokens。技術精確度不變。** ✅
### 🎚️ 引擎之外 — 輸出風格、自適應旋鈕與逐請求控制 上述 12 個引擎壓縮的是**輸入**。另外三層則決定**如何**、**何時**以及**輸出什麼**: - **🪄 輸出風格**(輸出軸引導)— 注入確定性、對快取安全的回應塑形指令;可組合使用,每個風格皆有 `lite` / `full` / `ultra` 強度。新增風格只需在註冊表中加一行: - **精簡散文** — 去掉填充詞 / 冠詞 / 模糊語氣;技術實質保持精確。 - **更少程式碼** — 「懶惰資深開發者」YAGNI:最小可行變更,不加入未被要求的鷹架。 - **Ponytail(懶惰資深開發者)** — 爬上 YAGNI 階梯,修正根本原因,最小可行 diff。 - **我有 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)。 > **使用 npm 11 或更新版本?** npm 可能會封鎖套件的生命週期腳本,除非這些腳本被允許。OmniRoute 的 `postinstall`(`node scripts/build/postinstall.mjs`)是準備其原生執行階段檔案所必需的。在全域安裝時,請允許 npm 警告中所列出的套件。以 OmniRoute 3.8.53 回報的套件組合為例: > > ```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 或其他 web-cookie 提供者?** npm 套件包含 Playwright,但不包含其 Chromium 二進位檔。在發出第一個 web 提供者請求前,請先參閱 > [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: [從 Dashboard → Endpoints 複製] Model: auto (在符合資格的連線之間路由 — 或選擇 provider/model) ``` **4)驗證是否正常運作** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` 你應該會看到已連接的模型列出。🎉 就是這樣——開始寫程式吧,OmniRoute 會為你自動路由並進行回退。 若你的用戶端無法送出自訂標頭,OmniRoute 也提供帶權杖的相容性別名: ```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
Instagram 短片 — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 次觀看
Instagram 短片 — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 次觀看
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 次觀看
Instagram 短片 — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 次觀看
TikTok — migue.baena
🎬 #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 — src/ 與 open-sse/ 皆為 100% TypeScript(自 v2.0 起核心程式碼零 any)
框架Next.js 16 + React 19 + Tailwind CSS 4
資料庫better-sqlite3(SQLite,WAL 日誌模式)+ LowDB(JSON 舊版)— 147 個領域模組、209 個遷移
記憶體SQLite FTS5 全文檢索 + int8 量化向量嵌入、具類型的衰減機制
結構定義Zod 4 — MCP 工具的輸入/輸出驗證 + API 契約
協定MCP(stdio / HTTP / SSE)+ A2A v0.3(JSON-RPC 2.0 + SSE)
串流Server-Sent Events(SSE)+ WebSocket 橋接(/v1/ws)
壓縮12 引擎管線 — RTK、Caveman、LLMLingua-2(MobileBERT ONNX)、GCF、OmniGlyph
驗證與安全性OAuth 2.0(PKCE)+ JWT + API 金鑰 + MCP 範圍化授權 · 靜態資料 AES-256-GCM 加密 · DOMPurify
隱匿wreq-js — JA3 / JA4 TLS 指紋偽裝、三層代理
韌性斷路器、指數退避、防驚群效應、自動組合自我修復
日誌pino — 附請求上下文的結構化 JSON 日誌
測試Node.js 測試執行器 + Vitest — 涵蓋 7,800 多個受追蹤測試檔案的 56,000 多個靜態測試宣告(單元、整合、E2E、安全性、生態系)
平台桌面(Electron)· Android(Termux)· PWA(任何瀏覽器)
CI/CDGitHub Actions — 發佈時自動 npm publish + 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 run、Compose 設定檔、Caddy HTTPS、通道、映像標籤
Podman 指南Quadlet systemd 整合、podman-compose、SELinux
VM 部署完整指南:VM + nginx + Cloudflare 設定
Fly.io 部署使用持久化儲存部署至 Fly.io
Termux 指南透過 Termux 在 Android 上執行 OmniRoute
PWA 指南漸進式 Web 應用程式安裝、快取、架構
解除安裝指南適用於所有安裝方式的乾淨移除
環境設定完整的 .env 變數與參考
### 🧠 功能與架構
文件說明
架構系統架構、資料流與內部運作
壓縮指南7 選項管線:off / lite / standard / aggressive / ultra / RTK / stacked
RTK 壓縮命令輸出壓縮、篩選器、信任、驗證、原始輸出復原
壓縮引擎Caveman、RTK、堆疊管線、儀表板/API/MCP 介面
壓縮規則格式Caveman 與 RTK 篩選器的 JSON 規則包結構定義
壓縮語言套件語言偵測與 Caveman 規則包撰寫
韌性指南斷路器、冷卻、佇列、防雷鳴群效應、TLS 偽裝
自動組合引擎16 因子評分、模式包、自我修復
代理指南3 層級代理系統、1proxy 市集、登錄 CRUD
免費方案彙整目錄:34 個有記錄的週期性額度池 / 467 筆編目的免費方案項目
功能展示含螢幕截圖的視覺化儀表板導覽
程式碼庫文件適合初學者的程式碼庫逐步導覽
### 🤖 協定與 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 指南67 種語言支援、翻譯工作流程、RTL
發行檢查清單發行前驗證步驟
覆蓋率計畫針對 7,800+ 個受追蹤測試檔案中 56,000+ 個靜態測試宣告的測試覆蓋策略

# ⭐ 頂尖貢獻者 > OmniRoute 由充滿熱情的開源社群共同形塑。以下這些個人做出了卓越的貢獻,直接影響了本專案的品質、穩定性與影響範圍。**謝謝你們。** ### 依已合併拉取請求排序的外部貢獻者
排名貢獻者已合併 PR 數約變更行數
1maxmad64bis37125,326,561
2HouMinXi26913,456,272
3backryun210270,562
4oyi77190411,243
5pacocartones17478,276
6JxnLexn1513,562,936
6KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark842,849,554
12jonlwheat2-gif6768,548
13artickc6243,502
14chirag127526,661
15xz-dev50245,976
16xiaoyaner02014733,626
17woodsonl46809,391
18rqzbeh44147,896
19QuangBlue4313,112
20MumuTW4026,093
普查於 2026-10-18 15:09:09 UTC 進行,使用即時的 release/v3.8.52 分支末端 656f01cb43。分頁式 GitHub GraphQL 普查共包含 9,191 個已合併 PR:3,834 個由儲存庫擁有者提出、229 個由 Dependabot 提出、6 個由其他機器人/應用程式提出,以及 來自 835 位不同貢獻者的 5,122 個外部 PR。「變更行數」為 GitHub 的新增行數加上刪除行數,並包含產生檔案、鎖定檔、目錄、翻譯與文件;它代表的是變動量,而非撰寫的程式碼行數。有 49 個 PR 回報的 GitHub 差異超過 500,000 行(例如 #13399 僅新增一個提供者,卻列出 2,347 個變更檔案),這使得上述若干總數被誇大。同分者並列排名。 ### GitHub 歸因的提交
Dizzle
Dizzle

🥇 367 個歸屬於 GitHub 的提交
Bob.Hou
Bob.Hou

🥈 269 個歸屬於 GitHub 的提交
Paijo
Paijo

🥉 229 個歸屬於 GitHub 的提交
backryun
backryun

🏅 202 個歸屬於 GitHub 的提交
Paco Cartones
Paco Cartones

🏅 174 個歸屬於 GitHub 的提交
Ravi Tharuma
Ravi Tharuma

🏅 126 個歸屬於 GitHub 的提交
Markus Hartung
Markus Hartung

🏅 114 個歸屬於 GitHub 的提交
Randi
Randi

🏅 108 個歸屬於 GitHub 的提交
Jan Leon
Jan Leon

🏅 87 個歸屬於 GitHub 的提交
Chris
Chris

🏅 70 個歸屬於 GitHub 的提交
Koosha Paridehpour
Koosha Paridehpour

🏅 68 個歸屬於 GitHub 的提交
於 2026-10-18 14:44:45 UTC 重新核查:由儲存庫 Contributors API 針對 release/v3.8.52 預設分支所回報的歸屬於 GitHub 的提交。該 API 回傳了 849 個身分(429 位使用者、2 個機器人、418 位匿名);此表排除了維護者、機器人與匿名身分,並保留了同分並列的情況。此排名與上方的已合併 PR 排名以及下方的 Git 中繼資料普查皆不相同。 > 🙏 這些貢獻者的功能、錯誤修正與基礎架構改進,是讓 OmniRoute 得以可靠且功能豐富的**核心部分**。每一個 pull request、每一個測試案例,以及每一個 i18n 翻譯檔案都至關重要。開源正是由像他們這樣的人所打造。
--- ## 💖 贊助者
衷心感謝自掏腰包資助 OmniRoute 的每一位贊助者——每一筆貢獻都讓本專案得以維持免費、獨立並持續發展。
Andrew
Andrew

💛 目前的每月贊助者
Vlad I
Vlad I

💛 目前的每月贊助者
小妍儿
小妍儿

💛 目前的每月贊助者
Guilherme Costa
Guilherme Costa

💛 目前的一次性贊助者
Henrique Triches Iurkiv
Henrique Iurkiv

💛 目前的一次性贊助者
Somesh Ghaturle
Somesh Ghaturle

💛 目前的一次性贊助者
Kolonie AI
Kolonie AI

💛 過去的一次性支持者
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 過去的一次性支持者
Pixma
Pixma

💛 過去的一次性支持者
Paco Cartones
Paco Cartones

💛 過去的一次性支持者
longtao
longtao

💛 過去的一次性支持者
……以及其他希望保持匿名的支持者 💛 公開的 GitHub Sponsors 資料已於 2026-10-18 透過 GitHub Sponsors GraphQL API 重新驗證:總計 14 筆贊助中有 11 筆為公開贊助(6 筆目前有效、5 筆為過去贊助)。上方的有效狀態標籤由 GitHub 的 isActive 狀態決定;過去公開的一次性支持者仍會列名致謝,而私人贊助者則維持匿名。Ko-fi、Buy Me a Coffee、Liberapay、PIX 與加密貨幣捐款因沒有公開的贊助者紀錄,故未列於此處。 💖 成為贊助者 → — 每一美元都能幫助 OmniRoute 維持免費與獨立。

## 👥 900+ 位貢獻者
[![貢獻者](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=993&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) 於 2026-10-18 稽核當時有效的 release/v3.8.52 分支尖端 ad160ab2d1(6,826 次提交):993 個正規化後的人類 Git 身分——其中 707 個曾作為提交作者出現(包括維護者),另有 286 個僅出現在明確的 Co-authored-by 尾註中。此次統計套用了 .mailmap、以不區分大小寫的方式比對電子郵件地址,僅在數字格式與一般格式的 GitHub noreply 地址編碼相同帳號名稱時才合併兩者,排除 26 個機器人/代理程式/服務/預留位置身分,且不會僅因顯示名稱相同就合併一般電子郵件地址。2026-08-24 的稽核公布了 639 個;使用此方法在該次稽核所依據的 ac02c5b42f 上重新執行後得到 619 個,因此增加的數量來自新貢獻者,而非較寬鬆的方法。 ### 如何貢獻 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 ```
## 📊 Stars Star 歷史圖表
## 🌍 StarMapper StarMapper

## 🙏 致謝
OmniRoute 站在巨人的肩膀上。它最初是 **[9router](https://github.com/decolua/9router)** 的分支,以及 Go 專案 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** 的 TypeScript 移植版本——從那之後,下列每個子系統都受到率先實現相關功能的開源專案啟發。每個專案都形塑了 OmniRoute 的具體組成部分。謹此向它們致謝。🙏 > ⭐ 星標數已於 2026 年 10 月 18 日透過 GitHub REST API 驗證——也請為這些專案加上一顆星。這些數字是特定日期的精確快照,自然會隨時間變動。 ### 🧬 血統與閘道
專案⭐它如何啟發 OmniRoute
9router31,004此分支所建基的原始專案——在此基礎上擴充多模態 API,並以 TypeScript 完整重寫。
CLIProxyAPI55,591啟發此 JavaScript / TypeScript 移植版本的 Go 實作。
LiteLLM61,482這個 AI 閘道的公開定價資料集為我們的成本追蹤同步功能提供資料,其提供者正規化模型也為我們的路由機制提供了參考。
codex-chatgpt-web14,526其 MIT 授權原始碼經調整後,納入隨附的 ChatGPT Web → Codex Responses 橋接器,包括瀏覽器工作階段、回應框架、使用量及網頁搜尋轉接器。
free-claude-code61,430其模式已移植至串流復原、無思考別名、備援網頁搜尋、滑動視窗限制、日誌遮蔽,以及經強化的啟動器流程。
composer-api346將 Cursor Composer 的工具選擇、輸出限制及工具提交模式調整並納入原生 Cursor 執行器。
codex-multi-auth553將全新登入及重新整理權杖輪替模式移植至 Codex OAuth 重新驗證。
opencode-anthropic-auth558將與 Claude Code 相容的轉換預設值及計費標頭行為,泛化至 OmniRoute 由設定驅動的橋接器中。
grok2api-merged2其 Grok 模型對應、偽 TypeError Statsig 產生器、請求與裝置預設值,以及 NDJSON 回應處理器,均經實質調整後納入 OmniRoute 的 Grok Web 執行器。
TQZHR/grok2api706grok2api-merged 背後主要的間接程式碼來源;其模型、標頭、承載資料、Statsig 及處理器實作均保留於 Grok Web 的血統中。
chenyme/grok2api7,819Grok 承載資料與裝置預設值、Statsig 產生器,以及經由 TQZHR 和 grok2api-merged 傳承之 result.response 處理器的底層 MIT 授權原始碼。
grok2api-pro27grok2api-merged 為其代理集區層所致謝的間接來源;OmniRoute 保留該血統聲明,但並未聲稱在其有限範圍的 Grok Web 執行器中移植了代理集區。
GrokProxy51其使用 Cookie 驗證的 Grok 代理及 result.response.token 串流模式,為 OmniRoute 的 Grok Web 傳輸層提供了參考。
GrokBridge5原始 Grok Web 實作參考了其 HTTP/瀏覽器上游設計;由於其直接 HTTP 路徑源自 GrokProxy,因此不聲稱有獨立的程式碼移植。
### 🗜️ 上下文與權杖壓縮——引擎
專案⭐它如何啟發 OmniRoute
Caveman113,396爆紅的「少量 token 能搞定,何必用大量 token」專案——其穴居人式語言哲學驅動了我們的標準壓縮模式,以及 30 多項贅詞移除/濃縮規則。
RTK – Rust Token Killer83,835高效能命令輸出壓縮——啟發了我們的 RTK 引擎、JSON 篩選 DSL、原始輸出復原,以及堆疊式 RTK → Caveman 管線。
headroom75,741可逆式上下文壓縮(SmartCrusher)——啟發了我們的 headroom 引擎與 ccr 擷取標記模式。
LLMLingua6,757提示詞壓縮研究(LLMLingua / LLMLingua-2)——啟發了我們非同步、程式碼安全且失敗時維持開放的 llmlingua 引擎。
llmlingua-2-js32JS/ONNX 移植版本(MobileBERT / XLM-RoBERTa),用作我們 LLMLingua 引擎的工作執行緒後端。
Troglodita50巴西葡萄牙語 token 壓縮——驅動我們的 pt-BR 語言套件:針對巴西葡萄牙語文法調校的贅語精簡與填充詞移除。
ponytail166,731爆紅的「懶惰資深開發者」YAGNI 編碼技能——啟發了我們的更少程式碼輸出風格:以最小可行變更為導向,減少_生成的_程式碼(在輸出層面上,與 Caveman 的精簡文字風格相呼應)。
i-have-adhd57,628其行動優先、對 ADHD 友善的回應風格,經調整後成為 OmniRoute 涵蓋五種語言的精簡輸出風格。
### 🧩 精簡格式、token 研究與程式碼感知工具
專案⭐它如何啟發 OmniRoute
TOON25,509Token-Oriented Object Notation——其欄式、標頭加資料列的模型,塑造了我們的表格式壓縮階段。
GCF – Graph Compact Format59其精簡圖形格式與通用設定檔設計,為 OmniRoute 的表格式壓縮及 Headroom 編解碼器格式提供了參考。
gcf-typescript4此 MIT TypeScript 實作直接納入我們的程式碼庫並加以擴充,作為 Headroom 通用設定檔編解碼器。
token-optimizer-mcp551Brotli/SQLite 快取與各工作階段的上下文差異——啟發了我們的 session-dedup 引擎。
token-savior1,182Bash 輸出壓縮與 MCP 設定檔——啟發了我們的壓縮退出原則與 MCP 工具資訊清單精簡。
token-saver154內容感知、依檔案類型進行的輸出壓縮,並具備失敗感知的退出機制——驗證了我們依類型分派與未達最低效益即跳過的做法。
token-optimizer2,595「找出幽靈 token」——其卸載加可復原控制代碼的模式,為我們的 CCR 卸載構想提供了參考。
TokenMizer33工作階段圖與跨輪次行去重的藍圖,為我們的 session-dedup 設計提供了參考。
OmniCompress3Rust 欄式 JSON、內容定址擷取與跨訊息去重——驗證了我們的 headroom/ccr/session-dedup 引擎設計,以及可穩定快取的「壓縮形式與位置無關」不變量。
mcp-compressor133MCP 工具結構描述/說明壓縮——為我們降低 MCP 工具資訊清單基數的做法提供了參考。
RepoMapper217Aider 風格的儲存庫地圖排名——為我們探索儲存庫地圖/檢索排名提供了參考。
quiet-shell-mcp4透過 MCP 進行宣告式 shell 輸出精簡——驗證了我們的宣告式 Bash 輸出壓縮。
ts-morph6,205TypeScript Compiler API 工具組——啟發了我們以剖析器為基礎的註解移除功能,並保留字串、範本與正規表示式常值。
### 🧠 記憶與 RAG
專案⭐如何啟發 OmniRoute
Mem067,385通用記憶層——其以代理作為寫入/讀取邊界的模型塑造了我們的記憶體架構。
Letta (MemGPT)25,179具備分層記憶的有狀態代理——啟發了我們的情境控制與復原(CCR)分層模型。
WFGY1,800ProblemMap 對 16 種反覆出現的 RAG/LLM 失敗模式所做的分類——成為我們疑難排解指南中的共通詞彙。
### 🛰️ 流量檢查、MITM 與透明代理
專案⭐如何啟發 OmniRoute
llm-interceptor79對程式設計助理 ↔ LLM 流量進行 MITM 攔截/分析,為早期的流量檢查器需求提供了參考。先前衍生的四個模組——SSE 合併、對話正規化、密鑰遮罩及標頭清理——已由依據公開協定標準、獨立無塵開發的實作所取代。兩個主機直通介面(passthrough.ts 與 _internal/bypass.cjs)仍為獨立分類的 OmniRoute 內部實作;它們不在該次替換的重寫範圍內。
ProxyBridge6,814透明的逐行程代理路由——啟發了我們具備當機安全性的 MITM 拆除機制、通訊端閒置逾時、/proc 行程歸屬判定及 TPROXY 擷取。
### 📚 模型資料、可觀測性與 UI
專案⭐如何啟發 OmniRoute
models.dev7,286開放的 AI 模型規格、定價與功能資料庫——原生同步至我們的模型目錄。
React Flow / xyflow38,705為我們的即時壓縮工作室與組合/路由工作室提供支援的節點式圖形函式庫。
LangGraph43,443LangGraph Studio 的即時工作流程圖視覺化啟發了我們工作室中的即時級聯檢視。
Langfuse35,990其追蹤 → 跨距 → 生成的可觀測性模型塑造了我們壓縮工作室的瀑布圖。
Kiali3,645Istio 服務網格的可觀測性——啟發了路由/組合工作室中的斷路器徽章與錯誤連線視覺效果。
lobe-icons2,615在整個儀表板中呈現提供者圖示的 AI/LLM 品牌標誌。
flag-icons12,473提供 README 語言選擇器所使用、採 MIT 授權的 SVG 旗幟。
### 🛡️ 安全性
專案⭐如何啟發 OmniRoute
awesome-secure-defaults722一份經過精選、預設安全的函式庫清單,為我們的安全性選擇提供指引(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)。
### 🧭 互補工具
專案⭐如何啟發 OmniRoute
ClawRouter6,628啟發了請求去重、緊急零成本備援、可插拔的 Auto-Combo 策略及多語言意圖分類。
Antigravity-Manager32,333其帳戶感知模型重新對應、可執行檔路徑驗證及方案標籤行為,為 OmniRoute 的 Antigravity 執行環境提供了參考。
vscode-antigravity-cockpit4,850其精簡的配額重設倒數格式啟發了 OmniRoute 中對應的提供者限制顯示方式。
AionUi33,611其 ACP 整合啟發了 OmniRoute 自動偵測已安裝 CLI 代理的功能。
CodexBar22,616辨識出 Grok Build 的配額介面;OmniRoute 隨後獨立驗證並修正了實際使用的線路格式。
## 📄 授權條款 MIT 授權條款 - 詳情請參閱 [LICENSE](LICENSE)。 ---
**[⬆ 回到頂部](#-omniroute)** · 以 ❤️ 為開源 AI 社群打造。 OmniRoute v3.8.53 · Node ≥22.22.2 · MIT 授權條款 · omniroute.online