omnilane 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -78,11 +78,11 @@ key with no extra CLI at all):
78
78
  ```mermaid
79
79
  flowchart LR
80
80
  M["main loop<br/><i>any CLI you drive</i>"] --> T{{"routing.yaml<br/>one shared table"}}
81
- T -->|hardest-coding| C1["CodexGPT-5.6 Sol"]
82
- T -->|bulk-mechanical| C2["Codex — GPT-5.6 Terra"]
83
- T -->|taste-final| C3["Claude — Opus 5"]
84
- T -->|long-context| C4["Gemini — 3.1 Pro"]
85
- T -->|live-search| C5["Grok — 4.5"]
81
+ T -->|hardest-coding| C1["ClaudeFable 5.1"]
82
+ T -->|bulk-mechanical| C2["Codex — GPT-5.6 Sol"]
83
+ T -->|taste-final| C3["Claude — Fable 5.1"]
84
+ T -->|long-context| C4["Gemini — 3.7 Flash"]
85
+ T -->|live-search| C5["Grok — 4.6"]
86
86
  T -->|"arbitrate (opt-in)"| C6["vote — 1-4 model panel"]
87
87
  ```
88
88
 
@@ -115,23 +115,25 @@ actually resolves.
115
115
 
116
116
  | Lane | First choice | Backup | When |
117
117
  |---|---|---|---|
118
- | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | Hardest implementation, deep root-cause debug, correctness-critical edits |
119
- | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | Refactors, migrations, tests, review sweeps — mechanical endurance |
120
- | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | High-volume scans, first-pass filtering |
121
- | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | Architecture arbitration, deep reasoning, second opinions |
122
- | ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | User-facing prose, prompt/doc polish, style arbitration |
123
- | 💬 consult | Explicit named vendor/model | (no fallback) | Direct natural-language consultation; always keep `--vendor` |
124
- | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | UI drafts only WITH a design system / reference images |
125
- | 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 1M-token sweeps, retrieval, and synthesis across long documents; Flash for fast repeated loops |
126
- | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | Fast multi-step agentic loops, multimodal checks |
127
- | 📡 live-search | Grok 4.5 | — (off) | Realtime X/web search and social context |
128
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex-quota relief valve for mid-tier coding |
118
+ | 🔥 hardest-coding | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (xhigh) | Hardest implementation, deep root-cause debug, correctness-critical edits |
119
+ | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.7 Flash (High) → Claude Sonnet 5 (high) | Refactors, migrations, tests, review sweeps — mechanical endurance |
120
+ | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.7 Flash (Low) → Claude Haiku 4.5 | High-volume scans, first-pass filtering |
121
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (max) → Grok 4.6 | Architecture arbitration, deep reasoning, second opinions |
122
+ | ✒️ taste-final | Claude Fable 5.1 (high) | GPT-5.6 Sol (max) | User-facing prose, prompt/doc polish, style arbitration |
123
+ | 💬 consult | GPT-5.6 Sol (max) | Claude Fable 5.1 (high) → Grok 4.6 → Gemini 3.7 Flash (High) | Direct named-model consultation; keep `--vendor` to prevent fallback |
124
+ | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Fable 5.1 (high) | UI drafts only WITH a design system / reference images |
125
+ | 📚 long-context | Gemini 3.7 Flash (Medium) | GPT-5.6 Terra (max) → Claude Opus 5 (medium) | Long-document retrieval and synthesis, ordered on AA-LCR, cost, and throughput |
126
+ | ⚡ fast-agentic | Gemini 3.7 Flash (Medium) | GPT-5.6 Luna (high) | Fast multi-step agentic loops, multimodal checks |
127
+ | 📡 live-search | Grok 4.6 | — (off) | Realtime X/web search and social context |
128
+ | 🚰 coding-overflow | Grok 4.6 | Gemini 3.7 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex-quota relief valve for mid-tier coding |
129
129
  | 🗳️ arbitrate | off (opt-in vote panel) | — | Built-in opinion panel for big calls — disabled by default; enable it in `routing.local.yaml`, one call per voter per round |
130
130
 
131
131
  The **backup** is the next candidate in the lane's `routing.yaml` chain — what
132
132
  dispatch falls back to when the first-choice vendor CLI is not installed. Every
133
133
  lane is such a chain; when nothing in it is installed the lane degrades to `off`.
134
134
 
