npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

omnilane

v0.14.0

Published

One routing table, every harness — classify subtasks into lanes and dispatch each lane to the best vendor's agentic CLI (Codex, Claude, Gemini, Grok) using your existing subscription logins.

Readme

omnilane

一張路由表,四個執行框架通用。

讓主迴圈不再猜要用哪個模型。Claude Code · Codex · Grok Build · Antigravity 任一框架開車,每個子任務都派給 真正最擅長它的模型——Codex、Claude、Grok、Gemini、Kimi、Qwen、OpenCode, 或經 OpenRouter 直達任何託管模型——用你已經在付的訂閱,或一把 API 金鑰。

ci license version

English · 繁體中文 · 简体中文 · 日本語 · 한국어


🤔 omnilane 是什麼?

問題在哪。 你已經在用某個 AI 寫程式助手——Claude Code、Codex、Cursor、 Gemini CLI 之類。每一個都只接一個模型家族,所以你交代的每件事都跑在那同一個 模型上,不管它適不適合:隨手改個檔名燒掉最貴的模型,真正難的架構問題卻剛好落在 你當下開著的那個。

omnilane 做什麼。 它給你的助手一張路由表。工作被分進通道——最難的實作、 機械粗活、初篩、硬判斷、文字終審——每條通道指名對那件事最強(也最省)的模型。 助手保留自己本來就擅長的通道,其餘用你既有的登入,在背景丟給別家廠商的 CLI。

它不是什麼。 不是 proxy、不是另一筆訂閱、不是又一個要顧的服務。它就是一張表 加一支派工腳本,躲在你現有工具背後跑。./install.sh --uninstall 可完全清除。

你不需要每一家訂閱。 每條通道都是候選鏈,派工時自動採用本機實際裝了的第一個 候選。裝一家或七家都行,整條鏈都沒有的通道就自動關閉,而不是報錯。只有一份訂閱 時,整張預設表會收斂到那一家。

⬇ 直接跳到 60 秒上手 · ❓ 看常見問題

⚡ 60 秒上手

最快的方式——用 npm 裝:

npm i -g omnilane                                    # 裝 CLI
omnilane route hardest-coding "修掉會間歇失敗的 auth token 更新測試"
omnilane doctor                                      # 看你手上有哪些 AI CLI / 金鑰
omnilane ui start                                    # 選配:在瀏覽器即時看派工

或 clone 整包(拿到路由表與可自訂的技能):

git clone https://github.com/Seraphim0916/omnilane && cd omnilane
./install.sh          # 偵測你的 CLI、接好技能、說你的語言
omnilane route hardest-coding "修掉會間歇失敗的 auth token 更新測試"

第一次用?先跑 omnilane doctor——它會告訴你 omnilane 現在能接到哪些模型 CLI 與 API 金鑰,你就知道實際會跑什麼。

🧭 運作方式

omnilane 讓任何一個 agentic CLI 的主迴圈把子任務分類到通道(lane), 再以無頭方式把每條通道派工給該項工作最強的廠商——直接沿用你既有的訂閱登入 (openrouter vendor 例外:免裝任何 CLI,一把 API 金鑰直連):

flowchart LR
    M["主迴圈<br/><i>你在用的任一 CLI</i>"] --> T{{"routing.yaml<br/>一張共用路由表"}}
    T -->|hardest-coding| C1["Codex — GPT-5.6 Sol"]
    T -->|bulk-mechanical| C2["Codex — GPT-5.6 Terra"]
  T -->|taste-final| C3["Claude — Opus 5"]
    T -->|long-context| C4["Gemini — 3.1 Pro"]
    T -->|live-search| C5["Grok — 4.5"]
    T -->|"arbitrate(選配)"| C6["vote — 1-4 模型評審團"]
  • routing.yaml — 通道 → 廠商+模型+推理檔位。一個檔案,四個執行框架共用。
  • 候選鏈 — 一條通道可以列多個候選(codex … | claude … | off), 派工時自動採用本機實際裝了的第一個廠商 CLI。只訂一、兩家也能用同一張表。
  • scripts/dispatch.sh [--vendor V] <通道> "<任務>" — 查表後以無頭方式 呼叫對應廠商的 CLI。--vendor 會鎖定點名廠商,不做降級。
  • skills/omnilane/SKILL.md — 一份技能四個框架都能載入: 先認出自己是哪個模型,自己通道的活自己做,其餘派出去。
  • omnilane mcp — 同一套路由改以 MCP stdio server 提供, 給走 MCP 而非 skill 整合的宿主。

| | | | |:---:|:---:|:---:| | 🧭 一張表四個執行框架共用 | 🪂 候選鏈自動降級到你有裝的 CLI | 🗳️ 意見評審團重大決定多模型投票 | | 🔒 安全機制排隊鎖 · 看門狗 · 禁巢狀 | 🌏 五種語言安裝器說你的母語 | ↩️ 完全可逆--uninstall 一鍵還原 |

🛤️ 通道一覽(預設值;實際生效值跑 scripts/dispatch.sh --list 看)

