# 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 閘道 **由 [Diego Souza](https://github.com/diegosouzapw) 建立** OmniRoute — 永不停下寫程式的腳步。每個 AI 工具 → 388 個提供者 — 其中 150+ 個免費 — 透過單一端點。Claude Code、Codex、Cursor、Cline、Copilot 與 Antigravity 皆可連接至免費的 Claude / GPT / Gemini,並具備自動備援。RTK + Caveman 堆疊式壓縮可節省 15–95% 的 token(平均約 89%)— 永遠不會觸及限制。388 個 AI 提供者 · 150+ 個免費方案 · 每月約 16.2 億個免費 token · 20 種路由策略 · $0 即可開始。
## 💰 每月約 1.62B 個 Token,涵蓋第三方免費方案
> **請使用您自己的服務商帳戶。** 這是分別符合資格的第三方免費方案所彙整出的估算值,並非 OmniRoute 提供的 Token 額度。請註冊、在必要時取得憑證,並連接您可以使用的服務商;每個服務商會自行控管其限制、可用性與條款。 > > 手動疊加免費方案十分痛苦——數十個 SDK、數十種速率限制,而且完全不知道自己實際擁有多少額度。OmniRoute 已在 **34 個週期性配額池金鑰中整理 465 個免費方案項目**,並根據 **17 個已公布正數月度預算的配額池,加上 Groq 的五個按模型計算的上限**,去除共享配額池的重複計算後,得出 Token 標題數值。只有在完成區域身分驗證後才會開放的配額(目前為 ModelScope)會另外顯示,區域身分驗證後再增加約 6M,且絕不會納入標題總額。結果會持續顯示在儀表板上(`/dashboard/free-tiers`)。 OmniRoute 免費方案預算卡:每月穩定提供約 1.62B 個免費 Token,首月包含註冊點數時最高約 2.22B 個,來自 34 個已記錄的週期性配額池金鑰,涵蓋 465 個已編目的免費方案項目,並透過單一端點提供。誠實且已去除配額池重複計算的數學方式——每個共享配額池只計算一次,其中包括 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 幫助您節省費用並讓工作更輕鬆,請為此儲存庫加星。

