omnilane 0.8.1 → 0.8.3

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/CHANGELOG.md CHANGED
@@ -6,6 +6,26 @@ semantic version tags.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.8.3] - 2026-07-18
10
+
11
+ ### Added
12
+
13
+ - Dependency-free MCP stdio server (`omnilane mcp`) exposing routing, lane
14
+ discovery, and background-job status/results to any MCP-capable host.
15
+
16
+ ## [0.8.2] - 2026-07-18
17
+
18
+ ### Added
19
+
20
+ - `openrouter` vendor: direct OpenRouter API dispatch (curl + `OPENROUTER_API_KEY`,
21
+ no CLI dependency). Advise/consult only — work mode fails hard with guidance —
22
+ and the model slug is mandatory. Hundreds of hosted models become reachable
23
+ from any omnilane install without adding a coding-agent CLI.
24
+ - `opencode` vendor: headless `opencode run` dispatch through the OpenCode
25
+ multi-provider aggregator CLI. Advise mode pins OpenCode's built-in read-only
26
+ `plan` agent; work mode uses `--auto`. Appended as the last fallback in the
27
+ default `coding-overflow` chain.
28
+
9
29
  ## [0.8.1] - 2026-07-18
10
30
 
11
31
  ### Added
@@ -239,7 +259,9 @@ semantic version tags.
239
259
  - Initial shared routing table, cross-vendor dispatcher, runners, installer,
240
260
  and baseline lint fixes.
241
261
 