| 通道 | 首選模型 | 備選模型 | 用途 | |---|---|---|---| | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最難的實作、深度除錯、正確性攸關的修改 | | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 重構、搬遷、測試、大面積掃描——機械耐力活 | | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 高量初篩、第一輪過濾 | | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 架構仲裁、深度推理、第二意見 | | ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 對外文字、prompt 與文件打磨、風格終審 | | 💬 consult | 明確點名的廠商/模型 | —(不降級) | 自然語言直接諮詢;必須保留 --vendor | | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有設計規範/參考圖時的 UI 出稿;開放式視覺品味交給 taste-final | | 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 百萬 token 掃讀、檢索與長文跨段整合;高速重複迴圈仍優先 Flash | | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 快速多步驟 agentic 迴圈、多模態檢查 | | 📡 live-search | Grok 4.5 | —(off) | 即時 X/網路搜尋與社群脈絡 | | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 額度吃緊時的中量級編碼溢流道;事實性宣稱須另行查證 | | 🗳️ arbitrate | off(選配評審團) | — | 內建意見評審團,重大決定用——預設關閉,要用在 routing.local.yaml 開;每評審每輪燒一次額度 |

備選模型是候選鏈的下一位——首選那家的廠商 CLI 沒裝時,派工就降到它。每條 通道都是這樣一條鏈;整條都沒裝時,通道自動降為 off

Claude Fable 5 去哪了? 預設表刻意不放——理由與完整數據見 常見問題

自然語言諮詢

透過 omnilane 技能或 /route,你可以直接說: 「請 Opus 挑戰這個架構。」 自然語言是由 Agent Skill 判讀,不是在 dispatch.sh 裡做自由文字 shell 解析。

  • 只問「哪個模型適合」時,回答相符通道目前第一個可用模型,不發出模型呼叫。
  • 只點廠商名時,使用該廠商在 consult 通道裡設定的候選模型。
  • 點標準模型別名(例如 Opus)時,會鎖定技能表裡的確切模型家族。明確目標 不存在或 CLI 不可用時會清楚失敗,不會暗中換廠商或模型家族。

上面那張表跟廠商無關——一條通道的最佳模型不會因為誰在主控而改變。會變的是 你哪些通道自己做(你本來就是那個模型,省一次呼叫)、哪些派出去。你 CLI 裡 的 omnilane 技能會自動套對的那一列,這裡是給人看的版本。

  • Claude Code · Fable 5 — 自己做:hard-judgment、taste-final、最吃正確性的硬修。派出去:機械編碼量 → Codex、長文 → Gemini、即時搜尋 → Grok。
  • Claude Code · Opus 5 — 自己做:hard-judgment、taste-final。大量編碼走 Codex 通道、長文 → Gemini、即時搜尋 → Grok。
  • Codex · Sol — 自己做:hardest-coding、hard-judgment、ui-draft。派出去:taste-final → Claude、長文 → Gemini、即時搜尋 → Grok、粗活 → Codex Terra。
  • Codex · Terra — 自己做:bulk-mechanical。真正最硬的往上升給 Sol;taste → Claude、長文 → Gemini、即時搜尋 → Grok。
  • Grok Build · Grok 4.5 — 自己做:live-search、coding-overflow(中量級編碼)。所有硬活派給 Codex/Claude/Gemini——先驗每個 API 簽章與引用事實。
  • Antigravity · Gemini — 自己做:3.1 Pro 的長文與重脈絡 agentic 工作、Flash 的高速重複迴圈。最硬的編碼/判斷/文字派給 Codex/Claude;即時搜尋 → Grok。

🖥️ Live Board

每一次派工——不論前景或 --background——都是落盤的一筆 job。Live Board 是架在這個 job 儲存上、選配且唯讀的本機工作台:每個模型被問了什麼、答了 什麼、怎麼路由、是否還在執行,一眼看完。

omnilane ui start    # 啟動或沿用伺服器,印出通過驗證的網址
omnilane ui status   # 查看本機伺服器狀態
omnilane ui url      # 印出目前通過驗證的網址
omnilane ui stop     # 正常停止

桌機版的工作清單與詳細內容可各自捲動;手機版使用清單/詳細內容切換,支援返回 鍵與 Esc。伺服器傳送事件(SSE)會即時更新,又不會重建目前聚焦的工作列;短暫 斷線時保留最後畫面並自動重連。可把任何已載入的工作釘成參考,再選另一筆工作, 並排比較模型路徑與公開結果;參考快照只留在瀏覽器記憶體,關頁即消失。服務只綁 127.0.0.1、用隨機 token 保護、全程唯讀。畫面只顯示 task.txt 與公開的 out.txt,不顯示工作端或廠商原始 log。

搜尋與狀態篩選會套用到最近保留的 50 筆工作歷史。按「匯出目前結果」只會把畫面上 目前可見的公開中繼資料下載成 JSON;不含 token、任務本文、結果本文、工作目錄與原始 log。

畫面提供英文、日文、韓文、繁體中文與簡體中文。首次載入依瀏覽器語言決定,可用標題列 的切換器覆寫,選擇會記在本機。

核心路由不需要 Python;只有這個介面需要 Python 3.9 以上。

📦 安裝

前置需求:想路由到的廠商 CLI(codexclaudegrokagy,另可選 kimiqwenopencode)已登入且在 PATH 上——有幾家裝幾家就好, 缺的通道會自動降級。openrouter vendor 是例外:不需要任何 CLI,只要 curl 和環境變數裡的 OPENROUTER_API_KEY