[![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Star History Rank](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) ### 💬 加入社群 **👋 關注維護者——第一時間取得新服務商、版本更新與技巧:** [![Follow Diego on LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Follow @diegosouzapw on GitHub](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 Global](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 Brasil](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) [![Website](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 [🌍 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` 的軌道**

## 🧩 可用 [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM Monthly](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) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Docker Pulls](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Electron Downloads](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 金鑰連線符合資格的提供者,然後將您的工具指向 localhost:20128/v1,並使用 OmniRoute API 金鑰和模型 auto。路由取決於可用的符合資格連線與提供者限制。 ```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/)
# 💥 願景
願景 — 單一端點和 388 個提供者。只要仍有其他健康目標可用,自動備援就會持續進行路由。六大支柱:跨 388 個提供者的韌性備援 · 符合資格的工作負載最多可節省 95% 的權杖 · 150+ 個免費方案及 52 個定期提供/免金鑰永久免費的提供者,$0 即可開始 · 透過單一設定支援 39 個 CLI/代理程式整合 · 在 /v1 相容於 OpenAI、Claude、Gemini 和 Responses API · 生產環境控制項,包括斷路器、TLS 隱匿、MCP 110 個工具、A2A、記憶體、防護措施、評估,以及分布於 7,800+ 個受追蹤測試檔案中的 56,000+ 個靜態測試宣告。

# 🤔 為什麼選擇 OmniRoute?
為什麼選擇 OmniRoute — 不再忙於管理 10 個儀表板、失效的 API 金鑰和意外帳單。十大日常痛點與解決方案:配額到期而未使用 → 最大化訂閱效益;編碼中途遇到速率限制 → 4 層自動備援(訂閱 → API → 低價 → 免費);工具輸出消耗權杖 → RTK + Caveman 壓縮(15–95%);昂貴的 API → 成本最佳化路由;每個工具都要個別設定 → 單一端點、單一儀表板;AI 受到封鎖 → 3 層代理 + TLS 隱匿;失效金鑰 → 3 層韌性(斷路器、金鑰冷卻、模型封鎖);團隊共用一個訂閱 → 具備公平配額的金鑰池;提示詞經過他人的雲端 → 以本機優先,並使用 AES-256-GCM 加密金鑰;無法掌握支出 → 即時分析(使用量、配額、節省金額、p95 延遲)。
OmniRoute 請求流程:您的 IDE 或 CLI(Claude Code、Cursor、Cline…)呼叫單一本機端點(http://localhost:20128/v1);OmniRoute Smart Router(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:388 個提供者、內建 150 多個免費層級、20 種路由策略、12 引擎權杖壓縮、內建支援 110 個工具的 MCP 伺服器、A2A 代理程式通訊協定、持久記憶體、安全防護、雲端代理程式、TLS 指紋隱匿、Desktop/Termux/PWA,以及支援 67 種語言的 i18n UI。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.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 都能執行免費與低成本模型。
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 相容的工具
📖 所有 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)。
### 🏢 每個主要實驗室 — 透過單一端點
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 個神經元
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 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** 。 一起使用 < td 對齊="left">VS代碼 — 穩定&內部人士< td 對齊=「左」>Cursor、 Windsurf、VSCodium、Theia、代碼伺服器、 Antigravity、 Kiro
儲存連結與
🧩 VS代碼市場安裝→
🔓 開啟VSX登錄安裝→
從編輯器內部:開啟**擴充**查看、搜尋**“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版本。

## 🔒 隱私優先與本機優先
隱私優先與本機優先 — 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 個 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 個引擎堆疊 引擎會依管線順序執行;每個引擎都可針對各組合獨立切換與設定:
#引擎功能
1Session-Dedup移除跨回合重複的內容(以內容定址、跨回合)
2CCR將大型區塊存檔於擷取標記後方,按需取得
3Lite空白字元 + 圖片 URL 修剪(低延遲基線)
4RTK智慧型工具結果篩選、去重與截斷(理解命令)
5Responses Tool Output針對 shell/修補程式/搜尋/建置輸出的無損優先 JSON + 有界診斷壓縮(Responses API)
6Headroom透過隨附的 GCF 編解碼器,對 JSON 陣列進行無損表格壓縮(約 30%)
7Relevance根據最後一個使用者查詢進行擷取式句子評分
8Caveman以規則為基礎的散文壓縮(輸出約 65–75%)
9Aggressive摘要與舊回合的漸進式老化
10LLMLingua-2透過 MobileBERT ONNX 進行 ML 語意修剪 — 程式碼安全、非同步
11Ultra啟發式 token 修剪,具備可選的小型模型(SLM)層級
12OmniGlyph實驗性的內容轉影像編碼,用於直接 Anthropic wire 上經測量的 Claude Fable 5;GPT 5.6 transformers 仍會在提供者回執完成前安全關閉。四種壓縮設定檔(預設為 aggressive、balanced、coding-safe、passthrough)(最積極;選擇性啟用)
程式碼區塊、URL 與結構化資料均會以**逐位元組精確**的方式**一律保留**。**一鍵預設組合**會結合這些引擎:
模式節省最適合
🪶 Lite~15%一律啟用的安全預設值
🪨 Standard (Caveman)~30%日常程式設計
⚡ Aggressive~50%長時間且大量使用工具的工作階段
🔥 Ultra~75%最大節省量
🧰 RTK60–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
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 — 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/CDGitHub 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
文件說明
API 參考所有端點與範例
OpenAPI 規格OpenAPI 3.0 規格
MCP Server110 個 MCP 工具、IDE 設定、Python/TS/Go 用戶端
MCP Server 指南MCP 安裝、傳輸方式與工具參考
A2A ServerJSON-RPC 2.0 通訊協定、技能、串流、工作管理
A2A Server 指南A2A 代理卡片、工作、技能與串流
### 📋 專案與品質
文件描述
貢獻指南開發環境設定與指南
分支與發布模型PR 的目標位置(release/*)、main 與標籤的含義
變更記錄完整的各版本發布歷史
安全性政策漏洞回報與安全性實務
i18n 指南67 種語言支援、翻譯工作流程、RTL
發布檢查清單發布前驗證步驟
涵蓋率計畫針對分布於 8,400 多個受追蹤測試檔案中的 60,000 多個靜態測試宣告之測試涵蓋率策略

# ⭐ 頂尖貢獻者 > OmniRoute 由充滿熱情的開源社群共同塑造。這些人士做出了卓越的貢獻,直接影響了專案的品質、穩定性與觸及範圍。**謝謝你們。** ### 依已合併提取要求排序的外部貢獻者
排名貢獻者已合併 PR~變更行數
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,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 歸屬的提交
Dizzle
Dizzle

🥇 418 個 GitHub 歸屬的提交
Bob.Hou
Bob.Hou

🥈 294 個 GitHub 歸屬的提交
Paijo
Paijo

🥉 229 個 GitHub 歸屬的提交
Paco Cartones
Paco Cartones

🏅 222 個 GitHub 歸屬的提交
backryun
backryun

🏅 202 個 GitHub 歸屬的提交
Jan Leon
Jan Leon

🏅 134 個 GitHub 歸屬的提交
Ravi Tharuma
Ravi Tharuma

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

🏅 115 個 GitHub 歸屬的提交
Randi
Randi

🏅 108 個 GitHub 歸屬的提交
Chris
Chris

🏅 70 個 GitHub 歸屬的提交
WebPerson
WebPerson

🏅 68 個 GitHub 歸屬的提交
Koosha Paridehpour
Koosha Paridehpour

🏅 68 個 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 的每一位贊助者——每一筆貢獻都讓本專案得以維持免費、獨立並持續發展。
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 維持免費與獨立。

## 👥 1,000+ 位貢獻者
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](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 Star 歷史圖表
## 🌍 StarMapper 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 的啟發
9router31,861此分支所基於的原始專案——在此基礎上擴充了多模態 API,並完整改寫為 TypeScript。
CLIProxyAPI57,329啟發此 JavaScript / TypeScript 移植版的 Go 實作。
LiteLLM62,580其公開定價資料集為我們的成本追蹤同步功能提供資料,而其提供者正規化模型則為我們的路由提供參考。
codex-chatgpt-web15,435MIT 原始碼經改編後納入隨附的 ChatGPT Web → Codex Responses 橋接器,包括瀏覽器工作階段、回應框架、用量與網頁搜尋介面卡。
free-claude-code65,966其模式被移植至串流復原、無思考別名、備援網頁搜尋、滑動視窗限制、日誌遮罩及強化的啟動器流程。
composer-api347Cursor Composer 的工具選擇、輸出限制與工具提交模式,經改編後納入原生 Cursor 執行器。
codex-multi-auth561新登入與重新整理權杖輪替模式被移植至 Codex OAuth 重新驗證。
opencode-anthropic-auth562Claude Code 相容的轉換預設值與計費標頭行為,被泛化至 OmniRoute 以設定檔驅動的橋接器。
grok2api-merged2其 Grok 模型對應、虛假的 TypeError Statsig 產生器、請求與裝置預設值,以及 NDJSON 回應處理器,都經實質改編後納入 OmniRoute 的 Grok Web 執行器。
TQZHR/grok2api707grok2api-merged 背後的主要傳遞程式碼來源;其模型、標頭、承載、Statsig 與處理器實作,都保留在 Grok Web 的血統中。
chenyme/grok2api7,874Grok 承載與裝置預設值、Statsig 產生器,以及經由 TQZHR 與 grok2api-merged 延續下來的 result.response 處理器,其底層 MIT 原始碼來源。
grok2api-pro27grok2api-merged 所致謝的傳遞來源之一,提供其代理集區層;OmniRoute 保留該血統聲明,但不主張在其受限的 Grok Web 執行器中移植代理集區。
GrokProxy52其以 Cookie 驗證的 Grok 代理,以及 result.response.token 串流模式,為 OmniRoute 的 Grok Web 傳輸提供參考。
GrokBridge5其 HTTP/瀏覽器上游設計曾供原始 Grok Web 實作參考;其直接 HTTP 路徑源自 GrokProxy,因此不主張有獨立的程式碼移植。
### 🗜️ 上下文與權杖壓縮——引擎
專案⭐對 OmniRoute 的啟發
Caveman116,957病毒式流傳的「為什麼要用很多 token,少量 token 就能完成工作」專案——其穴居人式的語言哲學驅動了我們的標準壓縮模式,以及 30 多項填充詞/濃縮規則。
RTK – Rust Token Killer85,350高效能命令輸出壓縮——啟發了我們的 RTK 引擎、JSON 篩選器 DSL、原始輸出復原,以及堆疊式的 RTK → Caveman 管線。
headroom78,672可逆的上下文壓縮(SmartCrusher)——啟發了我們的 headroom 引擎,以及 ccr 擷取標記模式。
LLMLingua6,797提示壓縮研究(LLMLingua / LLMLingua-2)——啟發了我們非同步、程式碼安全且失敗開放的 llmlingua 引擎。
llmlingua-2-js33JS/ONNX 移植版本(MobileBERT / XLM-RoBERTa),用作我們 LLMLingua 引擎的工作執行緒後端。
Troglodita50PT-BR token 壓縮——驅動我們的 pt-BR 語言套件:針對巴西葡萄牙文文法調校的贅詞縮減與填充詞移除。
ponytail182,929病毒式流傳的「懶惰資深開發者」YAGNI 程式設計技能——啟發了我們的 less-code 輸出樣式:以最小可運作變更為導向,減少_產生的_程式碼(這是相對於 Caveman 簡潔文字的輸出軸對應概念)。
i-have-adhd59,838其以行動優先、適合 ADHD 的回應樣式,被改編為 OmniRoute 跨五種語言的精簡輸出樣式。
### 🧩 精簡格式、token 研究與程式碼感知工具
專案⭐對 OmniRoute 的啟發
TOON25,602以 token 為導向的物件表示法——其欄式、標頭加資料列模型形塑了我們的表格式壓縮階段。
GCF – Graph Compact Format61其精簡圖形格式與通用設定檔設計,為 OmniRoute 的表格式壓縮與 Headroom 編解碼器格式提供了參考。
gcf-typescript4直接以 MIT 授權的 TypeScript 實作移植並擴充,作為 Headroom 通用設定檔編解碼器。
token-optimizer-mcp566Brotli/SQLite 快取加上每個工作階段的上下文差異——啟發了我們的 session-dedup 引擎。
token-savior1,203Bash 輸出壓縮加上 MCP 設定檔——啟發了我們的壓縮放棄紀律,以及 MCP 工具資訊清單縮減。
token-saver162具內容感知、依檔案類型進行的輸出壓縮,並採用失敗感知的放棄機制——驗證了我們的依類型分派與最低收益跳過策略。
token-optimizer2,853「找出幽靈 token」——其卸載加上可復原控制代碼的模式,為我們的 CCR 卸載構想提供了參考。
TokenMizer34工作階段圖形加上跨回合行去重的藍圖,為我們的 session-dedup 設計提供了參考。
OmniCompress3Rust 欄式 JSON 加上內容定址擷取與跨訊息去重——驗證了我們的 headroom/ccr/session-dedup 引擎設計,以及快取穩定的「壓縮形式與位置無關」不變量。
mcp-compressor140MCP 工具結構描述/說明壓縮——為我們的 MCP 工具資訊清單基數縮減提供了參考。
RepoMapper218Aider 風格的儲存庫對映排名——為我們的儲存庫對映/擷取排名探索提供了參考。
quiet-shell-mcp4透過 MCP 以宣告式方式縮減 shell 輸出——驗證了我們的宣告式 bash 輸出壓縮。
ts-morph6,222TypeScript 編譯器 API 工具組——啟發了我們以剖析器為基礎的註解移除功能,同時保留字串、樣板與正規表示式常值。
### 🧠 記憶體與 RAG
專案⭐對 OmniRoute 的啟發
Mem068,294通用記憶體層——其以代理作為寫入/讀取邊界的模型形塑了我們的記憶體架構。
Letta (MemGPT)25,321具備分層記憶體的有狀態代理——啟發了我們的 Context Control & Recovery (CCR) 分層模型。
WFGY1,804ProblemMap 對 16 種反覆出現的 RAG/LLM 失敗模式所建立的分類法——也是我們疑難排解指南中的共用詞彙。
### 🛰️ 流量檢查、MITM 與透明代理
專案⭐對 OmniRoute 的啟發
llm-interceptor81對程式設計助理 ↔ LLM 流量進行 MITM 攔截/分析的方式,影響了早期 Traffic Inspector 的需求。先前衍生的四個模組——SSE 合併、對話正規化、密鑰遮罩與標頭清理——現已由根據公開協定標準所獨立實作的乾淨室版本取代。兩個主機傳遞介面(passthrough.ts 與 _internal/bypass.cjs)仍是 OmniRoute 內部實作,並獨立分類;它們並未作為該替換工作的一部分重寫。
ProxyBridge6,978逐程序的透明代理路由——啟發了我們的防當機 MITM 拆除機制、socket 閒置逾時、/proc 程序歸屬與 TPROXY 擷取。
### 📚 模型資料、可觀測性與 UI
專案⭐對 OmniRoute 的啟發
models.dev7,486AI 模型規格、定價與能力的開放資料庫——原生同步至我們的模型目錄。
React Flow / xyflow38,874為我們的即時 Compression Studio 與 Combo/Routing Studio 提供支援的節點式圖形函式庫。
LangGraph44,349LangGraph Studio 的即時工作流程圖視覺化,啟發了我們各個 Studio 的即時級聯檢視。
Langfuse36,907其 trace → span → generation 可觀測性模型形塑了我們的 Compression Studio 瀑布圖。
Kiali3,647Istio 服務網格可觀測性——啟發了我們在 Routing/Combo Studio 中的斷路器徽章與錯誤邊線視覺效果。
lobe-icons2,666用於在我們的儀表板中呈現各個提供者圖示的 AI/LLM 品牌標誌。
flag-icons12,499提供 README 語言選擇器所使用、採 MIT 授權的 SVG 國旗圖示。
### 🛡️ 安全性
專案⭐對 OmniRoute 的啟發
awesome-secure-defaults723精選的安全預設函式庫清單,為我們的安全性選擇提供指引(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)。
### 🧭 互補工具
專案⭐對 OmniRoute 的啟發
ClawRouter6,649啟發了請求去重、緊急零成本備援、可插拔的 Auto-Combo 策略與多語言意圖分類。
Antigravity-Manager32,785其感知帳戶的模型重新映射、可執行檔路徑驗證與方案標籤行為,為 OmniRoute 的 Antigravity 執行階段提供了參考。
vscode-antigravity-cockpit4,852其精簡的配額重設倒數格式,啟發了 OmniRoute 中對應的提供者限制顯示方式。
AionUi33,996其 ACP 整合啟發了 OmniRoute 自動偵測已安裝 CLI 代理的功能。
CodexBar22,955識別出 Grok Build 配額介面;OmniRoute 隨後獨立驗證並修正了即時線上格式。
## 📄 授權條款 MIT 授權條款 - 詳情請參閱 [LICENSE](LICENSE)。 ---
**[⬆ 返回頂端](#-omniroute)** · 為開源 AI 社群用 ❤️ 打造。 由 Diego Souza 建立 · OmniRoute v3.8.54 · Node ≥22.22.2 · MIT 授權條款 · omniroute.online