135
+ > **Fable 5.1 is in the defaults — and where Opus 5 still fits.** See the current three-way evidence and Opus override in the [FAQ](#-faq).
136
+
135
137
  ### Natural-language consultation
136
138
 
137
139
  With the `omnilane` skill or `/route`, you can ask normally:
@@ -155,12 +157,12 @@ with who is driving. What changes is which lanes you **self-execute** (you
155
157
  already are that model, so no second call) versus **dispatch**. Your harness's
156
158
  `omnilane` skill applies the right row automatically; this is the human view.
157
159
 
158
- - **Claude Code · Fable 5** — self-execute: hard-judgment, taste-final, the hardest correctness-critical fixes. Dispatch mechanical coding volume → Codex, long-context → Gemini, live-search → Grok.
159
- - **Claude Code · Opus 5** — self-execute: hard-judgment and taste-final. Dispatch bulk coding to Codex lanes, long-context → Gemini, live-search → Grok.
160
- - **Codex · Sol** — self-execute: hardest-coding, hard-judgment, ui-draft. Dispatch taste-final → Claude, long-context → Gemini, live-search → Grok, bulk → Codex Terra.
161
- - **Codex · Terra** — self-execute: bulk-mechanical. Escalate the genuinely hardest pieces to Sol; dispatch taste → Claude, long-context → Gemini, live-search → Grok.
162
- - **Grok Build · Grok 4.5** — self-execute: live-search, coding-overflow (mid-tier coding). Dispatch everything hard to Codex/Claude/Gemini — and verify every API signature and cited fact first.
163
- - **Antigravity · Gemini** — self-execute: long-context and context-heavy agentic work on 3.1 Pro, fast repeated loops on Flash. Dispatch hardest coding/judgment/taste to Codex/Claude; live-search → Grok.
160
+ - **Claude Code · Fable 5.1** — self-execute: hard-judgment, taste-final, hardest-coding. Dispatch bulk → Codex Sol high; long-context and fast loops → Gemini 3.7 Flash; live-search → Grok.
161
+ - **Claude Code · Opus 5** — self-execute: hard-judgment and taste-final when its lower hallucination rate or price is preferred. Dispatch hardest coding Fable 5.1 or Sol, bulk → Sol high, long-context and fast loops → Gemini 3.7 Flash, live-search → Grok.
162
+ - **Codex · Sol** — self-execute: hardest-coding, bulk-mechanical, hard-judgment, ui-draft. Dispatch taste-final → Claude, long-context and fast loops → Gemini 3.7 Flash, live-search → Grok.
163
+ - **Codex · Terra** — self-execute: long-context as the Codex fallback. Bulk-mechanical now defaults to Sol high; escalate hardest pieces to Sol xhigh, taste → Claude, fast loops → Gemini 3.7 Flash, live-search → Grok.
164
+ - **Grok Build · Grok 4.6** — self-execute: live-search and coding-overflow. Dispatch hard coding/judgment/taste to Codex/Claude/Gemini; verify API signatures and cited facts.
165
+ - **Antigravity · Gemini 3.7 Flash** — self-execute: long-context and fast loops at Medium, bulk/overflow at High, triage at Low. Dispatch hardest coding/judgment/taste to Codex/Claude; live-search → Grok.
164
166
 
165
167
  </details>
166
168
 
@@ -319,7 +321,7 @@ omnilane ui url # print the current authenticated
319
321
  omnilane ui stop # stop the Live UI
320
322
  omnilane doctor [--json] [--strict] [--probe V] [--probe-timeout SEC] # live probe is opt-in
321
323
  omnilane benchmark [--json] [--run] [--vendor V] [--cost-per-call V=USD] # dry-run by default
322
- dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir DIR]
324
+ dispatch.sh [--background] [--dry-run] [--thread NAME] [--mode advise|work|sysops] [--workdir DIR]
323
325
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
324
326
  LANE "TASK" # "-" reads task from stdin
325
327
  dispatch.sh [--json] --list [--json]
@@ -338,6 +340,11 @@ configure.sh # interactive lane menu
338
340
  configure.sh set|get|unset|list|diff LANE [SPEC] # script/inspect routing.local.yaml, no tty