最快:./install.sh — 自動偵測本機的 CLI、接好技能、列出其餘的外掛安裝指令、 印出這台機器的生效路由表,最後問你要不要進入互動設定選單(--uninstall 可逆)。 安裝介面依系統語言自動切換(英/繁中/簡中/日/韓,可用 OMNILANE_LANG=zh-TW 強制)。另提供選配的各 CLI 常駐路由提示:在各 CLI 指令檔尾端加一段有 標記、可逆的區塊(~/.claude/CLAUDE.md~/.codex/AGENTS.md~/.grok/Agents.md~/.gemini/GEMINI.md——路徑可能隨 CLI 版本不同), 讓主迴圈記得查路由表;非互動安裝可帶 OMNILANE_HOOKS=all|none|claude,codex./install.sh --check 可唯讀檢查漂移;安裝或 --uninstall 加上 --dry-run,可先預覽每個由這份 checkout 擁有的檔案動作。 手動接線:

要回滾安裝器擁有的連結與標記提示,執行 ./install.sh --uninstall

  • Claude Code:以外掛安裝(附 /route/route-jobs 指令,並內建 SessionStart hook,開場自動注入路由提醒,不必修改 CLAUDE.md), 或把 skills/omnilane 放進 ~/.claude/skills/
  • Codex:把 skills/omnilane 放進或連結到 ~/.codex/skills/
  • Grok Build:grok plugin install <本 repo 路徑> --trust
  • Antigravity:agy plugin install <本 repo 路徑>(先用 agy plugin validate 檢查)

MCP server

omnilane mcp 會啟動零依賴、跑在本機的 MCP stdio server,讓任何支援 MCP 的宿主不必安裝 skill、也不用加路由提醒,就能發現並呼叫 omnilane。在宿主 設定裡指向已安裝的 CLI 即可:

{
  "mcpServers": {
    "omnilane": {
      "command": "omnilane",
      "args": ["mcp"]
    }
  }
}

Server 提供 route,以及一組唯讀查詢工具:list_lanesexplainvalidatedry_runjobs_listjobs_statusjobs_resultjobs_statsjobs_recommendjobs_auditdoctor,以及必須明確選用的 provider_proberoute 預設唯讀 advise 模式;選 work 的呼叫必須同時提供明確的 workdir

唯一的執行需求是 Node.js(不裝任何 npm 套件);也可以直接 npm install -g omnilane,CLI 連同 MCP server 一起裝好。

⚙️ 自訂設定

三層,全部選用:

  1. 互動選單scripts/configure.sh 列出可設定的通道,讓你逐條選 廠商 → 模型 → 推理檔位(有建議清單,也可自由輸入未來的新模型名), 寫進 ~/.omnilane/routing.local.yaml。多廠商 consult 會刻意略過, 要改請手動編輯。install.sh 裝完會主動問要不要跑。
  2. ~/.omnilane/routing.local.yaml — 手改覆寫檔,格式同 routing.yaml, 本機優先。參考 routing.local.yaml.example
  3. ~/.omnilane/local.sh — 機器專屬的執行檔路徑、proxy、認證包裝; 每個執行器都會載入,永不進版控。參考 local.sh.example

隨時檢查結果:

scripts/dispatch.sh --list     # 生效表,標出候選鏈降級與關閉的通道

📖 指令參考

omnilane list | route … | jobs … | configure   # 全域指令,任何目錄都能用
                                               # (install.sh 會連結進 ~/.local/bin)
