0.可行性評估結論
評估面向
依據
| 項目 | 觀察結果 |
|---|---|
| 社群規模 | GitHub 26.6k+ 星、3.5k+ fork、500+ 貢獻者,Discord / Telegram 社群活躍 |
| 維護狀態 | 提交頻繁(評估當日前一天仍有新提交),已發布公開 Roadmap(3.9 LTS → 4.0) |
| 版本與發布 | v3.8.49,同步發布於 npm、Docker Hub 與 GitHub Releases(Electron 桌面版) |
| 授權 | MIT,可自由使用、修改與商用 |
| 程式品質 | 具備大量自動化測試(Vitest / Playwright / 突變測試)、CI 品質閘門、安全掃描 |
| 實測安裝 | npm install -g omniroute 於 Node.js 22 環境安裝成功、無錯誤 |
- 免費額度會變動:免費供應商的額度與存活狀態隨時可能調整,官方每兩週重新盤點一次。
- 部分供應商有服務條款(ToS)疑慮:官方文件即標註了 15 個供應商屬於 ToS 灰色地帶(例如以瀏覽器 Cookie 或逆向 OAuth 方式接入),使用與否需自行判斷(詳見第 11 節)。
- 專案範圍龐大:功能極多(290+ 供應商、19 種路由策略、MCP/A2A),更新頻繁,小版本間偶有行為變化。
1.OmniRoute 是什麼?
OmniRoute 是一個安裝在你自己電腦(或伺服器)上的 AI Gateway(AI 閘道/路由器)。它對外提供一個與 OpenAI、Claude、Gemini API 相容的統一端點,對內則幫你管理與調度多達 290+ 家 AI 供應商。
你的工具(Claude Code、Codex、Cursor、Cline、VSCode…)
⬇️ 只需設定一個端點
OmniRoute http://localhost:20128/v1
⬇️ 智慧挑選、失敗自動換下一家
290+ 家 AI 供應商(OpenAI、Anthropic、Google、DeepSeek、Groq、免費供應商…)
核心賣點
- 永不中斷:某家供應商掛掉或額度用盡時,毫秒級自動切換到下一家(auto-fallback)。
- $0 起步:內建免金鑰的免費供應商,裝完立刻能用;再串接各家免費額度,官方統計每月合計約 15 億免費 token。
- Token 壓縮:RTK + Caveman 疊加壓縮,官方宣稱可省 15–95% token(工具密集型工作平均約 89%)。
- 一個端點通吃:同時相容 OpenAI、Anthropic(Claude)、Gemini、Responses API 格式,33+ 種 coding agent 皆可直接串接。
- 本機優先、隱私可控:所有金鑰與資料存在本機(
~/.omniroute),不經第三方伺服器。 - 進階功能:19 種路由策略、Combo 備援鏈、MCP 伺服器(100+ 工具)、A2A 協定、用量儀表板、成本追蹤。
2.系統需求
| 項目 | 需求 |
|---|---|
| 作業系統 | Windows / macOS / Linux(另支援 Termux、Docker、雲端 VPS) |
| Node.js | 22.22.2 以上(不含 23)或 24.x–26.x(npm 安裝方式必要;Docker / 桌面版不需要) |
| 記憶體 | 建議 1 GB 以上可用記憶體 |
| 連接埠 | 預設使用 20128(可自訂) |
| 網路 | 需要可連外(存取各 AI 供應商 API) |
node --version # 需 ≥ v22.22.2,若太舊請到 https://nodejs.org 下載 LTS 版
3.安裝方式(四選一)
方式 A:npm 全域安裝(官方推薦)
npm install -g omniroute
omniroute
安裝完成後執行 omniroute,服務會啟動在 http://localhost:20128,並自動開啟儀表板網頁。
方式 B:Docker
docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest
適合伺服器或不想安裝 Node.js 的環境。進階用法(Compose、HTTPS)見第 9 節。
方式 C:桌面應用程式(Electron)
到 GitHub Releases 下載對應平台的安裝檔:Windows(NSIS 安裝檔/免安裝版)、macOS(dmg,支援 Apple Silicon 與 Intel)、Linux(AppImage / deb / rpm)。適合完全不想碰指令列的使用者。
方式 D:從原始碼執行(開發者)
git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute
npm install # 首次會自動從 .env.example 產生 .env
npm run dev
其他安裝管道(pnpm / Arch Linux)
# pnpm(必須加 --allow-build 才能編譯原生模組)
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core
# Arch Linux(AUR,附 systemd 使用者服務)
yay -S omniroute-bin
systemctl --user enable --now omniroute.service
解除安裝
| 指令 | 效果 |
|---|---|
npm run uninstall | 移除程式,但保留 ~/.omniroute 內的資料庫與設定 |
npm run uninstall:full | 移除程式並永久刪除所有設定、金鑰與資料庫 |
4.啟動與初始設定
-
啟動服務
omniroute瀏覽器會自動開啟儀表板
http://localhost:20128(不想自動開啟可加--no-open)。也可以改用引導式設定:omniroute setup,會一步步帶你設定管理密碼與第一個供應商。 -
設定管理密碼
首次進入儀表板會要求建立密碼,保護你的設定與金鑰。忘記密碼時可用
omniroute-reset-password重設。 -
驗證安裝是否正常
omniroute doctor # 本機健康檢查(不需啟動伺服器) omniroute status # 離線狀態總覽:版本、資料庫、工具、設定 -
零設定測試(免金鑰)
全新安裝就內建免金鑰的免費供應商(如 OpenCode Free),
auto模型開箱即可回應:curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' -
建立 API 金鑰(給工具用)
到儀表板 API Keys(
/dashboard/api-manager)建立一組金鑰。金鑰只會顯示一次,請立即保存。注意:這組金鑰是給「你的工具連 OmniRoute」用的,不是上游供應商的金鑰。curl http://localhost:20128/v1/models -H "Authorization: Bearer 你的金鑰"能列出模型清單即代表設定成功。
5.連接 AI 供應商
「供應商(Provider)」就是一條通往某家 AI 服務的連線。OmniRoute 把供應商分成四類:
| 類型 | 說明 | 範例 | 費用 |
|---|---|---|---|
| 免費 | 不需付款,部分連金鑰都不用 | Kiro、OpenCode Free、Pollinations | $0 |
| API 金鑰 | 需到官網申請金鑰 | OpenAI、Anthropic、Google、DeepSeek、Groq | 按用量計費 |
| OAuth | 用帳號登入授權 | Claude Code、GitHub Copilot | 訂閱制 |
| 網頁 Cookie | 沿用你的瀏覽器登入狀態 | ChatGPT Web、Gemini Web | $0(用你既有帳號,ToS 灰色地帶) |
操作步驟(儀表板)
- 開啟
http://localhost:20128,點左側 Providers - 點 + Add Provider,瀏覽或搜尋供應商
- 依類型填入憑證:免費供應商直接按 Connect;API 金鑰型貼上金鑰;OAuth 型按 Connect with OAuth 登入
- 按 Test Connection 確認連線正常
- 完成!模型會自動加入
auto的候選池
建議的免費起手式
| 供應商 | 免費額度 | 模型 | 連線方式 |
|---|---|---|---|
| Kiro AI | 每月 50 credits | Claude Sonnet / Haiku / Opus | 免驗證 |
| OpenCode Free | 無上限 | GPT-4o、Claude、Gemini | 免驗證 |
| Pollinations | 免金鑰 | GPT-5、Claude、Gemini、Llama 4 | 免驗證 |
| Cloudflare AI | 每日 10K neurons | 50+ 模型 | 免驗證 |
| Cerebras | 每日 100 萬 token | Qwen3 235B 等 | 需 API 金鑰 |
| Google Gemini | 每日 1,500 次請求 | Gemini 2.5 Pro / Flash | 需 API 金鑰 |
auto,讓 OmniRoute 自動調度,兼顧成本、速度與品質。
常用金鑰申請入口
- OpenAI:
platform.openai.com/api-keys - Anthropic:
console.anthropic.com - Google Gemini:
aistudio.google.com/apikey - DeepSeek:
platform.deepseek.com - Groq:
console.groq.com
6.auto 智慧路由與 Combo
把模型名稱設成 auto,OmniRoute 就會替每一次請求自動挑選最合適的供應商——依健康度、剩餘額度、成本、速度、任務適配度等 12 項因素評分,失敗自動換下一家。
auto 變體
| 模型名稱 | 優先考量 | 適用情境 |
|---|---|---|
auto | 均衡(健康 20%、額度 15%、成本 15%) | 日常對話、一般用途 |
auto/coding | 程式能力優先(taskFit 37%) | 寫程式、除錯 |
auto/fast | 延遲優先(latency 32%) | 要快速回應的場景 |
auto/cheap | 成本優先(cost 37%) | 省錢至上 |
auto/smart | 品質優先+10% 探索 | 複雜、困難任務 |
auto/offline | 剩餘容量優先(quota 37%) | 尖峰時段、供應商壅塞時 |
三層容錯保護
- 自動備援:最佳供應商失敗 → 立刻改派次佳者。
- 自我修復:持續失敗的供應商(評分 < 0.2 或斷路器開啟)會被暫時排除 5–30 分鐘。
- 緊急後備:全部失敗時,改路由到穩定的免費供應商,確保服務不中斷。
7.串接你的開發工具
通用原則:任何支援 OpenAI 相容 API 的工具,只要設定三個值即可——
Base URL : http://localhost:20128/v1
API Key : (儀表板 API Keys 頁建立的金鑰)
Model : auto # 或任何 供應商/模型 格式,如 deepseek/deepseek-chat
7.1 Claude Code
最簡單的方式是用內建啟動器,全部環境變數自動幫你設好:
omniroute launch # 以 OmniRoute 為後端啟動 Claude Code
omniroute setup-claude # 依線上模型目錄產生每個模型的 profile
omniroute launch --profile glm52 # 用特定模型 profile 啟動
手動設定則使用環境變數(Claude Code 沒有 --base-url 參數):
export ANTHROPIC_BASE_URL="http://localhost:20128" # 注意:結尾「不要」加 /v1
export ANTHROPIC_AUTH_TOKEN="你的OmniRoute金鑰"
claude
ANTHROPIC_BASE_URL 不可包含 /v1(Claude Code 會自己補 /v1/messages);環境變數只在啟動時讀取一次,改完要重啟 claude。
7.2 Codex CLI
# 先把金鑰設成環境變數(Windows 用 setx OMNIROUTE_API_KEY 你的金鑰)
export OMNIROUTE_API_KEY="你的金鑰"
omniroute launch-codex --model auto # 一鍵啟動,端點與金鑰自動注入
omniroute setup-codex # 或:產生 ~/.codex/*.config.toml 設定檔
7.3 VSCode(Continue.dev 擴充)
安裝 Continue.dev 擴充後,在 ~/.continue/config.yaml 加入:
- name: OmniRoute - Auto
provider: openai
model: auto
apiBase: http://localhost:20128/v1
apiKey: 你的金鑰
之後在 Continue 聊天面板選擇「OmniRoute - Auto」即可。也可直接執行 omniroute setup-continue 自動寫入。
7.4 其他工具一鍵設定
OmniRoute 內建多數主流工具的自動設定指令,會直接把設定寫進各工具自己的設定檔:
omniroute setup-cursor # Cursor(顯示 App 內設定步驟)
omniroute setup-cline # Cline(CLI + VSCode 擴充)
omniroute setup-opencode # OpenCode
omniroute setup-kilo # Kilo Code
omniroute setup-roo # Roo Code
omniroute setup-aider # Aider
omniroute setup-goose # Goose
omniroute setup-qwen # Qwen Code
每個指令都支援 --dry-run(預覽不寫入)與 --remote <url> --api-key <key>(指向遠端的 OmniRoute 伺服器)。
7.5 無法送 Authorization Header 的編輯器
部分編輯器無法自訂 Bearer 標頭,可改用「金鑰內嵌網址」的相容端點:
Base URL : http://localhost:20128/api/v1/vscode/你的金鑰/
7.6 MCP 伺服器(給 AI Agent 用)
# Claude Code 加入 OmniRoute MCP(HTTP 串流)
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
# 或以 stdio 模式啟動(Cursor / Cline 設定 command: omniroute, args: ["--mcp"])
omniroute --mcp
7.7 確認流量真的有走 OmniRoute
在儀表板左側點 Monitoring / Logs(/dashboard/logs),每一筆請求的來源工具、路由到哪家供應商、token 用量都看得到——除錯與學習都很好用。
8.常用 CLI 指令速查
| 指令 | 用途 |
|---|---|
omniroute | 啟動伺服器(API 與儀表板同在 20128 埠) |
omniroute setup | 引導式初始設定(密碼、第一個供應商) |
omniroute doctor | 本機健康檢查(支援 --json) |
omniroute status | 離線狀態總覽:版本、DB、工具、設定 |
omniroute providers available | 列出可接入的供應商(--search、--category 過濾) |
omniroute providers list / test-all / validate | 列出、測試、驗證已連接的供應商 |
omniroute logs --follow | 即時串流用量日誌 |
omniroute update | 檢查/套用更新 |
omniroute --port 3000 | 改用其他連接埠 |
omniroute --no-open | 啟動時不自動開瀏覽器 |
omniroute --mcp | 以 MCP stdio 模式啟動 |
omniroute-reset-password | 重設儀表板密碼 |
無人值守/自動化部署(CI、腳本)
omniroute setup --non-interactive --password "$OMNIROUTE_PASSWORD"
omniroute setup --non-interactive --add-provider --provider openai \
--api-key "$OPENAI_API_KEY" --test-provider
omniroute providers test-batch
9.Docker 與伺服器部署
單容器快速啟動
docker run -d --name omniroute \
-p 20128:20128 \
-v omniroute-data:/data \
diegosouzapw/omniroute:latest
Docker Compose(多種 profile)
docker compose --profile base up -d # 精簡版(無內建 CLI 工具)
docker compose --profile cli up -d # 內建 Claude Code / Codex 等 CLI
docker compose -f docker-compose.prod.yml up -d --build # 正式環境
API 與儀表板分埠(反向代理場景)
PORT=20128 DASHBOARD_PORT=20129 omniroute
# API: http://localhost:20128/v1
# Dashboard: http://localhost:20129
遠端模式(一台伺服器、多台電腦共用)
# 在你的筆電上連到 VPS 上的 OmniRoute:
omniroute connect http://192.168.0.15:20128
omniroute launch # 之後 launch / setup-* 都自動指向遠端
- 不要把 20128 埠裸露到公網——請設定強密碼,並用反向代理(Caddy / Nginx)加上 HTTPS,或走 Cloudflare Tunnel。
- 反向代理的 timeout 要設得比 OmniRoute 的串流 timeout(預設 600 秒)更長,否則長回應會被切斷。
- 正式環境建議設定
INITIAL_PASSWORD等環境變數以指令碼化部署。
10.疑難排解
| 症狀 | 解法 |
|---|---|
| 安裝時出現 ERESOLVE / peer / deprecated 警告 | 多為無害警告;確認 Node.js 版本符合需求後重裝即可 |
| 登入頁崩潰、出現「Module self-registration」錯誤 | Node 版本不相容——切換到 22.22.2+ 或 24 LTS 後重新 npm install -g omniroute |
| 連接埠被占用 | omniroute --port 3000 改用其他埠 |
| 供應商驗證顯示「fetch failed」 | 檢查本機防火牆/代理設定;公司網路常擋外部 API |
| 工具設定了卻沒走 OmniRoute | 檢查 Base URL 是否正確(Claude Code 不加 /v1、OpenAI 相容工具要加 /v1);改環境變數後要重啟工具 |
| 一直收到 429(rate limit) | 多接幾家供應商讓 auto 自動分流;或改用 auto/offline |
| OAuth token 過期 | 到 Providers 頁對該供應商重新授權 |
| 供應商被斷路器卡在 OPEN 狀態 | 等 5–30 分鐘自動恢復,或到儀表板手動重置;持續跳開代表上游真的不穩 |
| 回應到一半被切斷 | 調高 REQUEST_TIMEOUT_MS / STREAM_IDLE_TIMEOUT_MS;有反向代理時同步調高其 timeout |
| 忘記儀表板密碼 | 執行 omniroute-reset-password |
更完整的清單見官方 Troubleshooting 文件,或執行 omniroute doctor 自動診斷。
11.風險與注意事項(採用前必讀)
📜 服務條款(ToS)風險
部分「免費」供應商是透過網頁 Cookie、逆向 OAuth 或模擬官方 CLI 的方式接入(官方文件明確標註 15 家有 ToS 疑慮,並提供「TLS stealth」偽裝功能)。這類用法可能違反該服務的使用條款,帳號有被限制或封鎖的風險。商業或正式用途建議只使用正規 API 金鑰型供應商。
📉 免費額度不保證
免費供應商隨時可能調整額度、加上驗證或直接關閉。官方每兩週重新盤點免費額度數字,且明言「數字會雙向變動」。不要把免費額度當成可長期依賴的產能。
🔐 金鑰集中保管
所有供應商金鑰集中存在本機 ~/.omniroute。請設定強密碼、妥善保護這台機器;對外部署時務必上 HTTPS 與防火牆。
🧪 敏感資料經過第三方
走免費供應商時,你的 prompt 內容會送到這些第三方服務。處理機密程式碼或個資時,請只路由到你信任、有簽約關係的供應商(可用 Combo 鎖定)。
⚡ 更新頻繁
專案迭代非常快(幾乎每日發版),小版本偶有行為調整。正式環境建議鎖定版本號(如 npm i -g omniroute@3.8.49 或 Docker 指定 tag),驗證後再升級。
🧮 官方數據當參考值
「每月 15 億免費 token」「省 89% token」等為官方在特定條件下的統計,實際效果依你的用量型態而異,建議自行用儀表板的用量頁驗證。
12.官方資源連結
- GitHub 專案:github.com/diegosouzapw/OmniRoute
- 官方網站:omniroute.online
- 繁體中文 README:docs/i18n/zh-TW/README.md
- 快速開始:QUICK-START.md
- 供應商指南:PROVIDERS-GUIDE.md
- 免費額度方法論:FREE_TIERS.md
- Docker 指南:DOCKER_GUIDE.md
- npm 套件:npmjs.com/package/omniroute
- 社群支援:Discord・Telegram