339
341
  ```
340
342
 
343
+ `--thread NAME` continues named Claude, Codex, Grok, or Gemini conversations across
344
+ single-shot dispatches. In 0.33.0 it pins vendor, model, effort, and physical
345
+ workdir; use `jobs.sh threads`, `threads show NAME`, or `threads rm NAME` to
346
+ manage local state without deleting the vendor session.
347
+
341
348
  `jobs recommend` reads only validated public metadata and exit codes. It ranks
342
349
  eligible vendors by success rate, sample count, then name; the default minimum
343
350
  is three completed jobs. It never reads task/result bodies or changes routing.
@@ -469,7 +476,7 @@ whose CLI is actually installed. With one subscription the whole table collapses
469
476
  onto that vendor; lanes with nothing available turn off rather than failing.
470
477
  `omnilane doctor` shows exactly what your machine can reach today, and
471
478
  `routing.local.yaml.example` ships starter profiles for common situations
472
- (Claude-only, Codex-heavy, no-Codex).
479
+ (Claude-focused, Codex-heavy, no-Codex).
473
480
 
474
481
  </details>
475
482
 
@@ -489,52 +496,30 @@ with the key you set — those are advise-only and never edit files.
489
496
  </details>
490
497
 
491
498
  <details>
492
- <summary><b>Where is Claude Fable 5? Why is it not in the default table?</b></summary>
499
+ <summary><b>Fable 5.1 is in the defaults and where Opus 5 still fits</b></summary>
493
500
 
494
501
  <br/>
495
502
 
496
- **Because the top Claude tier is usually the main loop itself, not a dispatched
497
- worker.** Lanes exist to send work to a model *other than* the one you are
498
- driving. If Fable 5 is your main loop, routing judgment and taste back to Fable 5
499
- just adds a second call for no gain — which is why the "pick your main model"
500
- list above gives Fable 5 its own row as a **driver**, self-executing
501
- hard-judgment, taste-final, and the hardest correctness-critical fixes.
502
-
503
- **The measurements do not argue for it as a worker either.** On the Artificial
504
- Analysis Intelligence Index (2026-07-24) Opus 5 (max) scores 61 and Fable 5 (max)
505
- scores 60 — Artificial Analysis calls them "effectively tied", and Epoch AI's
506
- Capability Index ranks them the other way (Fable 5 161, Opus 5 159). Call it a
507
- draw on general intelligence. Where they are not tied is agentic professional
508
- output, and Opus 5 leads by a wide margin:
509
-
510
- | Benchmark | Claude Opus 5 (max) | Claude Fable 5 | |
511
- |---|---:|---:|---|
512
- | AA-Briefcase (agentic knowledge work, Elo) | 1720 | 1574 | **+146** |
513
- | GDPval-AA v2 (Elo) | 1861 | 1747 | **+114** |
514
- | Cost per AA-Briefcase task | $17.79 | $22.30 | **-20%** |
515
- | API price, input / output per 1M | $5 / $25 | $10 / $50 | **half** |
516
-
517
- Opus 5's max, xhigh and high tiers sweep the top three AA-Briefcase places, and
518
- its `high` tier still beats Fable 5 at under half the cost per task. So Fable 5
519
- costs twice as much without buying an advantage on any axis a lane is defined
520
- around.
521
-
522
- **What Fable 5 is genuinely better at**: factual breadth. It stays ahead of
523
- Opus 5 on AA-Omniscience, as its size class suggests, and Opus 5 answers more
524
- readily when uncertain — its hallucination rate is 50%, up 14 points from
525
- Opus 4.8. If your task is recall-heavy rather than execution-heavy, name
526
- Fable 5 explicitly:
503
+ Fable 5.1 now leads `hardest-coding`, `hard-judgment`, and `taste-final`.
504
+ At matched xhigh effort it leads Opus 5 on intelligence, agentic work, and
505
+ coding. Sol max remains the far cheaper cross-vendor judgment fallback.
527
506
 
528
- ```bash
529
- dispatch.sh --vendor claude --model claude-fable-5 --effort high consult "…"
530
- ```
507
+ | Benchmark (AA, retrieved 2026-09-02) | Claude Fable 5.1 (xhigh) | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) |
508
+ |---|---:|---:|---:|
509
+ | Intelligence | 64.8 | 62.5 | 60.9 |
510
+ | Agentic | 59.8 | 58.4 | 57.8 |
511
+ | Coding | 80.7 | 77.0 | 77.4 |
512
+ | Hallucination rate (lower is better) | .71 | **.60** | .92 |
513
+ | AA $/task | $2.65 | $1.80 | **$0.95** |
531
514
 
532
- **This is a cost / main-loop policy choice, not a capability verdict.** Fable 5
533
- is in the configurator's model menu, and one line in `routing.local.yaml`
534
- overrides the default if you disagree:
515
+ Fable 5.1 is not a bulk or triage default: it costs twice Opus 5 per token and
516
+ consumes the most Claude Code subscription quota per turn. Opus 5 remains the
517
+ lower-hallucination, lower-price Claude option, stays in `long-context` at
518
+ medium, and remains selectable everywhere through
519
+ `~/.omnilane/routing.local.yaml`:
535
520
 
536
521
  ```yaml