eval "$(omnilane completion bash)"             # 在目前 Bash 啟用補全
source <(omnilane completion zsh)               # 在目前 Zsh 啟用補全
omnilane completion fish | source              # 在目前 Fish 啟用補全
omnilane ui start                              # 啟動或沿用本機 Live UI,印出網址
omnilane ui status                             # 查看 Live UI 是否運作中
omnilane ui url                                # 印出目前通過驗證的本機網址
omnilane ui stop                               # 停止 Live UI
omnilane doctor [--json] [--strict] [--probe V] [--probe-timeout SEC]  # 實際探測必須明確選用
omnilane benchmark [--json] [--run] [--vendor V] [--cost-per-call V=USD] # 預設只乾跑
dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir 目錄]
            [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
            通道 "任務"                              # "-" 表示從 stdin 讀任務
dispatch.sh [--json] --list [--json]
dispatch.sh [--json] --explain 通道 [--json]       # 離線逐候選解釋路由決策
dispatch.sh [--json] --validate [--json]           # 離線檢查生效路由,不呼叫模型
jobs.sh [--json] {list | status 工作ID | result 工作ID} # JSON 結果只回中繼資料,不回本文
jobs.sh [--json] list [--lane L] [--vendor V] [--status running|done]  # 過濾清單
jobs.sh wait 工作ID [--timeout N]                  # 工作結束碼;124 逾時;125 工作者消失
jobs.sh cancel 工作ID                              # 停止執行中的工作:整組 SIGTERM,再 SIGKILL
jobs.sh rm 工作ID                                  # 刪除單一已完成/已死工作(執行中會被拒絕)
jobs.sh [--json] stats [--last N] [--lane L] [--vendor V]  # 本機成功率與路由彙整
jobs.sh [--json] recommend [--last N] [--lane L] [--min-samples N]  # 有證據門檻的廠商建議
jobs.sh audit [--last N] [--json]                  # 唯讀檢查工作完整性與隱私
jobs.sh prune [--keep N] [--apply]                # 預設只預覽;只清理已完成工作
omnilane mcp                                   # MCP stdio server(需 Node.js)
omnilane release-audit [--target 版本] [--json]     # 離線、唯讀的發布閘門
configure.sh                                        # 互動通道選單
configure.sh set|get|unset|list|diff LANE [SPEC]    # 非互動編輯/檢視 routing.local.yaml

jobs recommend 只讀取通過驗證的公開中繼資料與退出碼。候選達到最低樣本數後, 依成功率、樣本數、廠商名稱排序;預設至少三筆已完成工作。它不讀任務/結果本文, 也不修改路由。

doctor --probe V 只會做一次有逾時上限的 advise 模式供應商呼叫,回傳可用性、 選到的模型、耗時與回應位元組數,不回傳回答本文;未帶 --probe 時仍完全離線。 benchmark 使用 benchmarks/workloads.tsv 的固定題組,預設只解析路由、不呼叫供應商; --run 才是實際呼叫閘門,成本總額也只依 --cost-per-call 明確提供的估值計算。

重大決定可以開評審團,不是問一個人。arbitrate 通道預設關閉—— 評審團每評審每輪燒一次額度,所以做成選配。要用就在 routing.local.yamlarbitrate: vote codex,claude,grok -,或跑設定選單,從 codex/claude/grok/gemini 自選 1-4 個評審。開了之後,同一個問題丟給每個 評審,意見並排回來,由發問的主控模型當主席下裁決。檔位欄填 2 開辯論輪 ——每個評審看完整個評審團的意見,只針對分歧互駁。進階使用者可用 exec 廠商換成自己的閘門:arbitrate: exec /路徑/腳本 -,腳本收 MODE WORKDIR EFFORT PROMPT_FILE OUTPUT_FILE、把裁決寫進 OUTPUT_FILE (見 scripts/runners/run-exec.sh)。

退出碼:2 用法錯誤(包含廠商值不合法,或指定廠商不在該通道)、3 通道已關閉、 4 候選鏈沒有可用 CLI,或指定廠商已設定但其 CLI 不可用、 5 第一輪成功評審太少、6 第二輪沒有任何反駁成功、86 拒絕巢狀派工、 87 等鎖逾時、124 整體任務逾時; 其餘直接透傳工作端自己的退出碼。

🎭 模式

  • advise(預設) — 唯讀工作端。Codex 跑唯讀沙箱;Claude 只給 Read/Glob/Grep;Grok 跑 plan 模式;Kimi 與 OpenCode 鎖各自的唯讀 plan 模式;OpenRouter 天生只做 advise(純推論)。適合審查、提問、第二意見。
  • work — 允許改檔案,僅限你指定的 --workdir。Codex 給 workspace-write 沙箱;Claude 自動接受編輯;Gemini 跑 accept-edits 模式。 openrouter vendor 會明確拒絕 work 模式——改檔請走代理式 CLI vendor。
  • sysops — 等於 work 拿掉 vendor 沙箱,用於沙箱會擋掉的服務操作 (launchctl 之類)。Codex 以 -s danger-full-access 執行;其他 vendor 一律當成一般 work。這等於把整台機器的存取權交給工作端,因此只能逐次 明確指定,永遠不能設成 lane 預設。只有在你親眼看到 work 因沙箱拒絕而 失敗時才動用它。

🔒 內建安全機制

  • 禁止巢狀派工 — 工作端不得再往外派(OMNILANE_DEPTH 守衛,退出碼 86), 杜絕 AI 叫 AI 的額度連環燒。
  • Codex 排隊鎖 — 同一目標目錄的 codex 派工自動序列化(鎖以正規化後的 workdir 為鍵);崩潰殘留的鎖以擁有者 PID 偵測後安全接管。
  • 看門狗 — 每個工作端跑在 timeout/gtimeout 之下,兩者皆無時退到 perl-alarm 後備(原生 macOS 就是這情況),卡死的 CLI 不會掛整晚。 上限作用於每次 CLI 呼叫,優先序由高到低:--timeout SECONDS > 單一通道 OMNILANE_TIMEOUT_<LANE>(通道名大寫、- 換成 _,如 OMNILANE_TIMEOUT_HARD_JUDGMENT) > 全域 OMNILANE_TIMEOUT(預設 600 秒)。 它是單次呼叫的防卡死看門狗,不是整個任務的時間預算:會重試的 vendor(grok) 或 vote 面板(評審 × 輪次)會發起多次呼叫,總耗時可能是該值的數倍。
  • 整體任務保險絲 — 選配的 --job-timeout SECONDS 用同一個程序群組監工, 一次涵蓋等鎖、重試、所有評審與輪次。優先序為旗標 > OMNILANE_JOB_TIMEOUT_<LANE> > OMNILANE_JOB_TIMEOUT > 關閉;唯一的自動例外 是 Codex 在 Git worktree 外執行 work 時,若未設定整體上限,就沿用解析後的 單次呼叫看門狗作為整體保險絲,上限為監工支援的 999999999 秒。到期會清掉 受監工的程序群組並回傳 124。這個自動保險絲需要內附的 Perl 監工;若環境 無法使用,派工會警告但仍透過原有單次呼叫看門狗路徑執行非 Git 工作;若連 單次看門狗工具都沒有,該路徑會另外警告。 像 fubon-autotrade 規模的完整深度審查,建議先從 2–4 小時(7200–14400 秒)起跳,單次呼叫看門狗可先設 30 分鐘;這只是建議值, 不會寫死成預設。
  • 背景工作生命週期--background 的工作端跑在自己的 process group, 呼叫端退出也不受影響;被殺會落盤退出碼,jobs.sh status 會報 dead 而不是永遠顯示 running
  • 任務酬載上限 — 過大的任務文字自動頭尾截斷,防止撐爆工作端脈絡。

❓ 常見問題

不用。每條通道都是候選鏈,派工時採用本機實際裝了的第一個候選。只有一份訂閱時, 整張表會收斂到那一家;整條鏈都沒有的通道自動關閉,不會報錯。跑 omnilane doctor 可以看到這台機器現在實際接得到什麼,routing.local.yaml.example 也附了常見情境的起手設定檔(只有 Claude、以 Codex 為主、沒有 Codex)。

不會多出新的去處。派工是呼叫你早就裝好也登入過的廠商 CLI,所以程式碼只會到達 你本來就在用的那幾家。執行器在呼叫訂閱制 CLI 前會剝掉 API 金鑰環境變數,避免 一把殘留的金鑰把你悄悄切到按 token 計費。唯一的例外是 direct-API vendor 家族 (openrouterdeepseekzaimistralgroqcerebras),它們本來就是 拿你設定的金鑰直呼該供應商的 API——這幾家只做 advise,不會改檔。

因為 Claude 頂級檔通常就是主迴圈本人,不是被派發的工人。 通道存在的意義, 是把工作送給「你正在開的那個模型以外」的模型。如果 Fable 5 就是你的主迴圈,把 判斷和文字再路由回 Fable 5 只是多一次呼叫、毫無增益——所以上面那份「選你的主控 模型」清單裡,Fable 5 有自己獨立的一列,身分是主控:自己做 hard-judgment、 taste-final、最吃正確性的硬修。

量測數據也不支持把它當工人。 Artificial Analysis 智慧指數(2026-07-24) Opus 5(max)61 分、Fable 5(max)60 分——AA 自己的用詞是「實質打平」,而 Epoch AI 的能力指數排序還是反過來的(Fable 5 161、Opus 5 159)。綜合智力就當它平手。真正 拉開差距的是 agentic 專業產出,而且差很多:

| 評測 | Claude Opus 5 (max) | Claude Fable 5 | | |---|---:|---:|---| | AA-Briefcase(agentic 知識工作,Elo) | 1720 | 1574 | +146 | | GDPval-AA v2(Elo) | 1861 | 1747 | +114 | | AA-Briefcase 每任務成本 | $17.79 | $22.30 | -20% | | API 單價,輸入/輸出 每 1M | $5 / $25 | $10 / $50 | 一半 |

Opus 5 的 max、xhigh、high 三個檔位包辦 AA-Briefcase 前三名,連 high 檔都在 不到一半的每任務成本下贏過 Fable 5。也就是說,Fable 5 貴一倍,卻換不到任何一條 通道所在意的優勢。

Fable 5 真正比較強的地方:事實廣度。它在 AA-Omniscience 上仍領先 Opus 5 (符合兩者的規模差),而 Opus 5 在沒把握時更傾向直接作答——幻覺率 50%,比 Opus 4.8 高 14 個百分點。任務偏「回想」而非「執行」時,直接點名它:

dispatch.sh --vendor claude --model claude-fable-5 --effort high consult "…"

這是成本與主迴圈策略的選擇,不是能力判決。 設定選單的模型清單有列 Fable 5, 在 routing.local.yaml 寫一行就能覆寫預設:

taste-final: claude claude-fable-5 high

因為推理檔位不是越高越好。Anthropic 官方把 xhigh 定為編碼與 agentic 工作的 起手檔位,high 是其他吃智力任務的下限,max 保留給「正確性重於成本」的場合。 第三方實測也一致:Vals.ai 的 Vibe Code Bench 上,Opus 5 在 high 拿 89.8%, xhigh 只有 88.3%、max 88.4%——最高檔傾向產出更繁複的解,反而更常出錯。 你的工作型態如果不同意,單條通道自己拉高:

omnilane configure set hard-judgment "claude claude-opus-5 max"

派工會沿著候選鏈往下走,用你手上有的第一家。不花任何額度就能先看決策:

scripts/dispatch.sh --explain hardest-coding   # 逐候選解釋
scripts/dispatch.sh --list                     # 整張生效表
scripts/dispatch.sh --dry-run hardest-coding "…"   # 完整解析後的計畫,不呼叫模型

除非你明講要它改。派工預設是 advise 唯讀模式,而且是逐廠商實作的(唯讀沙箱、 plan 模式,或只給唯讀工具集)。要改檔必須同時給 --mode work 和明確的 --workdir。第三種模式 --mode sysops 等於 work 拿掉 vendor 沙箱,用於沙箱會 擋掉的服務操作(例如 launchctl);codex 以 -s danger-full-access 執行,其他 vendor 一律當成 work,而且它只能逐次明確指定,永遠不是 lane 預設。 工作端也不能再往外派——深度守衛會用退出碼 86 拒絕巢狀派工,一道 指令不可能失控變成一整串 AI 燒你的額度。

📊 預設值與資料來源

預設通道配置依據 Artificial Analysis 2026-07 快照(已對 AA 站上原始紀錄與 各廠官方定價頁交叉核對)加上公開對比評測;這些是意見不是定律—— 設定選單和 routing.local.yaml 就是讓你不同意用的。完整工作筆記(含各評測的 但書)見 docs/model-capabilities-2026-07.md

⚠️ 已知限制

  • Antigravity 的 print 模式工具呼叫在現行 CLI 版本不穩定(可能被拒或 回無效引數)。long-context 通道的設計本來就是「把內容貼進任務」的長文 整合,不受影響;要讀取 repo 的諮詢請用 claude/codex 候選。
  • Grok 沒有推理檔位開關;effort 欄位僅為介面一致而保留,實際忽略。
  • 非 Git 的 Codex work 仍受支援。 部分 Codex CLI 版本可能在 Git worktree 外卡住,因此上面的自動保險絲會限制這個情境並清掉受監工的程序群組。Omnilane 不會自動執行 git init,也不要求使用者建立 repo。

📜 版本歷程

v0.14.0 新功能

  • 依證據產生路由建議jobs recommend 與 MCP jobs_recommend 只用已完成工作的 公開中繼資料排序供應商,設有最低樣本門檻,也不會自動修改路由。
  • 選配實際能力探測doctor --probe V 與 MCP provider_probe 可分辨「CLI 已安裝」 和「供應商呼叫真的可用」。doctor 預設仍離線,探測報告不含回答本文。
  • Live Board 歷史搜尋、篩選與匯出:搜尋與狀態篩選涵蓋最近 50 筆工作; 「匯出目前結果」只下載篩選後的公開中繼資料。
  • 可重現的品質/成本基準omnilane benchmark 內建固定題組,預設不呼叫供應商; --run 才會實際執行,成本也只依明確提供的 --cost-per-call 估值計算。
  • 嚴格安裝驗收:CI 以隔離環境執行 omnilane doctor --strict --json, 不接觸供應商也能抓出 runtime 接線不完整。

v0.13.0 新功能

  • long-context 改用 AA-LCR 排序——那是 Artificial Analysis 的長脈絡推理基準, 量的正是這條通道的工作。Gemini 3.1 Pro 在該榜領先兩個備援,因此它的第一順位 從「未複審」升格為「有據」。
  • 這條通道原本的建議是反的,已移除。 它原先要人把多跳整合改派給 Claude 候選, 依據是上一代模型的二手數字;以第一手當代數據看,Claude 反而是三個候選裡最弱的。 備援因此換位,GPT-5.6 Sol (high) 排在 Claude Opus 5 (high) 前面。
  • release-audit --require-tag 會標出沒有 GitHub release 的 tag。 只警告不中斷, gh 缺席或離線時自動跳過(CI 仍可跑),且只看最近幾個 tag。
  • 範圍註記: AA-LCR 測的是 10k–100k token 的文件,所以它能定「長文整合誰強」, 定不了 1M 的行為。GPT-5.6 Luna 在該榜居首且便宜得多,刻意不升——這條通道的 招牌工作是 1M 掃讀,而該基準涵蓋不到。

v0.12.0 新功能

  • hardest-coding 的 Sol 從 max 降到 xhigh——在 AA 分檔位的 Coding Index 上,Sol 的 xhigh 不但勝過自己的 max,也勝過所有 Claude 檔位,成本還少約三分之一。 這種工作超過 xhigh 之後,多加的 effort 買到的是過度思考,不是正確率。
  • fast-agentic 改由 GPT-5.6 Luna 領頭,Gemini 3.6 Flash 退居第二。Luna 在 AA 的 Agentic Index 上大幅領先 Flash,而且 2026-07-30 砍價後每任務成本只剩零頭。 Flash 只剩吞吐量優勢——若你的迴圈受延遲限制,可在本機覆寫把它調回第一。
  • lane 註解不再放數字。routing.yaml 只說明每條排序「為什麼」成立;所有分數、 價格與吞吐量連同取數日期,一律住在 docs/model-capabilities-2026-07.md。數字過期 不再需要動路由表。
  • 新增 value profile(在 routing.local.yaml.example):用約一個 Intelligence Index 分數,換每任務成本降三到四成。
  • 新增 --mode sysops——等於 work 拿掉 vendor 沙箱,用於沙箱會擋掉的服務操作。 它會把整台機器的存取權交給工作端,因此只能逐次指定,永遠不能設成 lane 預設。
  • 價格與基準數據刷新至 2026-07-30 OpenAI 砍價後的版本,並記錄 AA 的 Coding Index 不是 Coding Agent Index——兩者成分完全不同,數值卻會撞在一起。

v0.11.0 新功能

  • Live Board 提供五種語言 —— 英文、日文、韓文、繁體中文與簡體中文。首次載入依 瀏覽器語言決定,可用標題列的切換器覆寫,選擇會記在本機。標題、搜尋提示文字、 篩選按鈕、空狀態與錯誤狀態、內容標記,以及螢幕閱讀器會朗讀的 aria-label 全部 涵蓋,<html lang> 也跟著切換。
  • 工作狀態有翻譯,但讀取狀態的地方不受影響 —— state- 的 CSS class 仍是原始值, 狀態配色不變;搜尋索引同時收錄兩種寫法,打 running 或譯文都找得到同一筆工作。
  • 路由沒有任何變更。 派工行為與 v0.10.4 相同。

v0.10.4 新功能

  • long-context 不再把多跳任務指向錯的模型——這條通道原本自稱長文整合, 首選卻是 Gemini;但公開的百萬 token 多針分數顯示 Claude 領先約三倍,Gemini 強的是單針檢索。通道說明已改為掃讀與檢索,跨來源整合請改用 Claude 候選。 排序刻意不動:那批證據是二手且測的是上一代模型,不足以移動已出貨的預設。
  • Coding Agent Index 不再被當數字引用——同一個模型在不同版本與 harness 下 讀出 80、78、67 三種值。現在只用來看排序,並記錄每個觀測值的出處。
  • taste-final 補上寫作專項證據——先前完全靠不測文筆的通用與 agentic 指標 排序。已加入 EQ-Bench Creative Writing v3、EQ-Bench Longform 與 Lech Mazur 三個榜,全部取自發布者第一手。
  • 補上逐檔位成本與吞吐,說明預設為何用 xhigh:拿到與 max 相同的指數 分數,每任務卻便宜 30-53%。

v0.10.3 新功能

  • 五種語言的 README 全面重整——文件開頭改成先講清楚「這是什麼、我為什麼會 想要它」,版本歷程全部收攏到最下方,不再打斷開頭的介紹;新增常見問題,回答 一直被問到的幾件事:是不是每家訂閱都要有、程式碼會被送去哪、為什麼預設表沒有 Fable 5、為什麼用 xhigh 而不是 max、首選 CLI 沒裝會怎樣、被派工的模型會不會 改檔。
  • 修正:外掛資訊檔的版本號沒跟上——plugin.json.claude-plugin/plugin.json 在 0.10.1、0.10.2 發布後仍寫著 0.10.0,導致外掛 安裝顯示錯誤版本。
  • 修正:routing.local.yaml.example 還指著已退場的模型——起手設定檔裡的 claude-opus-4-8 全數改為 claude-opus-5(並依通道給對應檔位),Gemini 3.5 Flash 候選改為 3.6 Flash,與 0.10.0 以來的預設值一致。
  • 對照原始資料修正智慧指數數字(docs/model-capabilities-2026-07.md): 那是指數點數不是百分比;補上 AA-Briefcase / GDPval-AA v2 對照,並記下兩項與 預設值相反的結果:Fable 5 在事實知識領先、GPT-5.6 Sol 在呈現品質領先。

v0.10.2 新功能

  • hardest-codinghard-judgment 的 Claude 檔位由 max 降為 xhigh, 對齊 Anthropic 對 Claude Opus 5 的官方建議:編碼與 agentic 工作從 xhigh 起跳, high 是其他吃智力任務的下限,max 保留給正確性重於成本的場合。要拉回去用 omnilane configure set <通道> "<設定>"
  • 修掉兩條死的 CHANGELOG 比較連結——它們指向從未發布的 v0.10.0 tag。

v0.10.1 新功能

  • 預設路由加入 claude-opus-5:成為 hard-judgmenttaste-final 第一順位, 也納入最高難度程式任務的備援。
  • omnilane configure 已擴充全部 13 個供應商:共 106 個可選模型,完整收錄 Codex、Claude Code、Grok Build、Antigravity 即時清單,並加入已驗證的 OpenRouter/OpenCode 捷徑;仍可用 c 輸入自訂模型 ID。

v0.10.0 新功能

  • Gemini 3.6 Flash 預設路由——fast-agentictriagebulk-mechanical 的 gemini 候選(與 Gemini Flash 別名)改用 Gemini 3.6 Flash:輸出 token 更少、輸出單價更低、Artificial Analysis 實測輸出速度第一。
  • 證據重稽核——路由註解、模型能力筆記與 Gemini 價格表對官方來源刷新。

v0.9.1 新功能

  • 修正:configure set 不再刪掉 routing.local.yaml 裡手寫的註解—— 只改寫自身的戳記行與被取代的 lane。

v0.9.0 新功能

  • 五個 OpenAI-compatible direct-API vendordeepseekzai(GLM)、 mistralgroqcerebras,與 openrouter 同為免 CLI 通道(curl 加一把 <VENDOR>_API_KEY);lib/common.sh registry 一行即加一個。詳見 docs/model-capabilities-2026-07.md
  • fish shell 補全omnilane completion fish | source

v0.8.3 新功能

  • MCP serveromnilane mcp 啟動零依賴的 stdio MCP server,任何支援 MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)不必安裝 skill 就能發現並呼叫 omnilane:提供 routejobs_statusjobs_resultlist_lanes 四個工具。route 預設唯讀 advise 模式;work 模式必須明確 指定 workdir。