242
- [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.8.1...HEAD
262
+ [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.8.3...HEAD
263
+ [0.8.3]: https://github.com/Seraphim0916/omnilane/compare/v0.8.2...v0.8.3
264
+ [0.8.2]: https://github.com/Seraphim0916/omnilane/compare/v0.8.1...v0.8.2
243
265
 
244
266
  [0.8.1]: https://github.com/Seraphim0916/omnilane/compare/v0.8.0...v0.8.1
245
267
 
package/README.ja.md CHANGED
@@ -5,8 +5,9 @@
5
5
  ### ルーティングテーブルは一枚、ハーネスは全部。
6
6
 
7
7
  *メインループはもう、どのモデルを使うか迷わない。*<br/>
8
- すべてのサブタスクを、その作業が本当に得意なモデルへ——<br/>
9
- **Claude Code · Codex · Grok Build · Antigravity** を横断、いまのサブスクリプションのままで。
8
+ **Claude Code · Codex · Grok Build · Antigravity** のどれから操縦しても、すべてのサブタスクを<br/>
9
+ その作業が本当に得意なモデルへ——Codex、ClaudeGrok、Gemini、Kimi、Qwen、OpenCode、<br/>
10
+ さらに OpenRouter 経由の任意のホスト型モデル——いまのサブスクリプションのまま、または API キー一つで。
10
11
 
11
12
  <img src="docs/hero.ja.png" alt="omnilane が各サブタスクを Claude Code・Codex・Grok・Antigravity の最適なモデルへ振り分ける" width="820"/>
12
13
 
@@ -20,6 +21,27 @@
20
21
 
21
22
  ---
22
23
 
24
+ ## v0.8.3 の新機能
25
+
26
+ - **MCP サーバー** — `omnilane mcp` は依存ゼロの stdio MCP サーバーを起動し、
27
+ MCP 対応ホスト(Claude Code、Codex、Gemini CLI、Cursor、OpenCode など)が
28
+ スキルなしで omnilane を発見・呼び出しできます:ツールは `route`、
29
+ `jobs_status`、`jobs_result`、`list_lanes`。`route` は読み取り専用の
30
+ advise がデフォルトで、work モードには明示的な workdir が必須です。
31
+
32
+ ## v0.8.2 の新機能
33
+
34
+ - **`openrouter` vendor** — `curl` と `OPENROUTER_API_KEY` だけで
35
+ OpenRouter API に直接ディスパッチ。どの omnilane インストールからでも
36
+ 数百のホスト型モデルに到達でき、コーディングエージェント CLI の追加は
37
+ 不要。advise/consult 専用(ファイル編集不可、work モードは明確に
38
+ エラーで案内)、モデル slug は必須。例:
39
+ `dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`
40
+ - **`opencode` vendor** — マルチプロバイダ集約 CLI OpenCode 経由の
41
+ ヘッドレスディスパッチ(`opencode run`)。advise モードは組み込みの
42
+ 読み取り専用 `plan` エージェントを使用し、work モードは `--auto`。
43
+ デフォルトの `coding-overflow` チェーンの最終フォールバックに追加。
44
+
23
45
  ## v0.8.1 の新機能
24
46
 
25
47
  - **Claude Code プラグインがルーティングリマインダーを自動読み込み** —
@@ -101,8 +123,9 @@ omnilane ui start # 任意:ブラウザでジョブをライブ表示
101
123
  ## 🧭 仕組み
102
124
 
103
125
  omnilane は、**どの** agentic CLI のメインループでも、サブタスクをレーンに
104
- 分類し、各レーンをその作業が最も得意なベンダー CLI へヘッドレスで
105
- ディスパッチさせる仕組みです。既存のサブスクリプションログインをそのまま使います:
126
+ 分類し、各レーンをその作業が最も得意なベンダーへヘッドレスで
127
+ ディスパッチさせる仕組みです。既存のサブスクリプションログインをそのまま
128
+ 使います(`openrouter` vendor は例外:CLI 不要、API キー一つで直接接続):
106
129
 
107
130
  ```mermaid
108
131
  flowchart LR
@@ -149,7 +172,7 @@ flowchart LR
149
172
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 4.8 (high) | 100 万トークン級の長文統合——分析専用、agentic ループ禁止 |
150
173
  | ⚡ fast-agentic | Gemini 3.5 Flash (High) | GPT-5.6 Luna (high) | 高速なマルチステップ agentic ループ、マルチモーダル確認 |
151
174
  | 📡 live-search | Grok 4.5 | —(off) | リアルタイム X/ウェブ検索とソーシャル文脈 |
152
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus | Codex クォータ逼迫時の中級コーディング逃し弁 |
175
+ | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex クォータ逼迫時の中級コーディング逃し弁 |
153
176
  | 🗳️ arbitrate | off(オプトイン) | — | 内蔵オピニオンパネル(重大な判断用)——デフォルト無効。`routing.local.yaml` で有効化;投票者×ラウンドごとに 1 コール消費 |
154
177
 
155
178
  **バックアップ**はチェーンの次の候補——第一候補のベンダー CLI が未インストールの
@@ -230,9 +253,11 @@ omnilane ui stop # 正常に停止
230
253
 
231
254
  ## 📦 インストール
232
255
 
233
- 前提:ルーティングしたいベンダー CLI(`codex`、`claude`、`grok`、`agy`)が
234
- ログイン済みで `PATH` 上にあること——**持っている分だけで OK**、
235
- 足りないレーンは自動的に降格します。
256
+ 前提:ルーティングしたいベンダー CLI(`codex`、`claude`、`grok`、`agy`、
257
+ 任意で `kimi`、`qwen`、`opencode`)がログイン済みで `PATH` 上にあること——
258
+ **持っている分だけで OK**、足りないレーンは自動的に降格します。
259
+ `openrouter` vendor は例外で、CLI は不要——`curl` と環境変数の
260
+ `OPENROUTER_API_KEY` だけで動きます。
236
261
 
237
262
  最速:`./install.sh` — 本機の CLI を検出してスキルを接続し、残りのプラグイン
238
263
  コマンドを表示、実効ルーティングを出力し、最後に対話式設定メニューを
@@ -258,6 +283,28 @@ CLI バージョンにより異なる場合あり)へマーカー付きの可逆
258
283
  - **Antigravity**:`agy plugin install <このリポジトリ>`(先に
259
284
  `agy plugin validate` で確認)
260
285
 
286
+ ### MCP サーバー
287
+
288
+ `omnilane mcp` は依存ゼロでローカル実行される MCP stdio サーバーを起動し、
289
+ MCP 対応ホストがスキルの導入やルーティングリマインダーなしで omnilane を
290
+ 発見・呼び出しできるようにします。ホスト側の設定でインストール済み CLI を
291
+ 指定してください:
292
+
293
+ ```json
294
+ {
295
+ "mcpServers": {
296
+ "omnilane": {
297
+ "command": "omnilane",
298
+ "args": ["mcp"]
299
+ }
300
+ }
301
+ }
302
+ ```
303
+
304
+ サーバーは `route`、`jobs_status`、`jobs_result`、`list_lanes` を公開します。
305
+ `route` のデフォルトは読み取り専用の `advise` モードで、`work` を選ぶ呼び
306
+ 出しには明示的な `workdir` が必須です。
307
+
261
308
  ## ⚙️ カスタマイズ
262
309
 
263
310
  三層、すべて任意:
@@ -312,9 +359,13 @@ configure.sh # 対話式レーンメニ
312
359
  ## 🎭 モード
313
360
 
314
361
  - **advise(デフォルト)** — 読み取り専用ワーカー。Codex は read-only
315
- サンドボックス、Claude は Read/Glob/Grep のみ、Grok は plan モード。
362
+ サンドボックス、Claude は Read/Glob/Grep のみ、Grok は plan モード、
363
+ Kimi と OpenCode はそれぞれの読み取り専用 plan モードに固定、
364
+ OpenRouter は設計上 advise 専用(純推論)。
316
365
  - **work** — 指定した `--workdir` 内でのみファイル編集可。Codex は
317
366
  workspace-write、Claude は編集自動承認、Gemini は accept-edits モード。
367
+ `openrouter` vendor は work モードを明確に拒否します——編集はエージェント型
368
+ CLI ベンダーへ。
318
369
 
319
370
  ## 🔒 安全機構
320
371
 
@@ -368,11 +419,14 @@ configure.sh # 対話式レーンメニ
368
419
 
369
420
  ## 🌱 ステータス
370
421
 
371
- v0.5.1Git 管理外でも Codex `work` を利用可能に保ち、process group の
372
- クリーンアップで停止を制限し、公開バージョン情報を同期します。v0.5.0
373
- インストーラー、ライフサイクル、ジョブストア、期限、診断、リリース CI
374
- 強化も維持します。Grok/Antigravity のコマンドシェル挙動は CLI バージョンで
375
- 変わる可能性があります。issue PR を歓迎します。
422
+ v0.8.38 つのディスパッチベンダーを備えます——4 つのハーネスネイティブ
423
+ (codex、claude、grok、gemini)、3 つの集約/オーバーフロー CLI(kimi、qwen、
424
+ opencode)、そして CLI 不要の `openrouter` 直接 API ベンダー——すべて統一
425
+ runner 契約と契約テスト付き。Claude Code の `SessionStart` 自動リマインダー
426
+ も同梱。kimi、qwen、opencode、openrouter runner はフェイクバイナリで
427
+ 契約テスト済みです。実モデルでの報告を歓迎します。Grok/Antigravity の
428
+ コマンドシェル挙動は CLI バージョンで変わる可能性があります。issue と PR を
429
+ 歓迎します。
376
430
 
377
431
  プロジェクト文書:[コントリビューション](CONTRIBUTING.md) ·
378
432
  [セキュリティ](SECURITY.md) · [変更履歴](CHANGELOG.md)
package/README.ko.md CHANGED
@@ -5,8 +5,9 @@
5
5
  ### 라우팅 테이블 하나로, 모든 하네스를.
6
6
 
7
7
  *메인 루프가 더 이상 어떤 모델을 쓸지 고민하지 않습니다.*<br/>
8
- 모든 서브태스크를 일을 정말 잘하는 모델에게——<br/>
9
- **Claude Code · Codex · Grok Build · Antigravity** 를 가로질러, 이미 내고 있는 구독 그대로.
8
+ **Claude Code · Codex · Grok Build · Antigravity** 어디서 운전하든, 모든 서브태스크를<br/>
9
+ 일을 정말 잘하는 모델에게——Codex, Claude, Grok, Gemini, Kimi, Qwen, OpenCode,<br/>
10
+ 그리고 OpenRouter 를 통한 모든 호스팅 모델까지——이미 내고 있는 구독 그대로, 또는 API 키 하나로.
10
11
 
11
12
  <img src="docs/hero.ko.png" alt="omnilane 이 각 서브태스크를 Claude Code·Codex·Grok·Antigravity 중 가장 잘하는 모델로 보냅니다" width="820"/>
12
13
 
@@ -20,6 +21,27 @@
20
21
 
21
22
  ---
22
23
 
24
+ ## v0.8.3 새 기능
25
+
26
+ - **MCP 서버** — `omnilane mcp` 는 의존성 없는 stdio MCP 서버를 시작하여,
27
+ MCP 지원 호스트(Claude Code, Codex, Gemini CLI, Cursor, OpenCode 등)가
28
+ 스킬 설치 없이 omnilane 을 발견하고 호출할 수 있습니다: 도구는 `route`,
29
+ `jobs_status`, `jobs_result`, `list_lanes`. `route` 는 읽기 전용 advise 가
30
+ 기본값이며, work 모드는 명시적 workdir 이 필요합니다.
31
+
32
+ ## v0.8.2 새 기능
33
+
34
+ - **`openrouter` vendor** — `curl`과 `OPENROUTER_API_KEY`만으로
35
+ OpenRouter API에 직접 디스패치합니다. 어떤 omnilane 설치에서도 수백 개의
36
+ 호스팅 모델에 접근할 수 있으며 코딩 에이전트 CLI를 추가로 설치할 필요가
37
+ 없습니다. advise/consult 전용(파일 편집 불가, work 모드는 명확한 오류로
38
+ 안내)이며 모델 slug는 필수입니다. 예:
39
+ `dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`
40
+ - **`opencode` vendor** — 멀티 프로바이더 집합 CLI OpenCode를 통한
41
+ 헤드리스 디스패치(`opencode run`). advise 모드는 내장 읽기 전용 `plan`
42
+ 에이전트를 사용하고 work 모드는 `--auto`를 사용합니다. 기본
43
+ `coding-overflow` 체인의 마지막 폴백으로 추가되었습니다.
44
+
23
45
  ## v0.8.1 새 기능
24
46
 
25
47
  - **Claude Code 플러그인이 라우팅 리마인더를 자동 로드** — 플러그인에
@@ -101,8 +123,9 @@ omnilane ui start # 선택: 브라우저에서 잡을 실시간 확인
101
123
  ## 🧭 동작 방식
102
124
 
103
125
  omnilane 은 **어떤** agentic CLI 든 메인 루프가 서브태스크를 레인으로 분류하고,
104
- 각 레인을 그 작업에 가장 강한 벤더 CLI 로 헤드리스 디스패치하게 해 줍니다.
105
- 기존 구독 로그인을 그대로 사용합니다:
126
+ 각 레인을 그 작업에 가장 강한 벤더로 헤드리스 디스패치하게 해 줍니다.
127
+ 기존 구독 로그인을 그대로 사용합니다(`openrouter` vendor 는 예외: CLI 없이
128
+ API 키 하나로 직접 연결):
106
129
 
107
130
  ```mermaid
108
131
  flowchart LR
@@ -148,7 +171,7 @@ flowchart LR
148
171
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 4.8 (high) | 100만 토큰급 장문 통합——분석 전용, agentic 루프 금지 |
149
172
  | ⚡ fast-agentic | Gemini 3.5 Flash (High) | GPT-5.6 Luna (high) | 빠른 멀티스텝 agentic 루프, 멀티모달 확인 |
150
173
  | 📡 live-search | Grok 4.5 | —(off) | 실시간 X/웹 검색과 소셜 맥락 |
151
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus | Codex 쿼터 소진 시 중급 코딩 안전 밸브 |
174
+ | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 쿼터 소진 시 중급 코딩 안전 밸브 |
152
175
  | 🗳️ arbitrate | off(옵트인) | — | 내장 의견 패널(중대한 결정용)——기본 비활성. `routing.local.yaml` 에서 활성화;투표자×라운드마다 1콜 소모 |
153
176
 
154
177
  **백업**은 체인의 다음 후보입니다——1순위 벤더 CLI 가 설치되지 않았을 때
@@ -227,8 +250,10 @@ omnilane ui stop # 정상 중지
227
250
 
228
251
  ## 📦 설치
229
252
 
230
- 전제: 라우팅할 벤더 CLI(`codex`, `claude`, `grok`, `agy`)가 로그인된 채
231
- `PATH` 에 있을 것——**가진 것만 있으면 됩니다**, 없는 레인은 자동 강등.
253
+ 전제: 라우팅할 벤더 CLI(`codex`, `claude`, `grok`, `agy`, 선택적으로
254
+ `kimi`, `qwen`, `opencode`)가 로그인된 채 `PATH` 에 있을 것——**가진 것만
255
+ 있으면 됩니다**, 없는 레인은 자동 강등. `openrouter` vendor 는 예외로 CLI 가
256
+ 필요 없습니다——`curl` 과 환경 변수의 `OPENROUTER_API_KEY` 만 있으면 됩니다.
232
257
 
233
258
  가장 빠른 방법: `./install.sh` — 로컬 CLI 를 감지해 스킬을 연결하고, 나머지
234
259
  플러그인 명령을 안내하며, 실효 라우팅을 출력한 뒤 대화형 설정 메뉴를
@@ -252,6 +277,27 @@ omnilane ui stop # 정상 중지
252
277
  - **Antigravity**: `agy plugin install <이 저장소>`(먼저
253
278
  `agy plugin validate` 로 확인)
254
279
 
280
+ ### MCP 서버
281
+
282
+ `omnilane mcp` 는 의존성 없이 로컬에서 실행되는 MCP stdio 서버를 시작하여,
283
+ MCP 지원 호스트가 스킬 설치나 라우팅 리마인더 없이 omnilane 을 발견하고
284
+ 호출할 수 있게 합니다. 호스트 설정에서 설치된 CLI 를 지정하면 됩니다:
285
+
286
+ ```json
287
+ {
288
+ "mcpServers": {
289
+ "omnilane": {
290
+ "command": "omnilane",
291
+ "args": ["mcp"]
292
+ }
293
+ }
294
+ }
295
+ ```
296
+
297
+ 서버는 `route`, `jobs_status`, `jobs_result`, `list_lanes` 를 제공합니다.
298
+ `route` 의 기본값은 읽기 전용 `advise` 모드이며, `work` 를 선택한 호출은
299
+ 명시적 `workdir` 을 함께 제공해야 합니다.
300
+
255
301
  ## ⚙️ 사용자 설정
256
302
 
257
303
  세 계층, 모두 선택 사항:
@@ -305,9 +351,12 @@ CLI 를 사용할 수 없음, `5` 1라운드 성공 투표자 부족, `6` 2라
305
351
  ## 🎭 모드
306
352
 
307
353
  - **advise(기본)** — 읽기 전용 워커. Codex 는 read-only 샌드박스,
308
- Claude 는 Read/Glob/Grep 만, Grok 은 plan 모드.
354
+ Claude 는 Read/Glob/Grep 만, Grok 은 plan 모드, Kimi 와 OpenCode 는 각자의
355
+ 읽기 전용 plan 모드 고정, OpenRouter 는 설계상 advise 전용(순수 추론).
309
356
  - **work** — 지정한 `--workdir` 안에서만 파일 수정 허용. Codex 는
310
357
  workspace-write, Claude 는 편집 자동 승인, Gemini 는 accept-edits 모드.
358
+ `openrouter` vendor 는 work 모드를 명확한 오류로 거부합니다——파일 편집은
359
+ 에이전트형 CLI 벤더로 보내세요.
311
360
 
312
361
  ## 🔒 안전 장치
313
362
 
@@ -358,11 +407,13 @@ CLI 를 사용할 수 없음, `5` 1라운드 성공 투표자 부족, `6` 2라
358
407
 
359
408
  ## 🌱 상태
360
409
 
361
- v0.5.1 Git 저장소 밖에서도 Codex `work` 를 사용할 수 있게 유지하고 process
362
- group 정리로 멈춤을 제한하며 모든 공개 버전 정보를 동기화합니다. v0.5.0 의 설치
363
- 프로그램, 디스패치 수명주기, 저장소, 전체 기한, 진단, 릴리스 CI 강화도 그대로
364
- 유지합니다. Grok/Antigravity 커맨드 동작은 CLI 버전에 따라 달라질 수 있습니다.
365
- issue PR 환영합니다.
410
+ v0.8.3 8개의 디스패치 벤더를 갖춥니다——4개의 하네스 네이티브(codex,
411
+ claude, grok, gemini), 3개의 집합/오버플로 CLI(kimi, qwen, opencode), 그리고
412
+ CLI 필요 없는 `openrouter` 직접 API 벤더——모두 통일 runner 계약과 계약
413
+ 테스트를 갖추었고, Claude Code `SessionStart` 자동 리마인더도 포함합니다.
414
+ kimi, qwen, opencode, openrouter 의 runner 는 페이크 바이너리로 계약 테스트를
415
+ 마쳤습니다. 실제 모델 사용 보고를 환영합니다. Grok/Antigravity 커맨드 셸
416
+ 동작은 CLI 버전에 따라 달라질 수 있습니다. issue 와 PR 환영합니다.
366
417
 
367
418
  프로젝트 문서: [기여 가이드](CONTRIBUTING.md) · [보안 정책](SECURITY.md) ·
368
419
  [변경 기록](CHANGELOG.md)
package/README.md CHANGED
@@ -5,8 +5,9 @@
5
5
  ### One routing table, every harness.
6
6
 
7
7
  *Your main loop stops guessing which model to use.*<br/>
8
- Every subtask goes to the model that is actually best at it across<br/>
9
- **Claude Code · Codex · Grok Build · Antigravity**, on the subscriptions you already pay for.
8
+ Drive it from **Claude Code · Codex · Grok Build · Antigravity**, and every subtask goes<br/>
9
+ to the model that is actually best at it Codex, Claude, Grok, Gemini, Kimi, Qwen, OpenCode,<br/>
10
+ or any hosted model via OpenRouter — on the subscriptions you already pay for, or a single API key.
10
11
 
11
12
  <img src="docs/hero.png" alt="omnilane routes each subtask to the best model across Claude Code, Codex, Grok and Antigravity" width="820"/>
12
13
 
@@ -20,6 +21,27 @@ Every subtask goes to the model that is actually best at it — across<br/>
20
21
 
21
22
  ---
22
23
 
24
+ ## What's new in v0.8.3
25
+
26
+ - **MCP server** — `omnilane mcp` starts a zero-dependency stdio MCP server,
27
+ so any MCP-capable host (Claude Code, Codex, Gemini CLI, Cursor, OpenCode…)
28
+ can discover and call omnilane without installing the skill: tools `route`,
29
+ `jobs_status`, `jobs_result`, and `list_lanes`. `route` defaults to
30
+ read-only advise mode; work mode requires an explicit workdir.
31
+
32
+ ## What's new in v0.8.2
33
+
34
+ - **`openrouter` vendor** — dispatch straight to the OpenRouter API with
35
+ nothing but `curl` and an `OPENROUTER_API_KEY`: hundreds of hosted models
36
+ become reachable from any omnilane install, no coding-agent CLI required.
37
+ Advise/consult only (it cannot edit files; work mode fails with guidance)
38
+ and the model slug is mandatory, e.g.
39
+ `dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`.
40
+ - **`opencode` vendor** — headless dispatch through the OpenCode
41
+ multi-provider aggregator CLI (`opencode run`). Advise mode pins OpenCode's
42
+ built-in read-only `plan` agent; work mode uses `--auto`. Joins the default
43
+ `coding-overflow` chain as its last fallback.
44
+
23
45
  ## What's new in v0.8.1
24
46
 
25
47
  - **Claude Code plugin auto-loads the routing reminder** — the plugin now
@@ -102,8 +124,9 @@ omnilane ui start # optional: watch jobs live in your browser
102
124
  ## 🧭 How it works
103
125
 
104
126
  omnilane lets the main loop of **any** agentic CLI classify subtasks into
105
- lanes and dispatch each lane to the best vendor's CLI — headlessly, using
106
- your existing subscription logins:
127
+ lanes and dispatch each lane to the best vendor — headlessly, using your
128
+ existing subscription logins (or, for the `openrouter` vendor, a direct API
129
+ key with no extra CLI at all):
107
130
 
108
131
  ```mermaid
109
132
  flowchart LR
@@ -150,7 +173,7 @@ flowchart LR
150
173
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 4.8 (high) | 1M-token synthesis — analysis only, never agentic loops |
151
174
  | ⚡ fast-agentic | Gemini 3.5 Flash (High) | GPT-5.6 Luna (high) | Fast multi-step agentic loops, multimodal checks |
152
175
  | 📡 live-search | Grok 4.5 | — (off) | Realtime X/web search and social context |
153
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus | Codex-quota relief valve for mid-tier coding |
176
+ | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex-quota relief valve for mid-tier coding |
154
177
  | 🗳️ 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 |
155
178
 
156
179
  The **backup** is the next candidate in the lane's `routing.yaml` chain — what
@@ -231,8 +254,10 @@ Core routing does not need Python; only this UI requires Python 3.9 or newer.
231
254
  ## 📦 Install
232
255
 
233
256
  Requirements: the vendor CLIs you want to route to, logged in (`codex`,
234
- `claude`, `grok`, `agy`) and on `PATH` install only the ones you have; the
235
- rest of the table degrades automatically.
257
+ `claude`, `grok`, `agy`, and optionally `kimi`, `qwen`, `opencode`) and on
258
+ `PATH` — install only the ones you have; the rest of the table degrades
259
+ automatically. The `openrouter` vendor is the exception: it needs no CLI,
260
+ only `curl` and an `OPENROUTER_API_KEY` in your environment.
236
261
 
237
262
  Quickest: `./install.sh` — symlinks the skill for the CLIs it finds, prints
238
263
  the plugin commands for the rest, shows your effective routing, and offers the
@@ -259,6 +284,27 @@ Rollback the installer-owned links and marked reminders with
259
284
  - **Antigravity**: `agy plugin install <this repo>` (check first with
260
285
  `agy plugin validate <this repo>`)
261
286
 
287
+ ### MCP server
288
+
289
+ `omnilane mcp` starts a zero-dependency, local MCP stdio server so any
290
+ MCP-capable host can discover and call omnilane without installing the skill or
291
+ adding a routing reminder. Configure the host to launch the installed CLI:
292
+
293
+ ```json
294
+ {
295
+ "mcpServers": {
296
+ "omnilane": {
297
+ "command": "omnilane",
298
+ "args": ["mcp"]
299
+ }
300
+ }
301
+ }
302
+ ```
303
+
304
+ The server exposes `route`, `jobs_status`, `jobs_result`, and `list_lanes`.
305
+ `route` defaults to read-only `advise` mode. Calls that select `work` must also
306
+ provide an explicit `workdir`.
307
+
262
308
  ## ⚙️ Configure
263
309
 
264
310
  Three layers, all optional:
@@ -330,11 +376,13 @@ code passes through.
330
376
  ## 🎭 Modes
331
377
 
332
378
  - **advise** (default) — read-only worker. Codex runs in a read-only sandbox;
333
- Claude gets only Read/Glob/Grep; Grok runs in plan mode. Use for reviews,
334
- questions, second opinions.
379
+ Claude gets only Read/Glob/Grep; Grok runs in plan mode; Kimi and OpenCode
380
+ pin their read-only plan modes; OpenRouter is advise-only by design (pure
381
+ inference). Use for reviews, questions, second opinions.
335
382
  - **work** — the worker may edit files, only inside the `--workdir` you name.
336
383
  Codex gets a workspace-write sandbox; Claude auto-accepts edits; Gemini runs
337
- in accept-edits mode.
384
+ in accept-edits mode. The `openrouter` vendor refuses work mode with a clear
385
+ error — route edits to an agentic CLI vendor instead.
338
386
 
339
387
  ## 🔒 Safety rails
340
388
 
@@ -391,11 +439,13 @@ configurator and `routing.local.yaml` exist so you can disagree.
391
439
 
392
440
  ## 🌱 Status
393
441
 
394
- v0.5.1 keeps Codex `work` usable outside Git while bounding stalls with
395
- process-group cleanup, and synchronizes every public version surface. It builds
396
- on v0.5.0's installer, lifecycle, job-store, deadline, diagnostics, and release
397
- CI hardening. Grok/Antigravity command-shell behavior may still vary across CLI
398
- versions. Issues and PRs welcome.
442
+ v0.8.3 spans eight dispatch vendors four harness natives (codex, claude,
443
+ grok, gemini), three aggregator/overflow CLIs (kimi, qwen, opencode), and the
444
+ CLI-free `openrouter` direct-API vendor on the uniform runner contract with
445
+ contract tests, plus the Claude Code `SessionStart` auto-reminder. kimi, qwen,
446
+ opencode, and openrouter runners are contract-tested against fake binaries;
447
+ real-model reports welcome. Grok/Antigravity command-shell behavior may still
448
+ vary across CLI versions. Issues and PRs welcome.
399
449
 
400
450
  Project policies: [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md) ·
401
451
  [Changelog](CHANGELOG.md)
package/README.zh-CN.md CHANGED
@@ -5,8 +5,9 @@
5
5
  ### 一张路由表,四个执行框架通用。
6
6
 
7
7
  *让主循环不再猜要用哪个模型。*<br/>
8
- 每个子任务都派给真正最擅长它的模型——横跨<br/>
9
- **Claude Code · Codex · Grok Build · Antigravity**,直接用你已经在付的订阅。
8
+ 从 **Claude Code · Codex · Grok Build · Antigravity** 任一框架驾驶,每个子任务都派给<br/>
9
+ 真正最擅长它的模型——Codex、ClaudeGrok、Gemini、Kimi、Qwen、OpenCode,<br/>
10
+ 或经 OpenRouter 直达任何托管模型——用你已经在付的订阅,或一把 API 密钥。
10
11
 
11
12
  <img src="docs/hero.zh-CN.png" alt="omnilane 把每个子任务派给 Claude Code、Codex、Grok、Antigravity 中最擅长的模型" width="820"/>
12
13
 
@@ -20,6 +21,25 @@
20
21
 
21
22
  ---
22
23
 
24
+ ## v0.8.3 新功能
25
+
26
+ - **MCP server** — `omnilane mcp` 启动零依赖的 stdio MCP server,任何支持
27
+ MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)无需安装
28
+ skill 即可发现并调用 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
29
+ `list_lanes` 四个工具。`route` 默认只读 advise 模式;work 模式必须明确
30
+ 指定 workdir。
31
+
32
+ ## v0.8.2 新功能
33
+
34
+ - **`openrouter` vendor** — 只需 `curl` 加一个 `OPENROUTER_API_KEY`,
35
+ 即可直连 OpenRouter API 派工:任何 omnilane 安装都能访问数百个
36
+ 托管模型,无需再装任何代理 CLI。仅限 advise/consult(不能改文件,
37
+ work 模式会明确报错指路),模型 slug 必填,例如
38
+ `dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`。
39
+ - **`opencode` vendor** — 通过 OpenCode 多供应商聚合 CLI 无头派工
40
+ (`opencode run`)。advise 模式锁定内置只读 `plan` agent;work 模式
41
+ 用 `--auto`。加入默认 `coding-overflow` 链作为最后回退。
42
+
23
43
  ## v0.8.1 新功能
24
44
 
25
45
  - **Claude Code 插件开场自动载入路由提醒** — 插件新增 `SessionStart`
@@ -90,7 +110,8 @@ omnilane ui start # 可选:在浏览器实时查看派发
90
110
  ## 🧭 工作原理
91
111
 
92
112
  omnilane 让**任何**一个 agentic CLI 的主循环把子任务分类到通道(lane),
93
- 再以无头方式把每条通道派发给该项工作最强的厂商 CLI,直接沿用你已有的订阅登录:
113
+ 再以无头方式把每条通道派发给该项工作最强的厂商——直接沿用你已有的订阅登录
114
+ (`openrouter` vendor 例外:免装任何 CLI,一把 API 密钥直连):
94
115
 
95
116
  ```mermaid
96
117
  flowchart LR
@@ -134,7 +155,7 @@ flowchart LR
134
155
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 4.8 (high) | 百万 token 长文整合——仅限分析,不派 agentic 长链 |
135
156
  | ⚡ fast-agentic | Gemini 3.5 Flash (High) | GPT-5.6 Luna (high) | 快速多步骤 agentic 循环、多模态检查 |
136
157
  | 📡 live-search | Grok 4.5 | —(off) | 实时 X/网络搜索与社群脉络 |
137
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus | Codex 额度吃紧时的中量级编码溢流道;事实性声明须另行查证 |
158
+ | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 额度吃紧时的中量级编码溢流道;事实性声明须另行查证 |
138
159
  | 🗳️ arbitrate | off(可选评审团) | — | 内置意见评审团,重大决定用——默认关闭,要用在 `routing.local.yaml` 打开;每评审每轮烧一次额度 |
139
160
 
140
161
  **备选模型**是候选链的下一位——首选那家的厂商 CLI 没装时,派发就降到它。
@@ -204,8 +225,10 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
204
225
 
205
226
  ## 📦 安装
206
227
 
207
- 前置需求:想路由到的厂商 CLI(`codex`、`claude`、`grok`、`agy`)已登录且在
208
- `PATH` 上——**有几家装几家就好**,缺的通道会自动降级。
228
+ 前置需求:想路由到的厂商 CLI(`codex`、`claude`、`grok`、`agy`,另可选
229
+ `kimi`、`qwen`、`opencode`)已登录且在 `PATH` 上——**有几家装几家就好**,
230
+ 缺的通道会自动降级。`openrouter` vendor 是例外:不需要任何 CLI,只要
231
+ `curl` 和环境变量里的 `OPENROUTER_API_KEY`。
209
232
 
210
233
  最快:`./install.sh` — 自动检测本机的 CLI、接好技能、列出其余的插件安装命令、
211
234
  打印这台机器的生效路由表,最后询问是否进入交互设置菜单(`--uninstall` 可逆)。
@@ -227,6 +250,27 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
227
250
  - **Antigravity**:`agy plugin install <本仓库路径>`(先用
228
251
  `agy plugin validate` 检查)
229
252
 
253
+ ### MCP server
254
+
255
+ `omnilane mcp` 会启动零依赖、跑在本机的 MCP stdio server,让任何支持 MCP
256
+ 的宿主无需安装 skill、也不用加路由提醒,即可发现并调用 omnilane。在宿主
257
+ 配置里指向已安装的 CLI 即可:
258
+
259
+ ```json
260
+ {
261
+ "mcpServers": {
262
+ "omnilane": {
263
+ "command": "omnilane",
264
+ "args": ["mcp"]
265
+ }
266
+ }
267
+ }
268
+ ```
269
+
270
+ Server 提供 `route`、`jobs_status`、`jobs_result`、`list_lanes` 四个工具。
271
+ `route` 默认只读 `advise` 模式;选择 `work` 的调用必须同时提供明确的
272
+ `workdir`。
273
+
230
274
  ## ⚙️ 自定义设置
231
275
 
232
276
  三层,全部可选:
@@ -280,9 +324,11 @@ configure.sh # 交互通道菜单
280
324
  ## 🎭 模式
281
325
 
282
326
  - **advise(默认)** — 只读工作端。Codex 跑只读沙箱;Claude 只给
283
- Read/Glob/Grep;Grok 跑 plan 模式。适合审查、提问、第二意见。
327
+ Read/Glob/Grep;Grok 跑 plan 模式;Kimi 与 OpenCode 锁各自的只读
328
+ plan 模式;OpenRouter 天生只做 advise(纯推理)。适合审查、提问、第二意见。
284
329
  - **work** — 允许改文件,仅限你指定的 `--workdir`。Codex 给
285
330
  workspace-write 沙箱;Claude 自动接受编辑;Gemini 跑 accept-edits 模式。
331
+ `openrouter` vendor 会明确拒绝 work 模式——改文件请走代理式 CLI vendor。
286
332
 
287
333
  ## 🔒 内置安全机制
288
334
 
@@ -334,10 +380,12 @@ configure.sh # 交互通道菜单
334
380
 
335
381
  ## 🌱 状态
336
382
 
337
- v0.5.1 Codex `work` 在非 Git 目录仍可使用,同时以进程组清理限制卡死,
338
- 并同步所有公开版本来源。它延续 v0.5.0 对安装器、派发生命周期、作业存储、
339
- 整体截止时间、诊断和发布 CI 的强化。Grok/Antigravity 命令壳行为仍可能随
340
- CLI 版本变动。欢迎提交 issue PR。
383
+ v0.8.3 共有八个派发 vendor——四个框架原生(codex、claude、grok、gemini)、
384
+ 三个聚合/溢流 CLI(kimi、qwen、opencode),加上免 CLI 的 `openrouter` 直连
385
+ API vendor——全部走统一 runner 契约并附 contract 测试,另有 Claude Code
386
+ `SessionStart` 自动提醒。kimi、qwen、opencode、openrouter runner 以假
387
+ 可执行文件做过契约测试;欢迎反馈真实模型使用经验。Grok/Antigravity 命令壳
388
+ 行为仍可能随 CLI 版本变动。欢迎提交 issue 与 PR。
341
389
 
342
390
  项目文档:[贡献指南](CONTRIBUTING.md) · [安全政策](SECURITY.md) ·
343
391
  [变更记录](CHANGELOG.md)