537
- taste-final: claude claude-fable-5 high
522
+ hard-judgment: claude claude-opus-5 xhigh
538
523
  ```
539
524
 
540
525
  </details>
@@ -598,7 +583,7 @@ Default lane assignments follow Artificial Analysis coding/intelligence data
598
583
  pages) plus published head-to-head reviews; they are opinions, not laws — the
599
584
  configurator and `routing.local.yaml` exist so you can disagree. The full
600
585
  working notes, including per-benchmark caveats, live in
601
- [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md).
586
+ [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md).
602
587
 
603
588
  ## ⚠️ Known limitations
604
589
 
@@ -614,6 +599,21 @@ working notes, including per-benchmark caveats, live in
614
599
 
615
600
  ## 📜 Release history
616
601
 
602
+ ## What's new in v0.33.0
603
+
604
+ - **Four-vendor threaded dispatch.** `--thread NAME` continues pinned Claude,
605
+ Codex, Grok, or Gemini conversations across foreground or background
606
+ single-shot jobs; direct-API vendors, `exec`, live mode, and pin mismatches
607
+ stop with visible exit-2 notices.
608
+ - **Thread inspection.** `jobs.sh threads`, `threads show NAME`, and
609
+ `threads rm NAME` list, inspect, or remove local thread state.
610
+
611
+ ## What's new in v0.32.0
612
+
613
+ - **Full 2026-09 routing re-evaluation.** Fable 5.1 and Gemini 3.7 Flash enter the defaults, backed by the dated Artificial Analysis snapshot.
614
+ - **Catalogs match live CLI surfaces.** Fable 5.1 is added and retired Gemini 3.5 Flash rows are removed.
615
+ - **Opus 5 remains available.** It stays in `long-context` and can override any lane through `routing.local.yaml`.
616
+
617
617
  ## What's new in v0.31.0
618
618
 
619
619
  - **Unlimited goal budgets by default.** `budget_jobs` and `budget_seconds` now persist as JSON `null` and render as `unlimited`; the previous implicit 8-job and 900-second caps are gone. Use `--budget-jobs N` or `--budget-seconds S` to opt in to a hard cap. The repeat-failure fuse remains enabled by default.
@@ -715,7 +715,7 @@ working notes, including per-benchmark caveats, live in
715
715
  latency-bound.
716
716
  - **Lane comments no longer carry numbers.** `routing.yaml` now states why each
717
717
  ordering holds; every score, price and throughput figure lives in
718
- `docs/model-capabilities-2026-07.md` with its retrieval date, so a stale
718
+ `docs/model-capabilities-2026-09.md` with its retrieval date, so a stale
719
719
  figure never requires a routing-table edit.
720
720
  - **A value profile** in `routing.local.yaml.example` trades about one
721
721
  Intelligence Index point for 30-40% off the cost per task.
@@ -774,7 +774,7 @@ working notes, including per-benchmark caveats, live in
774
774
  profiles still pointed at `claude-opus-4-8` and Gemini 3.5 Flash; they now use
775
775
  Claude Opus 5 (with lane-appropriate effort) and Gemini 3.6 Flash.
776
776
  - **Corrected the Intelligence Index figures** in
777
- `docs/model-capabilities-2026-07.md` against the Artificial Analysis source
777
+ `docs/model-capabilities-2026-09.md` against the Artificial Analysis source
778
778
  (index points, not percentages), added the AA-Briefcase / GDPval-AA v2
779
779
  comparison, and recorded the two results that cut against the defaults:
780
780
  Fable 5's lead on factual knowledge and Sol's lead on presentation quality.
@@ -822,7 +822,7 @@ working notes, including per-benchmark caveats, live in
822
822
  - **Five OpenAI-compatible direct-API vendors** — `deepseek`, `zai` (GLM),
823
823
  `mistral`, `groq`, and `cerebras` join `openrouter` as CLI-free lanes (curl +
824
824
  a `<VENDOR>_API_KEY`). A one-line `lib/common.sh` registry entry adds each;
825
- see [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md).
825
+ see [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md).
826
826
  - **Fish shell completion** — `omnilane completion fish | source`.
827
827
 
828
828
  ## What's new in v0.8.3
@@ -846,7 +846,7 @@ working notes, including per-benchmark caveats, live in
846
846
  DeepSeek, Z.ai GLM, Mistral, Groq, and Cerebras. Each needs only `curl` and
847
847
  its `<VENDOR>_API_KEY`; advise/consult only. A one-line `lib/common.sh`
848
848
  registry entry defines each endpoint, key env, and default model. See
849
- [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md).
849
+ [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md).
850
850
  - **`opencode` vendor** — headless dispatch through the OpenCode
851
851
  multi-provider aggregator CLI (`opencode run`). Advise mode pins OpenCode's
852
852
  built-in read-only `plan` agent; work mode uses `--auto`. Joins the default
package/README.zh-CN.md CHANGED
@@ -72,11 +72,11 @@ omnilane 让**任何**一个 agentic CLI 的主循环把子任务分类到通道
72
72
  ```mermaid