v0.8.2 新功能

  • openrouter vendor — 只要 curl 加一把 OPENROUTER_API_KEY, 就能直連 OpenRouter API 派工:任何 omnilane 安裝都摸得到數百個 託管模型,不必再裝任何代理 CLI。僅限 advise/consult(不能改檔, work 模式會明確報錯指路),模型 slug 必填,例如 dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."
  • deepseekzaimistralgroqcerebras vendor — 與 openrouter 同一條免 CLI 直連 API 路徑,對應 OpenAI-compatible 供應商:DeepSeek、Z.ai GLM、 Mistral、Groq、Cerebras。各只要 curl 加自己那把 <VENDOR>_API_KEY;僅限 advise/consult。端點、金鑰、預設模型由 lib/common.sh 一行 registry 定義。 詳見 docs/model-capabilities-2026-07.md
  • opencode vendor — 透過 OpenCode 多供應商聚合 CLI 無頭派工 (opencode run)。advise 模式鎖定內建唯讀 plan agent;work 模式 用 --auto。加入預設 coding-overflow 鏈作為最後備援。

v0.8.1 新功能

  • Claude Code 外掛開場自動載入路由提醒 — 外掛新增 SessionStart hook(hooks/hooks.json),於開場(startup|resume|clear)自動注入 路由提醒,裝外掛即生效,不必修改 ~/.claude/CLAUDE.md。其他 CLI 仍走 install.sh 的指令檔提醒。

