omnilane 0.34.0 → 0.41.1
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +47 -1
- package/README.ja.md +44 -33
- package/README.ko.md +44 -32
- package/README.md +71 -77
- package/README.zh-CN.md +42 -30
- package/README.zh-TW.md +65 -68
- package/VERSION +1 -1
- package/docs/aa-model-coverage-2026-09-05.json +29204 -0
- package/docs/model-capabilities-2026-09.md +380 -0
- package/package.json +3 -1
- package/plugin.json +1 -1
- package/routing.local.yaml.example +8 -3
- package/routing.yaml +16 -16
- package/scripts/configure.sh +4 -4
- package/scripts/dispatch.sh +83 -14
- package/scripts/doctor.sh +55 -1
- package/scripts/jobs.sh +6 -2
- package/scripts/lib/common.sh +47 -1
- package/scripts/lib/job-worker.sh +312 -20
- package/scripts/lib/live-protocol.sh +147 -2
- package/scripts/lib/normalize-claude-stream.py +72 -0
- package/scripts/lib/prepare-agy-mode.py +374 -0
- package/scripts/release-audit.sh +103 -0
- package/scripts/runners/run-claude.sh +81 -47
- package/scripts/runners/run-codex-live.py +462 -0
- package/scripts/runners/run-codex.sh +62 -3
- package/scripts/runners/run-gemini.sh +85 -10
- package/scripts/runners/run-grok-live.py +426 -0
- package/scripts/runners/run-grok.sh +113 -6
- package/scripts/runners/run-vote.sh +3 -3
- package/skills/omnilane/SKILL.md +106 -59
package/README.md
CHANGED
|
@@ -115,24 +115,24 @@ actually resolves.
|
|
|
115
115
|
|
|
116
116
|
| Lane | First choice | Backup | When |
|
|
117
117
|
|---|---|---|---|
|
|
118
|
-
| 🔥 hardest-coding | Claude Fable 5.1 (
|
|
119
|
-
| 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.
|
|
120
|
-
| 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.
|
|
121
|
-
| ⚖️ hard-judgment | Claude
|
|
122
|
-
| ✒️ taste-final | Claude Fable 5.1 (
|
|
123
|
-
| 💬 consult | GPT-
|
|
124
|
-
| 🎨 ui-draft | GPT-5.6 Sol (
|
|
125
|
-
| 📚 long-context | Gemini 3.
|
|
126
|
-
| ⚡ fast-agentic | Gemini 3.
|
|
127
|
-
| 📡 live-search | Grok 4.6 | Gemini 3.
|
|
128
|
-
| 🚰 coding-overflow | Grok 4.6 | Gemini 3.
|
|
118
|
+
| 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | Hardest implementation, deep root-cause debug, correctness-critical edits |
|
|
119
|
+
| 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | Refactors, migrations, tests, review sweeps — mechanical endurance |
|
|
120
|
+
| 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | High-volume scans, first-pass filtering |
|
|
121
|
+
| ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | Architecture arbitration, deep reasoning, second opinions |
|
|
122
|
+
| ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | User-facing prose and style arbitration; benchmarks do not prove visual or editorial taste |
|
|
123
|
+
| 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | Direct named-model consultation; keep `--vendor` to prevent fallback |
|
|
124
|
+
| 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | UI drafts only with a design system or reference images; no aesthetic benchmark claim |
|
|
125
|
+
| 📚 long-context | Gemini 3.8 Flash (Medium) | GPT-5.6 Terra (max) → Claude Opus 5 (medium) | Long-document synthesis; context size alone does not prove task quality |
|
|
126
|
+
| ⚡ fast-agentic | Gemini 3.8 Flash (Low) | GPT-5.6 Luna (high) → Claude Haiku 4.5 | Fast multi-step tool loops and multimodal checks |
|
|
127
|
+
| 📡 live-search | Grok 4.6 | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | Realtime X/web search; backups provide generic web search, not equivalent X context |
|
|
128
|
+
| 🚰 coding-overflow | Grok 4.6 | Gemini 3.8 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Explicit Codex-quota relief; provider failure does not auto-retry another vendor |
|
|
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
|
|
135
|
+
> **Fable 5.1 and Astra now lead hard work.** See the current same-condition evidence in [FAQ](#-faq).
|
|
136
136
|
|
|
137
137
|
### Natural-language consultation
|
|
138
138
|
|
|
@@ -157,12 +157,13 @@ with who is driving. What changes is which lanes you **self-execute** (you
|
|
|
157
157
|
already are that model, so no second call) versus **dispatch**. Your harness's
|
|
158
158
|
`omnilane` skill applies the right row automatically; this is the human view.
|
|
159
159
|
|
|
160
|
-
- **Claude Code · Fable 5.1** —
|
|
161
|
-
- **Claude Code · Opus 5** —
|
|
162
|
-
- **Codex · Sol** — self-execute
|
|
163
|
-
- **Codex ·
|
|
160
|
+
- **Claude Code · Fable 5.1** — recommended prompt-level controller for quality-sensitive work; this is a role, not a lane or automatic selector. Self-execute hardest-coding at max and judgment/taste at xhigh; use Astra for an independent Codex review, Sol for bulk, Gemini 3.8 Flash for long/fast work, and Grok for live search.
|
|
161
|
+
- **Claude Code · Opus 5** — balanced prompt-level controller and independent reviewer when explicitly selected (`high`, or `xhigh` for deeper review), plus long-context fallback. This is an opt-in role, not a new lane or the default hard-judgment route.
|
|
162
|
+
- **Codex · Sol** — self-execute bulk-mechanical and constrained ui-draft at high. Escalate hardest coding and judgment to Fable/Astra; route long/fast work to Gemini 3.8 Flash and live search to Grok.
|
|
163
|
+
- **Codex · Astra** — prompt-level controller backup and independent reviewer. Use max for hardest coding/judgment and xhigh for consult/taste; explicit model/effort always win.
|
|
164
|
+
- **Codex · Terra** — self-execute the Codex long-context fallback at max. Bulk stays on Sol high; escalate hard work to Fable/Astra.
|
|
164
165
|
- **Grok Build · Grok 4.6** — self-execute: live-search and coding-overflow, plus fallback duty in hardest-coding, hard-judgment, and taste-final. Dispatch primary hard coding/judgment/taste work to Codex/Claude/Gemini when available; verify API signatures and cited facts.
|
|
165
|
-
- **Antigravity · Gemini 3.
|
|
166
|
+
- **Antigravity · Gemini 3.8 Flash** — self-execute long-context Medium, fast-agentic/triage Low, and bulk/overflow/web fallbacks High. Do not infer visual taste or controller authority from agent/coding benchmarks.
|
|
166
167
|
|
|
167
168
|
</details>
|
|
168
169
|
|
|
@@ -379,20 +380,13 @@ code passes through.
|
|
|
379
380
|
|
|
380
381
|
## 🎭 Modes
|
|
381
382
|
|
|
382
|
-
- **advise** (default)
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
error — route edits to an agentic CLI vendor instead.
|
|
390
|
-
- **sysops** — `work` minus the vendor sandbox, for service operations the
|
|
391
|
-
sandbox denies (`launchctl` and friends). Codex runs it with
|
|
392
|
-
`-s danger-full-access`; every other vendor treats it as plain `work`. This
|
|
393
|
-
hands the worker full access to the machine, so it is an explicit
|
|
394
|
-
per-dispatch opt-in and can never be a lane default. Reach for it only when
|
|
395
|
-
you have watched `work` fail on a sandbox denial.
|
|
383
|
+
- **advise** (default): read-only local analysis with native web/search tools where the vendor supports them. Model/provider traffic stays available; agent mutation tools are restricted. This is not a promise of identical X/web capabilities across vendors.
|
|
384
|
+
- **work**: local file and command work confined to the explicit `--workdir`, with agent-tool network access disabled. This does not disable the model/provider connection. Unsupported enforcement fails before provider startup rather than silently becoming sysops.
|
|
385
|
+
- **sysops**: explicit per-dispatch opt-in to unrestricted agent tools and filesystem/network access. It is never a lane default; the task must state the allowed operations.
|
|
386
|
+
|
|
387
|
+
The CLI defaults `--workdir` to the caller’s current directory when omitted; task briefs should still specify it explicitly. The MCP `route`/`dry_run` work interface separately requires an explicit `workdir`.
|
|
388
|
+
|
|
389
|
+
Codex and Claude have distinct policies for all three modes. Agy advise/sysops use isolated per-session native app settings without replacing subscription authentication; Agy 1.1.27 work has bounded new/resume acceptance using four validated tools and the native terminal sandbox: workspace read/write/edit/build and policy-denied outside writes passed. External temp/cache reads are also restricted; settings are explicitly regenerated at each start rather than claimed immutable. A separate real two-turn work live/FIFO check passed readback, outside-write denial and normal close with unchanged sources. Grok advise uses native tool allow/deny rules; its complete single-shot `plain` path has verified native keyword search, page fetching, and a denied write on Grok 1.0.13. It uses internal web-tool IDs and job-local MCP readiness without disabling hooks. An existing nonempty `CONTEXT_MODE_MCP_SENTINEL_DIR` conflicts with this advise scope and stops before provider startup rather than being overwritten. Grok work remains gated on macOS because native child-network isolation is Linux-only, and Grok live requires explicit sysops; the advise result does not validate these other paths. OpenRouter remains advise-only; other vendors are not implicitly covered by this four-vendor contract. See the [dated runtime gate](docs/model-capabilities-2026-09.md#f-mode-runtime-gate-2026-09-06) for evidence boundaries.
|
|
396
390
|
|
|
397
391
|
## 🔒 Safety rails
|
|
398
392
|
|
|
@@ -430,7 +424,7 @@ code passes through.
|
|
|
430
424
|
|
|
431
425
|
## 📬 Live mailbox
|
|
432
426
|
|
|
433
|
-
A live mailbox is a resident
|
|
427
|
+
A live mailbox is a resident background dispatch, not a one-shot dispatch. Claude and Gemini retain their existing automatic live behavior with `--background`. Codex and Grok default to single-shot; opt in with `--background --live` (Grok additionally requires `--mode sysops --workdir DIR`). The foreman can send another instruction while it is running and is responsible for closing it with `jobs.sh close ID`. The idle cap and configured whole-job timeout (`--job-timeout`) can still end it.
|
|
434
428
|
|
|
435
429
|
```bash
|
|
436
430
|
scripts/dispatch.sh --background --vendor claude hard-judgment "Review the timeout failure"
|
|
@@ -442,7 +436,7 @@ scripts/jobs.sh close "$ID"
|
|
|
442
436
|
scripts/jobs.sh retry "$ID" --background
|
|
443
437
|
```
|
|
444
438
|
|
|
445
|
-
`watch` follows `$JOB_DIR/events.jsonl`; `tail` reads the public `out.txt`. Live mailbox support covers Claude
|
|
439
|
+
`watch` follows `$JOB_DIR/events.jsonl`; `tail` reads the public `out.txt`. Live mailbox support covers Claude, Gemini, Codex, and Grok. Automatic selection remains single-shot for Codex/Grok; only explicit `--live` opts them in. Grok advise rejects `--live` because ACP does not enforce its read-only boundary; normal advise uses single-shot native tool allow/deny rules. `--live` fails fast for unsupported vendors. `--single-shot` forces one-shot execution for every vendor. `--idle-timeout SECONDS` sets the inactivity cap (default 900; `0` disables it).
|
|
446
440
|
|
|
447
441
|
An idle mailbox makes no API calls and incurs no API spend. By default it closes after 900 seconds without a new inbox message or result event, while the whole-job timeout remains the outer cap. Close it sooner when its exchange is finished. `jobs.sh send` to a finished job or a job that is not live fails with a clear error. Do not use this for fire-and-forget work, vendors without live support, or a clean-slate rerun; start a fresh dispatch (or retry a completed job) instead.
|
|
448
442
|
|
|
@@ -496,53 +490,36 @@ with the key you set — those are advise-only and never edit files.
|
|
|
496
490
|
</details>
|
|
497
491
|
|
|
498
492
|
<details>
|
|
499
|
-
<summary><b>Fable 5.1
|
|
493
|
+
<summary><b>Why do Fable 5.1 and Astra now lead hard work?</b></summary>
|
|
500
494
|
|
|
501
495
|
<br/>
|
|
502
496
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
| AA $/task | $2.65 | $1.80 | **$0.95** |
|
|
517
|
-
|
|
518
|
-
Fable 5.1 is not a bulk or triage default: it costs twice Opus 5 per token and
|
|
519
|
-
consumes the most Claude Code subscription quota per turn. Opus 5 now leads
|
|
520
|
-
`hard-judgment` by default, stays in `long-context` at medium, and remains
|
|
521
|
-
selectable everywhere through `~/.omnilane/routing.local.yaml` — for example,
|
|
522
|
-
to bring Fable back:
|
|
523
|
-
|
|
524
|
-
```yaml
|
|
525
|
-
hard-judgment: claude claude-fable-5-1 xhigh
|
|
526
|
-
```
|
|
497
|
+
The 2026-09-05 refresh compares the two on AA v4.2 under matching effort:
|
|
498
|
+
Fable/Astra score 57/55 at max and 54/54 at xhigh; AA Briefcase is
|
|
499
|
+
1666/1566 at max and 1657/1540 at xhigh. In the native coding-agent comparison,
|
|
500
|
+
Fable max completes 70 at $9.18/task in 24 minutes and Astra max completes 67
|
|
501
|
+
at $4.72/task in 26.8 minutes. That supports Fable max for
|
|
502
|
+
`hardest-coding`, Fable xhigh for `hard-judgment`/`taste-final`, and Astra as
|
|
503
|
+
the Codex-family fallback or independent reviewer.
|
|
504
|
+
|
|
505
|
+
Fable max is the quality-first prompt-level controller. Opus high/xhigh is
|
|
506
|
+
the balanced controller and independent-review option; Astra is the existing-
|
|
507
|
+
Codex-quota backup/reviewer. These are role recommendations, not a new lane or
|
|
508
|
+
automatic controller selector. Opus also remains the Claude `long-context`
|
|
509
|
+
fallback.
|
|
527
510
|
|
|
528
511
|
</details>
|
|
529
512
|
|
|
530
513
|
<details>
|
|
531
|
-
<summary><b>Why
|
|
514
|
+
<summary><b>Why does hardest coding use <code>max</code> while other Claude lanes use <code>xhigh</code>?</b></summary>
|
|
532
515
|
|
|
533
516
|
<br/>
|
|
534
517
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
`max` — the top tiers produce more elaborate solutions that fail more often.
|
|
541
|
-
Raise any lane locally if your workload disagrees:
|
|
542
|
-
|
|
543
|
-
```bash
|
|
544
|
-
omnilane configure set hard-judgment "claude claude-opus-5 max"
|
|
545
|
-
```
|
|
518
|
+
Effort is selected per task, not assumed to improve monotonically. The current
|
|
519
|
+
same-condition and native coding evidence justifies max for correctness-first
|
|
520
|
+
`hardest-coding`; xhigh remains the quality/cost default for
|
|
521
|
+
`hard-judgment`, `taste-final`, and named Fable consultation. Explicit
|
|
522
|
+
`--model` and `--effort` always override these route defaults.
|
|
546
523
|
|
|
547
524
|
</details>
|
|
548
525
|
|
|
@@ -567,13 +544,13 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # fully resolved plan, no p
|
|
|
567
544
|
|
|
568
545
|
<br/>
|
|
569
546
|
|
|
570
|
-
Only if you ask for it. Dispatch defaults to `advise`,
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
547
|
+
Only if you ask for it. Dispatch defaults to `advise`, with per-vendor read-only
|
|
548
|
+
sandbox or native tool permissions and supported web search. For bounded edits,
|
|
549
|
+
use `--mode work` with an explicit `--workdir`; agent-tool networking is disabled
|
|
550
|
+
while the model connection remains available. `--mode sysops` is a separate,
|
|
551
|
+
explicit full-access policy for Codex, Claude, Grok, and Agy, not an alias for
|
|
552
|
+
work. Use it only when the task explicitly permits operations outside work's
|
|
553
|
+
boundary, such as service management. It is never a lane default. Workers
|
|
577
554
|
also cannot dispatch again — the depth guard refuses nested fan-out with exit 86,
|
|
578
555
|
so one command can never spiral into a chain of agents spending your quota.
|
|
579
556
|
|
|
@@ -602,6 +579,21 @@ working notes, including per-benchmark caveats, live in
|
|
|
602
579
|
|
|
603
580
|
## 📜 Release history
|
|
604
581
|
|
|
582
|
+
## What's new in v0.41.1
|
|
583
|
+
|
|
584
|
+
- **Python 3.9 compatibility.** Agy workspace-policy staging and cleanup now use `Path.lstat()` without weakening symlink, inode, or concurrent-replacement protections.
|
|
585
|
+
- **Isolated CI fixture.** Strict doctor acceptance now supplies explicit plugin-enabled and directory-marketplace settings; missing, disabled, or mismatched settings still fail.
|
|
586
|
+
- **Upgrade after npm publication.** Run `npm i -g omnilane@0.41.1`, or update your checkout and rerun `./install.sh`. npm publication is handled separately; a GitHub release does not establish npm availability.
|
|
587
|
+
|
|
588
|
+
## What's new in v0.40.0
|
|
589
|
+
|
|
590
|
+
- **Distinct modes and repaired Grok web access.** Advise is read-only with supported native search, work confines edits to explicit `--workdir` with agent-tool networking off, and sysops explicitly opts into full access. Grok's full single-shot `plain` advise path now has real search/fetch and denied-write evidence; macOS work and restricted live remain gated.
|
|
591
|
+
- **Explicit Codex and Grok live sessions.** `--background --live` enables follow-up prompts and explicit close for Codex work jobs and Grok sysops jobs; automatic Codex/Grok dispatch stays single-shot, while Claude/Gemini keep their existing auto-live behavior. Grok advise rejects `--live` because its ACP surface does not enforce a read-only boundary.
|
|
592
|
+
- **Bounded, observable shutdown.** EOF-aware capability probes, immutable per-job worker snapshots, interpreter/SHA provenance, close deadlines, and process-group cleanup keep stalled or killed live jobs bounded without claiming OS sandbox isolation.
|
|
593
|
+
- **Completion and idle fixes.** Completion delivery tolerates truncated UTF-8 tails, terminal state comes from durable exit records, and idle tracking advances on completed result events rather than arbitrary stream traffic.
|
|
594
|
+
- **AA-informed model coverage.** The 12-lane defaults now cover Fable 5.1, GPT-6 Astra, and Gemini 3.8 Flash while retaining existing vendors and explicit model overrides. A dated AA v4.2 coverage snapshot documents 643 leaderboard configurations; catalog presence is not a runtime capability guarantee.
|
|
595
|
+
- **Upgrade.** Run `npm i -g omnilane@0.40.0`, or update your checkout and rerun `./install.sh`.
|
|
596
|
+
|
|
605
597
|
## What's new in v0.33.0
|
|
606
598
|
|
|
607
599
|
- **Four-vendor threaded dispatch.** `--thread NAME` continues pinned Claude,
|
|
@@ -707,6 +699,8 @@ working notes, including per-benchmark caveats, live in
|
|
|
707
699
|
|
|
708
700
|
## What's new in v0.12.0
|
|
709
701
|
|
|
702
|
+
These are historical release notes. The current three-mode contract is defined in [Modes](#-modes), including the separate full-access sysops policy in 0.40.0.
|
|
703
|
+
|
|
710
704
|
- **`hardest-coding` drops Sol from `max` to `xhigh`** — on AA's per-effort
|
|
711
705
|
Coding Index, Sol at xhigh outscores Sol at max and every Claude tier while
|
|
712
706
|
costing about a third less. Past xhigh, effort buys overthinking rather than
|
package/README.zh-CN.md
CHANGED
|
@@ -103,18 +103,18 @@ flowchart LR
|
|
|
103
103
|
|
|
104
104
|
| 通道 | 首选模型 | 备选模型 | 用途 |
|
|
105
105
|
|---|---|---|---|
|
|
106
|
-
| 🔥 hardest-coding | Claude Fable 5.1 (
|
|
107
|
-
| 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.
|
|
108
|
-
| 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.
|
|
109
|
-
| ⚖️ hard-judgment | Claude
|
|
110
|
-
| ✒️ taste-final | Claude Fable 5.1 (
|
|
111
|
-
| 💬 consult | GPT-
|
|
112
|
-
| 🎨 ui-draft | GPT-5.6 Sol (
|
|
113
|
-
| 📚 long-context | Gemini 3.
|
|
114
|
-
| ⚡ fast-agentic | Gemini 3.
|
|
115
|
-
| 📡 live-search | Grok 4.6 | Gemini 3.
|
|
116
|
-
| 🚰 coding-overflow | Grok 4.6 | Gemini 3.
|
|
117
|
-
| 🗳️ arbitrate |
|
|
106
|
+
| 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | 最难的实现、深度调试、正确性关键的修改 |
|
|
107
|
+
| 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | 重构、迁移、测试、大范围扫描——机械耐力活 |
|
|
108
|
+
| 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | 大量扫描、第一轮筛选 |
|
|
109
|
+
| ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | 架构裁决、深度推理、第二意见 |
|
|
110
|
+
| ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 对外文字、提示词/文档润色、风格裁决 |
|
|
111
|
+
| 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | 直接指定模型咨询;保留 `--vendor` 避免降级 |
|
|
112
|
+
| 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | 仅在提供设计系统/参考图时生成 UI 草稿 |
|
|
113
|
+
| 📚 long-context | Gemini 3.8 Flash (Medium) | GPT-5.6 Terra (max) → Claude Opus 5 (medium) | 长文档提取与综合,按 AA-LCR、成本和吞吐排序 |
|
|
114
|
+
| ⚡ fast-agentic | Gemini 3.8 Flash (Low) | GPT-5.6 Luna (high) → Claude Haiku 4.5 | 高速多步骤工具循环、多模态检查 |
|
|
115
|
+
| 📡 live-search | Grok 4.6 | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | 实时 X/网页搜索与社交上下文 |
|
|
116
|
+
| 🚰 coding-overflow | Grok 4.6 | Gemini 3.8 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 配额耗尽时的中量级编码安全阀 |
|
|
117
|
+
| 🗳️ arbitrate | off (opt-in vote panel) | — | 重大决定的内置意见评审团;默认禁用,在 `routing.local.yaml` 启用,每位评审每轮调用一次 |
|
|
118
118
|
|
|
119
119
|
**备选模型**是候选链的下一位——首选那家的厂商 CLI 没装时,派发就降到它。每条
|
|
120
120
|
通道都是这样一条链;整条都没装时,通道自动降为 `off`。
|
|
@@ -296,17 +296,13 @@ configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 rou
|
|
|
296
296
|
|
|
297
297
|
## 🎭 模式
|
|
298
298
|
|
|
299
|
-
- **advise
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
(`launchctl` 之类)。Codex 以 `-s danger-full-access` 执行;其他 vendor
|
|
307
|
-
一律当成普通 `work`。这等于把整台机器的访问权交给工作端,因此只能逐次
|
|
308
|
-
明确指定,永远不能设成 lane 默认值。只有在你亲眼看到 `work` 因沙箱拒绝而
|
|
309
|
-
失败时才动用它。
|
|
299
|
+
- **advise(默认)**:本地只读分析;供应商支持时可用原生网页/搜索工具。保留模型连接,限制修改工具;不同供应商的 X/网页搜索能力并不等同。
|
|
300
|
+
- **work**:文件与命令操作限于显式 `--workdir`,关闭代理工具网络访问,保留模型连接。不支持的强制边界在调用模型前停止,不会静默切换为 sysops。
|
|
301
|
+
- **sysops**:每次派工显式选择,开放代理工具、文件和网络访问;不作为通道默认值,任务必须列明允许的操作。
|
|
302
|
+
|
|
303
|
+
CLI 省略 `--workdir` 时默认使用调用端当前目录;任务说明仍应明确工作目录。MCP `route`/`dry_run` 的 work 接口则单独要求明确的 `workdir`。
|
|
304
|
+
|
|
305
|
+
Codex 和 Claude 的三种模式使用不同策略。Agy advise/sysops 使用独立的原生会话设置,不替换订阅认证;Agy 1.1.27 work 已使用四个经过验证的工具及原生终端沙箱完成限定的新建/续接验收:工作目录内读写、修改、编译及越界写入拒绝通过。外部临时文件/缓存读取也受限;每次启动重写明确设置,不宣称设置全程不可变。另一次正式 work 实时/FIFO 两轮验收已通过前轮读回、越界写入拒绝及正常关闭,源文件保持不变。Grok advise 使用原生工具允许/拒绝规则;Grok 1.0.13 的完整单次 `plain` 路径已验证原生关键词搜索、抓取网页及写入拒绝,采用内部网页工具 ID 和每项作业独立的 MCP 就绪状态,不关闭钩子。`CONTEXT_MODE_MCP_SENTINEL_DIR` 已设置为非空值时,会在调用模型前报告冲突,不覆盖原设置。原生子进程网络隔离仅支持 Linux,因此 macOS Grok work 仍保留前置检查;Grok 实时模式仍要求显式 sysops,这次 advise 结果不扩展到其他路径。OpenRouter 仍仅支持 advise;其他供应商不自动纳入这份四供应商契约。证据范围见[日期化运行验收表](docs/model-capabilities-2026-09.md#f-mode-runtime-gate-2026-09-06)。
|
|
310
306
|
|
|
311
307
|
## 🔒 内置安全机制
|
|
312
308
|
|
|
@@ -339,7 +335,7 @@ configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 rou
|
|
|
339
335
|
|
|
340
336
|
## 📬 实时邮箱
|
|
341
337
|
|
|
342
|
-
|
|
338
|
+
实时邮箱是受支持模式的常驻后台派发,不是一次性派发。派发方以 `--background` 打开后,运行中仍可追加指令,并负责用 `jobs.sh close ID` 收尾。即使无人处理,它也不会永久存在:空闲上限或已配置的整个作业超时(`--job-timeout`)到期后都会终止它。
|
|
343
339
|
|
|
344
340
|
```bash
|
|
345
341
|
scripts/dispatch.sh --background --vendor claude hard-judgment "检查超时测试失败的原因"
|
|
@@ -351,7 +347,7 @@ scripts/jobs.sh close "$ID"
|
|
|
351
347
|
scripts/jobs.sh retry "$ID" --background
|
|
352
348
|
```
|
|
353
349
|
|
|
354
|
-
`watch`
|
|
350
|
+
`watch` 跟随 `$JOB_DIR/events.jsonl`;`tail` 读取 `out.txt`。Claude 和 Gemini 保留受支持模式的后台自动实时行为。Codex/Grok 默认一次性,必须显式 `--background --live`;Grok 还要求 `--mode sysops --workdir DIR`,advise/work 的实时请求在启动前停止,因为 ACP 不强制这些模式的边界。不支持实时模式的供应商立即失败。`--single-shot` 强制一次性执行。`--idle-timeout SECONDS` 默认 900 秒,`0` 禁用空闲上限。
|
|
355
351
|
|
|
356
352
|
空闲时不会发出 API 调用,也不会产生 API 费用。默认若 900 秒内没有新邮箱消息或新结果事件,worker 会自动收尾;整个作业超时仍是外层上限。处理结束可提前执行 `close`。向已结束或不是实时邮箱的作业执行 `jobs.sh send` 会明确报错并失败。即发即忘的工作、没有实时支持的供应商,或需要从干净状态重新运行的情况都不适用;请新建一次派发,或在作业完成后使用 `retry`。
|
|
357
353
|
|
|
@@ -465,11 +461,11 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析后的计划,
|
|
|
465
461
|
|
|
466
462
|
<br/>
|
|
467
463
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
464
|
+
除非你明确要求修改。派工默认是 `advise`,通过各厂商的只读沙箱或原生工具权限
|
|
465
|
+
保持只读,并保留支持的网页搜索。一般修改使用 `--mode work` 和明确的 `--workdir`,
|
|
466
|
+
关闭代理工具网络,但保留模型连接。`--mode sysops` 是 Codex、Claude、Grok、Agy
|
|
467
|
+
各自独立的完整权限策略,不是 work 的别名;只有任务明确允许超出 work 边界的
|
|
468
|
+
操作,例如服务管理,才逐次选择,永远不作为通道默认值。
|
|
473
469
|
工作端也不能再往外派——深度守卫会用退出码 86 拒绝嵌套派工,一道
|
|
474
470
|
命令不可能失控变成一整串 AI 烧你的额度。
|
|
475
471
|
|
|
@@ -497,6 +493,20 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
|
|
|
497
493
|
|
|
498
494
|
## 📜 版本历程
|
|
499
495
|
|
|
496
|
+
## v0.41.1 新功能
|
|
497
|
+
|
|
498
|
+
- **Python 3.9 兼容性。** Agy 工作目录策略的建立与清理改用 `Path.lstat()`,保留符号链接、inode 和并发替换保护。
|
|
499
|
+
- **隔离 CI 测试数据。** 严格 doctor 验收补齐明确启用插件与目录来源设置;设置缺失、停用或路径不匹配时仍会失败。
|
|
500
|
+
- **npm 上架后升级。** 运行 `npm i -g omnilane@0.41.1`,或更新 checkout 后再次运行 `./install.sh`。npm 单独发布,GitHub 发布不代表 npm 已上架。
|
|
501
|
+
|
|
502
|
+
## v0.40.0 新功能
|
|
503
|
+
|
|
504
|
+
- **区分模式并修复 Grok 网页工具。** advise 只读并保留支持的原生搜索;work 限于明确的 `--workdir` 且关闭代理工具网络;sysops 每次显式启用完整权限。Grok 完整单次 `plain` advise 已取得真实搜索、抓页和写入拒绝证据;macOS work 与受限实时模式仍保留前置检查。
|
|
505
|
+
- **Codex 与 Grok 显式实时会话。** Codex work 与 Grok sysops 作业可用 `--background --live` 继续发送消息并显式关闭;Codex/Grok 自动派发仍保持单次执行,Claude/Gemini 保留原有自动实时行为。Grok advise 因 ACP 没有可强制执行的只读边界而拒绝 `--live`。
|
|
506
|
+
- **有界且可观测的关闭流程。** 能识别 EOF 的能力探测、每项作业的不可变 worker 快照、解释器/SHA 来源、关闭期限与进程组清理,可限制卡住或被终止的实时作业,但不宣称操作系统沙箱隔离。
|
|
507
|
+
- **AA 驱动的模型覆盖。** 12 条通道默认值已纳入 Fable 5.1、GPT-6 Astra 与 Gemini 3.8 Flash,同时保留现有供应商和显式模型覆盖。日期化 AA v4.2 覆盖快照记录 643 个榜单配置;模型出现在目录中不代表运行环境已验证支持。
|
|
508
|
+
- **升级。** 运行 `npm i -g omnilane@0.40.0`,或更新 checkout 后再次运行 `./install.sh`。
|
|
509
|
+
|
|
500
510
|
## v0.33.0 新功能
|
|
501
511
|
|
|
502
512
|
- **四厂商线程派发。** `--thread NAME` 可让固定厂商、模型、effort 与工作
|
|
@@ -579,6 +589,8 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
|
|
|
579
589
|
|
|
580
590
|
## v0.12.0 新功能
|
|
581
591
|
|
|
592
|
+
以下保留当时版本的历史说明。当前三种模式的契约以[模式](#-模式)为准,包括 0.40.0 独立的完整权限 sysops 策略。
|
|
593
|
+
|
|
582
594
|
- **`hardest-coding` 的 Sol 从 `max` 降到 `xhigh`**——在 AA 分档位的 Coding Index
|
|
583
595
|
上,Sol 的 xhigh 不但胜过自己的 max,也胜过所有 Claude 档位,成本还少约三分之一。
|
|
584
596
|
这类工作超过 xhigh 之后,多加的 effort 买到的是过度思考,不是正确率。
|