73
73
  flowchart LR
74
74
  M["主循环<br/><i>你在用的任一 CLI</i>"] --> T{{"routing.yaml<br/>一张共用路由表"}}
75
- T -->|hardest-coding| C1["CodexGPT-5.6 Sol"]
76
- T -->|bulk-mechanical| C2["Codex — GPT-5.6 Terra"]
77
- T -->|taste-final| C3["Claude — Opus 5"]
78
- T -->|long-context| C4["Gemini — 3.1 Pro"]
79
- T -->|live-search| C5["Grok — 4.5"]
75
+ T -->|hardest-coding| C1["ClaudeFable 5.1"]
76
+ T -->|bulk-mechanical| C2["Codex — GPT-5.6 Sol"]
77
+ T -->|taste-final| C3["Claude — Fable 5.1"]
78
+ T -->|long-context| C4["Gemini — 3.7 Flash"]
79
+ T -->|live-search| C5["Grok — 4.6"]
80
80
  T -->|"arbitrate(可选)"| C6["vote — 1-4 模型评审团"]
81
81
  ```
82
82
 
@@ -103,24 +103,23 @@ flowchart LR
103
103
 
104
104
  | 通道 | 首选模型 | 备选模型 | 用途 |
105
105
  |---|---|---|---|
106
- | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最难的实现、深度调试、正确性攸关的修改 |
107
- | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 重构、迁移、测试、大面积扫描——机械耐力活 |
108
- | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 高量初筛、第一轮过滤 |
109
- | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 架构仲裁、深度推理、第二意见 |
110
- | ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 对外文字、prompt 与文档打磨、风格终审 |
111
- | 💬 consult | 明确指定的厂商/模型 | (不降级) | 自然语言直接咨询;必须保留 `--vendor` |
112
- | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有设计规范/参考图时的 UI 出稿;开放式视觉品味交给 taste-final |
113
- | 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 百万 token 扫读、检索与长文跨段整合;高速重复循环仍优先 Flash |
114
- | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 快速多步骤 agentic 循环、多模态检查 |
115
- | 📡 live-search | Grok 4.5 | —(off) | 实时 X/网络搜索与社群脉络 |
116
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 额度吃紧时的中量级编码溢流道;事实性声明须另行查证 |
117
- | 🗳️ arbitrate | off(可选评审团) | — | 内置意见评审团,重大决定用——默认关闭,要用在 `routing.local.yaml` 打开;每评审每轮烧一次额度 |
106
+ | 🔥 hardest-coding | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (xhigh) | 最难的实现、深度调试、正确性关键的修改 |
107
+ | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.7 Flash (High) → Claude Sonnet 5 (high) | 重构、迁移、测试、大范围扫描——机械耐力活 |
108
+ | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.7 Flash (Low) → Claude Haiku 4.5 | 大量扫描、第一轮筛选 |
109
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (max) → Grok 4.6 | 架构裁决、深度推理、第二意见 |
110
+ | ✒️ taste-final | Claude Fable 5.1 (high) | GPT-5.6 Sol (max) | 对外文字、提示词/文档润色、风格裁决 |
111
+ | 💬 consult | GPT-5.6 Sol (max) | Claude Fable 5.1 (high) → Grok 4.6 → Gemini 3.7 Flash (High) | 直接指定模型咨询;保留 `--vendor` 避免降级 |
112
+ | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Fable 5.1 (high) | 仅在提供设计系统/参考图时生成 UI 草稿 |
113
+ | 📚 long-context | Gemini 3.7 Flash (Medium) | GPT-5.6 Terra (max) Claude Opus 5 (medium) | 长文档提取与综合,按 AA-LCR、成本和吞吐排序 |
114
+ | ⚡ fast-agentic | Gemini 3.7 Flash (Medium) | GPT-5.6 Luna (high) | 高速多步骤工具循环、多模态检查 |
115
+ | 📡 live-search | Grok 4.6 | — (`off`) | 实时 X/网页搜索与社交上下文 |
116
+ | 🚰 coding-overflow | Grok 4.6 | Gemini 3.7 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 配额耗尽时的中量级编码安全阀 |
117
+ | 🗳️ arbitrate | `off`(可选模型评审团) | — | 重大决定的内置意见评审团;默认禁用,在 `routing.local.yaml` 启用,每位评审每轮调用一次 |
118
118
 
119
119
  **备选模型**是候选链的下一位——首选那家的厂商 CLI 没装时,派发就降到它。每条
120
120
  通道都是这样一条链;整条都没装时,通道自动降为 `off`。
121
121
 
122
- > **Claude Fable 5 去哪了?** 默认表刻意不放——理由与完整数据见
123
- > [常见问题](#-常见问题)。
122
+ > **Fable 5.1 已进入默认表——以及 Opus 5 仍适合放在哪里。** 三方数据与 Opus override 见[常见问题](#-常见问题)。
124
123
 
125
124
  ### 自然语言咨询
126
125
 
@@ -141,12 +140,12 @@ flowchart LR
141
140
  你哪些通道**自己做**(你本来就是那个模型,省一次调用)、哪些**派出去**。你 CLI 里
142
141
  的 `omnilane` 技能会自动套对的那一行,这里是给人看的版本。
143
142
 
144
- - **Claude Code · Fable 5** — 自己做:hard-judgment、taste-final、最吃正确性的硬修。派出去:机械编码量 → Codex、长文 → Gemini、实时搜索 → Grok。
145
- - **Claude Code · Opus 5** — 自己做:hard-judgment、taste-final。大量编码走 Codex 通道、长文 → Gemini、实时搜索 → Grok。
146
- - **Codex · Sol** — 自己做:hardest-coding、hard-judgment、ui-draft。派出去:taste-final → Claude、长文 → Gemini、实时搜索 Grok、粗活Codex Terra
147
- - **Codex · Terra** 自己做:bulk-mechanical。真正最硬的往上升给 Sol;taste → Claude、长文 → Gemini、实时搜索 → Grok。
148
- - **Grok Build · Grok 4.5** — 自己做:live-search、coding-overflow(中量级编码)。所有硬活派给 Codex/Claude/Gemini——先验每个 API 签名与引用事实。
149
- - **Antigravity · Gemini** — 自己做:3.1 Pro 的长文与重上下文 agentic 工作、Flash 的高速重复循环。最难的编码/判断/文字派给 Codex/Claude;实时搜索 → Grok。
143
+ - **Claude Code · Fable 5.1**——自己执行:hard-judgment、taste-final、hardest-coding。派发:bulk → Codex Sol high;long-context/高速循环 → Gemini 3.7 Flash;实时搜索 → Grok。
144
+ - **Claude Code · Opus 5**——需要更低幻觉率或价格时,自己执行 hard-judgment、taste-final。最难编码 Fable 5.1 或 Sol;bulk Sol high;long-context/高速循环 → Gemini 3.7 Flash;实时搜索 → Grok。
145
+ - **Codex · Sol**——自己执行:hardest-coding、bulk-mechanical、hard-judgment、ui-draft。派发:taste-final → Claude;long-context/高速循环 → Gemini 3.7 Flash;实时搜索Grok
146
+ - **Codex · Terra**——自己执行 long-context 的 Codex 备用任务;bulk-mechanical 现在默认由 Sol high 处理。最难部分升级到 Sol xhigh,taste → Claude,高速循环 → Gemini 3.7 Flash,实时搜索 → Grok。
147
+ - **Grok Build · Grok 4.6**——自己执行 live-search、coding-overflow。最难的编码/判断/文字交给 CodexClaudeGemini;仍需验证 API 签名和引用事实。
148
+ - **Antigravity · Gemini 3.7 Flash**——自己执行:Medium long-context/高速循环、High bulk/overflow、Low 的 triage。最难编码/判断/文字交给 CodexClaude;实时搜索 → Grok。
150
149
 
151
150
  </details>
152
151
 
@@ -266,7 +265,7 @@ omnilane ui status # 查看 Live UI 是否正在运
266
265
  omnilane ui url # 输出当前通过认证的本地链接
267
266
  omnilane ui stop # 停止 Live UI
268
267
  omnilane doctor [--json] # 只读检查路由与本地运行环境
269
- dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir 目录]
268
+ dispatch.sh [--background] [--dry-run] [--thread NAME] [--mode advise|work|sysops] [--workdir 目录]
270
269
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
271
270
  通道 "任务" # "-" 表示从 stdin 读任务
272
271
  dispatch.sh [--json] --list [--json]
@@ -284,6 +283,11 @@ configure.sh # 交互通道菜单
284
283
  configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 routing.local.yaml
285
284
  ```
