本機相容端點與上游路由層
OmniRoute 是執行於使用者環境的 AI Gateway。它對工具提供 http://localhost:20128/v1 等相容介面,並把請求送往已連接的上游供應商;OpenAI、Anthropic、Gemini 與 Responses API 格式可在閘道層轉換。
auto 不需要預先建立 combo。系統會根據目前已連接的供應商建立虛擬候選池,再依健康度、額度、成本、延遲與歷史表現等訊號選擇模型;若上游失敗,路由層可改選下一個可用候選。
回應中的 X-OmniRoute-Decision 可用來確認策略、供應商與路由延遲,其他 X-OmniRoute-* 標頭則提供成本與使用量資訊。這些標頭可驗證路由結果,補充儀表板的狀態資訊。
IDE / CLI
localhost:20128/v1
Auto 候選池
韌性檢查
上游供應商
決策標頭
“No combo to create. Set your model to auto.”
安裝、啟動與連線驗證
npm 套件要求 Node.js ≥ 22.22.2 且 < 23,或 ≥ 24 且 < 27。全域安裝後執行 omniroute,儀表板與 Gateway 會使用本機 port 20128。
# 全域安裝並啟動 Gateway 與儀表板
npm install -g omniroute
omniroute
# 儀表板:http://localhost:20128
# OpenAI 相容 API:http://localhost:20128/v1供應商與 API 驗證
先在儀表板的 Providers 頁面連接可用供應商,再從 Endpoints 取得 API key。模型可先設為 auto,並用模型清單端點確認授權與連線。
# OpenAI 相容工具設定
Base URL: http://localhost:20128/v1
API Key: [從儀表板 → Endpoints 複製]
Model: auto
# 驗證授權並列出可用模型
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"Docker 與 Codex 啟動器
官方容器命令將服務只綁定到 loopback,資料則保留在命名 volume。Codex 可用 omniroute launch-codex 啟動;此類 launcher 不會改寫現有設定檔。
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
# 以目前環境啟動 Codex,不寫入設定檔
omniroute launch-codex十九種策略與周邊能力
19 種策略涵蓋固定順序、負載分散、成本、額度、context、快取、評分與多模型工作流。先以 auto 建立基準,再依可重現的需求改用明確策略。
Route · 01
priority · fill-first
固定順序與額度填滿
priority 依清單順序選擇;fill-first 先使用目前候選,達到條件後再移至下一個。
Route · 02
weighted · round-robin
權重與輪替
weighted 依設定權重分配;round-robin 逐一輪替候選,適合可預期的分流。
Route · 03
p2c · least-used
低負載選擇
p2c 比較兩個隨機候選;least-used 選擇近期使用量較低者。
Route · 04
random · strict-random
隨機分流
random 可在失敗時重選;strict-random 保持一次隨機決策的嚴格語意。
Route · 05
cost-optimized · headroom
成本與餘量
cost-optimized 優先考量單價;headroom 優先考量剩餘額度。
Route · 06
reset-window · reset-aware
額度重設時窗
兩種策略都把額度重設時間納入決策,適合週期性配額與多帳號連線。
Route · 07
context-relay · context-optimized
Context 管理
context-relay 在模型間接續長對話;context-optimized 依 context 條件選擇候選。
Route · 08
cache-optimized · lkgp
快取與歷史表現
cache-optimized 納入快取效益;lkgp 使用最近已知良好表現協助選擇。
Route · 09
auto · fusion · pipeline
評分與工作流
auto 動態評分;fusion 組合多模型結果;pipeline 依序執行多階段工作。
Resilience · 10
breaker · cooldown · lockout
三層故障隔離
供應商熔斷器、連線冷卻與模型鎖定分別處理不同失敗範圍;模型鎖定預設關閉。
Compression · 11
RTK + Caveman
請求壓縮
壓縮管線可降低送往模型的 token;正式採用前可在源碼 checkout 執行 npm run eval:compression 進行離線評估。
Protocol · 12
--mcp · A2A · connect
Agent 與遠端控制
omniroute --mcp 提供 MCP;A2A 支援 agent 互通;omniroute connect 連接遠端執行個體。
Auto 模型識別碼
| 模型識別碼 | 主要取向 |
|---|---|
auto | 平衡預設,搭配最近已知良好表現 |
auto/coding | 程式任務的品質優先 |
auto/fast | 低延遲優先 |
auto/cheap | 低成本優先 |
auto/offline | 額度餘量優先 |
auto/smart | 品質評分並保留探索比例 |
可驗證的設定順序
設定原則依目前預設分支的 README 與官方文件整理,各項均附設定或驗證點。
TIP 01 · auto 基準設定
模型設為 auto 時,系統會從目前連線即時建立虛擬候選池,不需先寫入 combo。確認命中結果後,再改用情境變體或固定策略。
來源 · docs/routing/AUTO-COMBO.md
TIP 02 · 決策標頭與路由核對
讀取 X-OmniRoute-Decision,確認實際策略、供應商與路由延遲。成本與用量則由其他 X-OmniRoute-* 標頭補充。
來源 · 官方 README · Routing Decision
TIP 03 · 設定前的 dry run
setup-codex 會建立 ~/.codex/<name>.config.toml。先使用 --dry-run 檢查預定內容,避免覆蓋既有工作設定。
來源 · docs/guides/CODEX-CLI-CONFIGURATION.md
TIP 04 · 臨時整合的 launcher
omniroute launch-codex 與其他 launcher 會帶入目前環境所需值,但不寫入工具設定檔。可用於驗證單次工作階段。
來源 · docs/guides/CLI-INTEGRATIONS.md
TIP 05 · 三層韌性的作用範圍
供應商熔斷器、連線冷卻與模型鎖定處理不同失敗層級。模型鎖定預設關閉,不能把三層一概視為已啟用。
來源 · docs/architecture/RESILIENCE_GUIDE.md
TIP 06 · header 授權資訊
標準整合使用 Authorization: Bearer。只有 client 無法傳送自訂 header 時,才採用含 token 的相容路徑。
來源 · docs/guides/CLI-INTEGRATIONS.md
TIP 07 · 記憶功能的啟用條件
Memory 預設關閉。啟用後才會把相關資料保存在本機;處理敏感內容前,應先確認資料保留範圍與清除流程。
來源 · 官方 README · Memory
TIP 08 · 安全防護的逐項確認
Prompt injection guard 預設為警告模式;credential masker 則需主動啟用。正式環境不能把 guardrail 當成唯一安全邊界。
來源 · docs/security/GUARDRAILS.md
Codex 連線與路由核對
下列終端內容是操作順序示意。命令來自官方 README 與 CLI 文件;方括號中的文字只說明應觀察的結果,不代表固定供應商、費用或延遲。
$ npm install -g omniroute
$ omniroute
$ omniroute doctor
$ curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
$ omniroute launch-codex
$ codex ›
檢查這個專案的測試失敗原因。
ok: [由 X-OmniRoute-* 核對成本與使用量]
“One config — http://localhost:20128/v1 — and every AI IDE or CLI runs on free & low-cost models.”
驗證重點
啟動成功後仍需驗證路由。先確認模型清單,再以實際請求的 X-OmniRoute-Decision 檢查命中供應商與策略。若啟用壓縮,另讀取 X-OmniRoute-Compression,並以代表性工作負載比較輸出品質。
需要長期設定時,再執行 setup-codex --dry-run 檢查預定寫入內容。Codex 使用的 Base URL 是 /v1;其他協定的根路徑可能不同,不能直接複製同一值。
正式環境的限制清單
從本機驗證到受控部署
完成本機連線後,依序建立健康檢查、策略基準、設定管理、遠端存取與可觀測性。每一步都應保留可重現的驗證結果。
導入路徑
**1. 建立本機健康基準。**完成安裝、Providers 與 Endpoints 設定後,執行 omniroute doctor、模型清單請求與一筆實際推論。
**2. 比較 Auto 變體。**以相同工作負載測試 auto、auto/coding、auto/fast 與 auto/cheap,記錄決策標頭、延遲、成本與任務品質。
**3. 固化設定與策略。**使用 setup-codex --dry-run 檢查持久設定;有固定順序、成本上限或 context 需求時,再建立持久 combo。
**4. 評估 Agent 與遠端介面。**需要 agent 控制時再啟用 MCP 或 A2A;遠端執行個體則使用 omniroute connect,並配置最小權限與受保護的網路端點。
**5. 納入可觀測性。**保存 X-OmniRoute-Decision、成本、使用量與壓縮標頭,並把供應商失敗、fallback 與配額事件接入既有監控流程。
三份延伸文件
① docs/routing/AUTO-COMBO.md:Auto 候選池、模型識別碼與評分流程。
② docs/guides/CLI-INTEGRATIONS.md:各工具的 setup 與 launcher 行為。
③ docs/architecture/RESILIENCE_GUIDE.md:熔斷器、冷卻與模型鎖定的範圍。
“Self-managing model chains with adaptive scoring + zero-config auto-routing.”