v0.8.0 新功能

  • 兩個新派工 vendorkimi(Moonshot Kimi Code CLI)與 qwen (Alibaba Qwen Code CLI)加入,沿用統一 runner 契約:advise 唯讀、 work 自動核准、剝除 API key 環境變數改用 CLI 自身訂閱登入、空輸出 視為失敗。可用 --vendor kimi|qwen 直接點名。
  • coding-overflow 長出備援鏈 — 額度溢流道改為 grok → kimi → qwen 再到 off,三家裝任一家即可用。runner 以假執行檔完成契約測試; 歡迎回報真實模型實測結果。

v0.7.1 新功能

  • 路由表更新(2026-07 模型數據) — hardest-coding 首選改為 GPT-5.6 Sol max 檔位:Artificial Analysis Coding Agent Index v1.1 測得 Sol (max) 80 分為現任最高,汰換舊的「xhigh 勝 max」快照。
  • Claude 備援升檔 — hardest-coding 與 hard-judgment 的 Claude Opus 4.8 備援改為 xhigh,依 Anthropic 官方對困難任務與長時間工作的建議。

v0.7.0 新功能

  • 先預覽再派工--dry-run 印出完整解析後的派工計畫(vendor、模型、 模式、逾時、副作用判定),不呼叫模型、不建立工作狀態。
  • 版本化 JSON 自動化--list/--explain/--validatejobs list|status|result|stats 都有 --json 信封;另有唯讀 jobs waitjobs audit,以及帶可重現 manifest 的離線 omnilane release-audit 發佈稽核。
  • 本機工作一條龍jobs tail 窺看即時輸出、jobs retry 以 fail-closed 方式重派已完成工作、prune --older-than 依時間清理,--help 覆蓋所有指令。
  • 安裝與補全更安全install.sh --check/--dry-run 唯讀回報漂移, omnilane completion bash|zsh 提供安全的 tab 補全,並修復五個 macOS 原生 Bash 3.2 崩潰。