286
285
 
286
+ `--thread NAME` 可在多次单次派发间延续命名的 Claude、Codex、Grok 或 Gemini
287
+ 对话。0.33.0 会固定厂商、模型、effort 与实际工作目录;使用
288
+ `jobs.sh threads`、`threads show NAME`、`threads rm NAME` 管理本地状态,
289
+ 删除状态不会删除厂商端会话。
290
+
287
291
  退出码:`2` 用法错误(包括厂商值无效,或指定厂商不在该通道)、`3` 通道已关闭、
288
292
  `4` 候选链没有可用 CLI,或指定厂商已配置但其 CLI 不可用、
289
293
  `5` 第一轮成功评审太少、`6` 第二轮没有任何反驳成功、`86` 拒绝嵌套派发、
@@ -395,45 +399,29 @@ omnilane goal close "$GOAL_ID" --summary "结账集成已稳定"
395
399
  </details>
396
400
 
397
401
  <details>
398
- <summary><b>Claude Fable 5 去哪了?为什么默认表不放它?</b></summary>
402
+ <summary><b>Fable 5.1 已进入默认表——以及 Opus 5 仍适合放在哪里</b></summary>
399
403
 
400
404
  <br/>
401
405
 
402
- **因为 Claude 顶级档通常就是主循环本人,不是被派发的工人。** 通道存在的意义,
403
- 是把工作送给「你正在开的那个模型以外」的模型。如果 Fable 5 就是你的主循环,把
404
- 判断和文字再路由回 Fable 5 只是多一次调用、毫无增益——所以上面那份「选你的主控
405
- 模型」清单里,Fable 5 有自己独立的一行,身份是**主控**:自己做 hard-judgment、
406
- taste-final、最吃正确性的硬修。
407
-
408
- **测量数据也不支持把它当工人。** Artificial Analysis 智能指数(2026-07-24)
409
- Opus 5(max)61 分、Fable 5(max)60 分——AA 自己的用词是「实质打平」,而 Epoch AI
410
- 的能力指数排序还是反过来的(Fable 5 161、Opus 5 159)。综合智力就当它平手。真正
411
- 拉开差距的是 agentic 专业产出,而且差很多:
412
-
413
- | 评测 | Claude Opus 5 (max) | Claude Fable 5 | |
414
- |---|---:|---:|---|
415
- | AA-Briefcase(agentic 知识工作,Elo) | 1720 | 1574 | **+146** |
416
- | GDPval-AA v2(Elo) | 1861 | 1747 | **+114** |
417
- | AA-Briefcase 每任务成本 | $17.79 | $22.30 | **-20%** |
418
- | API 单价,输入/输出 每 1M | $5 / $25 | $10 / $50 | **一半** |
406
+ Fable 5.1 现在领跑 `hardest-coding`、`hard-judgment`、`taste-final`。
407
+ 同为 xhigh 时,它在智能、代理式工作和编码上都领先 Opus 5;Sol max 则保留为
408
+ 便宜得多的跨厂商判断备用项。
419
409
 
420
- Opus 5 的 max、xhigh、high 三个档位包揽 AA-Briefcase 前三名,连 `high` 档都在
421
- 不到一半的每任务成本下赢过 Fable 5。也就是说,Fable 5 贵一倍,却换不到任何一条
422
- 通道所在意的优势。
410
+ | 评测(AA,抓取于 2026-09-02) | Claude Fable 5.1 (xhigh) | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) |
411
+ |---|---:|---:|---:|
412
+ | 智能 | 64.8 | 62.5 | 60.9 |
413
+ | 代理式 | 59.8 | 58.4 | 57.8 |
414
+ | 编码 | 80.7 | 77.0 | 77.4 |
415
+ | 幻觉率(越低越好) | .71 | **.60** | .92 |
416
+ | AA 每任务成本 | $2.65 | $1.80 | **$0.95** |
423
417
 
424
- **Fable 5 真正更强的地方**:事实广度。它在 AA-Omniscience 上仍领先 Opus 5
425
- (符合两者的规模差),而 Opus 5 在没把握时更倾向直接作答——幻觉率 50%,比
426
- Opus 4.8 14 个百分点。任务偏「回想」而非「执行」时,直接点名它:
427
-
428
- ```bash
429
- dispatch.sh --vendor claude --model claude-fable-5 --effort high consult "…"
430
- ```
431
-
432
- **这是成本与主循环策略的选择,不是能力判决。** 设置菜单的模型清单里有 Fable 5,
433
- 在 `routing.local.yaml` 写一行就能覆盖默认:
418
+ Fable 5.1 没进入 bulk triage:每 token 价格是 Opus 5 的两倍,而且每轮
419
+ 消耗最多 Claude Code 订阅配额。Opus 5 仍是幻觉率更低、价格更低的 Claude
420
+ 选项,并以 medium 保留在 `long-context`;也能通过
421
+ `~/.omnilane/routing.local.yaml` 放回任意通道:
434
422
 
435
423
  ```yaml
436
- taste-final: claude claude-fable-5 high
424
+ hard-judgment: claude claude-opus-5 xhigh
437
425
  ```
438
426
 
439
427
  </details>
@@ -493,7 +481,7 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
493
481
  默认关闭;要用就在 `routing.local.yaml` 写