v0.6.0 新功能

  • 離線看懂並驗證路由 — 用 --explain 查看每個備援候選,或用 --validate 檢查完整生效路由表;都不會呼叫模型或建立工作狀態。
  • 用機器可讀資料觀察本機狀態jobs.sh stats 提供有界統計, omnilane doctor --json 提供健康檢查,又不會洩漏任務或結果正文。
  • 在 Live Board 比較兩筆工作 — 把一筆已載入工作釘成只存在記憶體的 參考快照,並排比較模型路徑與公開結果。
  • 讓鎖恢復更安靜 — 擁有者檔案在檢查與讀取間消失時,不再洩漏容易誤判的 缺檔診斷,同時維持 fail-closed。

v0.5.1 新功能

  • 在非 Git 目錄使用 Codex work — 一般資料夾仍完整支援;Omnilane 不要求、 也絕不會自動執行 git init
  • 乾淨停止非 Git 卡死 — 未設定整體上限時,解析後的單次看門狗會自動成為 程序群組保險絲,同時保留手動 timeout 的優先序與退出碼語意。
  • 讓版本顯示可信VERSION 現在統一供應 omnilane --version 與兩份 plugin manifest,CI 會檢查變更紀錄和五語 README 是否一致。

🌱 狀態

omnilane 現有十三個派工 vendor——四個框架原生(codex、claude、grok、gemini)、 三個聚合/溢流 CLI(kimi、qwen、opencode),加上六個免 CLI 的 OpenAI-compatible 直連 API vendor(openrouter、deepseek、zai、mistral、groq、cerebras)——全部走 統一 runner 契約並附 contract 測試,另有 Claude Code SessionStart 自動提醒與 MCP stdio server 介面(omnilane mcp)。直連 API 與聚合 runner 皆以假 執行檔做過契約測試;歡迎回報真實模型使用經驗。Grok/Antigravity 指令殼行為 仍可能隨 CLI 版本變動。歡迎回報 issue 與 PR。

專案文件:貢獻指南 · 安全政策 · 變更紀錄