494
482
  `arbitrate: vote codex,claude,grok -`(从四家里任选 1-4 个评审),
495
483
  或改用 `exec` 厂商指向你自己的多模型审查闸脚本。完整工作笔记(含各评测的
496
- 但书)见 [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
484
+ 但书)见 [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md)。
497
485
 
498
486
  ## ⚠️ 已知限制
499
487
 
@@ -507,6 +495,20 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
507
495
 
508
496
  ## 📜 版本历程
509
497
 
498
+ ## v0.33.0 新功能
499
+
500
+ - **四厂商线程派发。** `--thread NAME` 可让固定厂商、模型、effort 与工作
501
+ 目录的 Claude、Codex、Grok 或 Gemini 对话跨前台或后台单次作业延续;
502
+ direct-API 厂商、`exec`、实时模式与固定值冲突都会以清晰的退出码 2 提示停止。
503
+ - **线程状态管理。** `jobs.sh threads`、`threads show NAME`、`threads rm NAME`
504
+ 可列出、查看或删除本地线程状态。
505
+
506
+ ## v0.32.0 新功能
507
+
508
+ - **基于 AA 2026-09 快照全面重评路由。** Fable 5.1 和 Gemini 3.7 Flash 进入默认表,数据集中在新的日期化文档。
509
+ - **模型目录同步当前 CLI 接口。** 加入 Fable 5.1,移除 agy 已下架的 Gemini 3.5 Flash 项,并同步投票器。
510
+ - **Opus 5 仍可使用。** 它保留在 `long-context`,也能通过 `routing.local.yaml` 覆盖任意通道。
511
+
510
512
  ## v0.31.0 新功能
511
513
 
512
514
  - **目标预算默认不设上限。** `budget_jobs` 和 `budget_seconds` 现在以 JSON `null` 保存并显示为 `unlimited`;此前隐含的 8 个任务和 900 秒上限已移除。只有使用 `--budget-jobs N` 或 `--budget-seconds S` 才会启用硬性上限;重复失败保险丝不是预算,默认仍然启用。
@@ -582,7 +584,7 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
582
584
  的 Agentic Index 上大幅领先 Flash,而且 2026-07-30 降价后每任务成本只剩零头。
583
585
  Flash 只剩吞吐量优势——若你的循环受延迟限制,可在本机覆写把它调回第一。
584
586
  - **lane 注释不再放数字。**`routing.yaml` 只说明每条排序「为什么」成立;所有分数、
585
- 价格与吞吐量连同取数日期,一律放在 `docs/model-capabilities-2026-07.md`。数字过期
587
+ 价格与吞吐量连同取数日期,一律放在 `docs/model-capabilities-2026-09.md`。数字过期
586
588
  不再需要动路由表。
587
589
  - **新增 value profile**(在 `routing.local.yaml.example`):用约一个 Intelligence
588
590
  Index 分数,换每任务成本降三到四成。
@@ -628,7 +630,7 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
628
630
  - **修复:`routing.local.yaml.example` 还指着已退场的模型**——起手配置里的
629
631
  `claude-opus-4-8` 全数改为 `claude-opus-5`(并按通道给对应档位),Gemini 3.5
630
632
  Flash 候选改为 3.6 Flash,与 0.10.0 以来的默认值一致。
631
- - **对照原始资料修正智能指数数字**(`docs/model-capabilities-2026-07.md`):
633
+ - **对照原始资料修正智能指数数字**(`docs/model-capabilities-2026-09.md`):
632
634
  那是指数点数不是百分比;补上 AA-Briefcase / GDPval-AA v2 对照,并记下两项与
633
635
  默认值相反的结果:Fable 5 在事实知识领先、GPT-5.6 Sol 在呈现质量领先。
634
636
 
@@ -665,7 +667,7 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
665
667
 
666
668
  ## v0.9.0 新功能
667
669
 
668
- - **新增 5 个 OpenAI-compatible direct-API vendor** — `deepseek`、`zai`(GLM)、`mistral`、`groq`、`cerebras`,与 `openrouter` 同为免 CLI 通道(curl 加一把 `<VENDOR>_API_KEY`);`lib/common.sh` registry 一行即加一个。详见 [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
670
+ - **新增 5 个 OpenAI-compatible direct-API vendor** — `deepseek`、`zai`(GLM)、`mistral`、`groq`、`cerebras`,与 `openrouter` 同为免 CLI 通道(curl 加一把 `<VENDOR>_API_KEY`);`lib/common.sh` registry 一行即加一个。详见 [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md)。
669
671
  - **fish shell 补全** — `omnilane completion fish | source`。
670
672
 
671
673
  ## v0.8.3 新功能