omnilane 0.8.2 → 0.9.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/CHANGELOG.md +58 -1
- package/README.ja.md +75 -14
- package/README.ko.md +71 -13
- package/README.md +84 -15
- package/README.zh-CN.md +59 -11
- package/README.zh-TW.md +73 -11
- package/VERSION +1 -1
- package/bin/omnilane +12 -3
- package/bin/omnilane-mcp +756 -0
- package/completions/omnilane.fish +50 -0
- package/package.json +1 -1
- package/scripts/check.sh +125 -0
- package/scripts/configure.sh +149 -1
- package/scripts/dispatch.sh +4 -4
- package/scripts/doctor.sh +38 -0
- package/scripts/jobs.sh +132 -10
- package/scripts/lib/common.sh +57 -3
- package/scripts/runners/run-cerebras.sh +7 -0
- package/scripts/runners/run-deepseek.sh +7 -0
- package/scripts/runners/run-groq.sh +7 -0
- package/scripts/runners/run-mistral.sh +7 -0
- package/scripts/runners/run-openai-compat.sh +102 -0
- package/scripts/runners/run-openrouter.sh +5 -84
- package/scripts/runners/run-zai.sh +7 -0
package/README.zh-CN.md
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
### 一张路由表,四个执行框架通用。
|
|
6
6
|
|
|
7
7
|
*让主循环不再猜要用哪个模型。*<br/>
|
|
8
|
-
|
|
9
|
-
|
|
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.zh-CN.png" alt="omnilane 把每个子任务派给 Claude Code、Codex、Grok、Antigravity 中最擅长的模型" width="820"/>
|
|
12
13
|
|
|
@@ -20,6 +21,19 @@
|
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
24
|
+
## v0.9.0 新功能
|
|
25
|
+
|
|
26
|
+
- **新增 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)。
|
|
27
|
+
- **fish shell 补全** — `omnilane completion fish | source`。
|
|
28
|
+
|
|
29
|
+
## v0.8.3 新功能
|
|
30
|
+
|
|
31
|
+
- **MCP server** — `omnilane mcp` 启动零依赖的 stdio MCP server,任何支持
|
|
32
|
+
MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)无需安装
|
|
33
|
+
skill 即可发现并调用 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
|
|
34
|
+
`list_lanes` 四个工具。`route` 默认只读 advise 模式;work 模式必须明确
|
|
35
|
+
指定 workdir。
|
|
36
|
+
|
|
23
37
|
## v0.8.2 新功能
|
|
24
38
|
|
|
25
39
|
- **`openrouter` vendor** — 只需 `curl` 加一个 `OPENROUTER_API_KEY`,
|
|
@@ -101,7 +115,8 @@ omnilane ui start # 可选:在浏览器实时查看派发
|
|
|
101
115
|
## 🧭 工作原理
|
|
102
116
|
|
|
103
117
|
omnilane 让**任何**一个 agentic CLI 的主循环把子任务分类到通道(lane),
|
|
104
|
-
|
|
118
|
+
再以无头方式把每条通道派发给该项工作最强的厂商——直接沿用你已有的订阅登录
|
|
119
|
+
(`openrouter` vendor 例外:免装任何 CLI,一把 API 密钥直连):
|
|
105
120
|
|
|
106
121
|
```mermaid
|
|
107
122
|
flowchart LR
|
|
@@ -121,6 +136,8 @@ flowchart LR
|
|
|
121
136
|
调用对应厂商的 CLI。`--vendor` 会锁定指定厂商,不做降级。
|
|
122
137
|
- **`skills/omnilane/SKILL.md`** — 一份技能四个框架都能加载:
|
|
123
138
|
先认出自己是哪个模型,自己通道的活自己干,其余派出去。
|
|
139
|
+
- **`omnilane mcp`** — 同一套路由改以 MCP stdio server 提供,
|
|
140
|
+
给走 MCP 而非 skill 集成的宿主。
|
|
124
141
|
|
|
125
142
|
<div align="center">
|
|
126
143
|
|
|
@@ -215,8 +232,10 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
|
|
|
215
232
|
|
|
216
233
|
## 📦 安装
|
|
217
234
|
|
|
218
|
-
前置需求:想路由到的厂商 CLI(`codex`、`claude`、`grok`、`agy
|
|
219
|
-
`PATH`
|
|
235
|
+
前置需求:想路由到的厂商 CLI(`codex`、`claude`、`grok`、`agy`,另可选
|
|
236
|
+
`kimi`、`qwen`、`opencode`)已登录且在 `PATH` 上——**有几家装几家就好**,
|
|
237
|
+
缺的通道会自动降级。`openrouter` vendor 是例外:不需要任何 CLI,只要
|
|
238
|
+
`curl` 和环境变量里的 `OPENROUTER_API_KEY`。
|
|
220
239
|
|
|
221
240
|
最快:`./install.sh` — 自动检测本机的 CLI、接好技能、列出其余的插件安装命令、
|
|
222
241
|
打印这台机器的生效路由表,最后询问是否进入交互设置菜单(`--uninstall` 可逆)。
|
|
@@ -238,6 +257,30 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
|
|
|
238
257
|
- **Antigravity**:`agy plugin install <本仓库路径>`(先用
|
|
239
258
|
`agy plugin validate` 检查)
|
|
240
259
|
|
|
260
|
+
### MCP server
|
|
261
|
+
|
|
262
|
+
`omnilane mcp` 会启动零依赖、跑在本机的 MCP stdio server,让任何支持 MCP
|
|
263
|
+
的宿主无需安装 skill、也不用加路由提醒,即可发现并调用 omnilane。在宿主
|
|
264
|
+
配置里指向已安装的 CLI 即可:
|
|
265
|
+
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"mcpServers": {
|
|
269
|
+
"omnilane": {
|
|
270
|
+
"command": "omnilane",
|
|
271
|
+
"args": ["mcp"]
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Server 提供 `route`,以及一组只读查询工具:`list_lanes`、`explain`、`validate`、`dry_run`、`jobs_list`、`jobs_status`、`jobs_result`、`jobs_stats`、`jobs_audit`、`doctor`。
|
|
278
|
+
`route` 默认只读 `advise` 模式;选择 `work` 的调用必须同时提供明确的
|
|
279
|
+
`workdir`。
|
|
280
|
+
|
|
281
|
+
唯一的运行需求是 Node.js(不装任何 npm 包);也可以直接
|
|
282
|
+
`npm install -g omnilane`,CLI 连同 MCP server 一起装好。
|
|
283
|
+
|
|
241
284
|
## ⚙️ 自定义设置
|
|
242
285
|
|
|
243
286
|
三层,全部可选:
|
|
@@ -262,6 +305,8 @@ scripts/dispatch.sh --list # 生效表,标出候选链降级与关闭的通
|
|
|
262
305
|
```
|
|
263
306
|
eval "$(omnilane completion bash)" # 在当前 Bash 启用补全
|
|
264
307
|
source <(omnilane completion zsh) # 在当前 Zsh 启用补全
|
|
308
|
+
omnilane completion fish | source
|
|
309
|
+
omnilane mcp # MCP stdio server(需 Node.js)
|
|
265
310
|
omnilane release-audit [--target 版本] [--json] # 离线、只读的发布闸门
|
|
266
311
|
omnilane ui start # 启动或复用本地 Live UI,输出链接
|
|
267
312
|
omnilane ui status # 查看 Live UI 是否正在运行
|
|
@@ -275,11 +320,15 @@ dispatch.sh [--json] --list [--json]
|
|
|
275
320
|
dispatch.sh [--json] --explain 通道 [--json] # 离线逐候选解释路由决策
|
|
276
321
|
dispatch.sh [--json] --validate [--json] # 离线检查生效路由,不调用模型
|
|
277
322
|
jobs.sh [--json] {list | status 作业ID | result 作业ID} # JSON 结果只回元数据,不回正文
|
|
323
|
+
jobs.sh [--json] list [--lane L] [--vendor V] [--status running|done] # 过滤列表
|
|
278
324
|
jobs.sh wait 作业ID [--timeout N] # 作业退出码;124 超时;125 工作进程消失
|
|
279
|
-
jobs.sh
|
|
325
|
+
jobs.sh cancel 作业ID # 停止运行中的作业:整组 SIGTERM,再 SIGKILL
|
|
326
|
+
jobs.sh rm 作业ID # 删除单个已完成/已死作业(运行中会被拒绝)
|
|
327
|
+
jobs.sh [--json] stats [--last N] [--lane L] [--vendor V] # 本机成功率与路由汇总
|
|
280
328
|
jobs.sh audit [--last N] [--json] # 只读检查作业完整性与隐私
|
|
281
329
|
jobs.sh prune [--keep N] [--apply] # 默认仅预览;只清理已完成作业
|
|
282
330
|
configure.sh # 交互通道菜单
|
|
331
|
+
configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 routing.local.yaml
|
|
283
332
|
```
|
|
284
333
|
|
|
285
334
|
退出码:`2` 用法错误(包括厂商值无效,或指定厂商不在该通道)、`3` 通道已关闭、
|
|
@@ -291,9 +340,11 @@ configure.sh # 交互通道菜单
|
|
|
291
340
|
## 🎭 模式
|
|
292
341
|
|
|
293
342
|
- **advise(默认)** — 只读工作端。Codex 跑只读沙箱;Claude 只给
|
|
294
|
-
Read/Glob/Grep;Grok 跑 plan
|
|
343
|
+
Read/Glob/Grep;Grok 跑 plan 模式;Kimi 与 OpenCode 锁各自的只读
|
|
344
|
+
plan 模式;OpenRouter 天生只做 advise(纯推理)。适合审查、提问、第二意见。
|
|
295
345
|
- **work** — 允许改文件,仅限你指定的 `--workdir`。Codex 给
|
|
296
346
|
workspace-write 沙箱;Claude 自动接受编辑;Gemini 跑 accept-edits 模式。
|
|
347
|
+
`openrouter` vendor 会明确拒绝 work 模式——改文件请走代理式 CLI vendor。
|
|
297
348
|
|
|
298
349
|
## 🔒 内置安全机制
|
|
299
350
|
|
|
@@ -345,10 +396,7 @@ configure.sh # 交互通道菜单
|
|
|
345
396
|
|
|
346
397
|
## 🌱 状态
|
|
347
398
|
|
|
348
|
-
|
|
349
|
-
并同步所有公开版本来源。它延续 v0.5.0 对安装器、派发生命周期、作业存储、
|
|
350
|
-
整体截止时间、诊断和发布 CI 的强化。Grok/Antigravity 命令壳行为仍可能随
|
|
351
|
-
CLI 版本变动。欢迎提交 issue 与 PR。
|
|
399
|
+
omnilane 现有 13 个派工 vendor——4 个框架原生(codex、claude、grok、gemini)、3 个聚合/溢流 CLI(kimi、qwen、opencode),加上 6 个免 CLI 的 OpenAI-compatible direct-API vendor(openrouter、deepseek、zai、mistral、groq、cerebras)——全部走统一 runner 契约并附 contract 测试,另有 Claude Code `SessionStart` 自动提醒与 MCP stdio server 介面(`omnilane mcp`)。direct-API 与聚合 runner 皆以假可执行档做过契约测试;欢迎反馈真实模型使用经验。Grok/Antigravity 命令壳行为仍可能随 CLI 版本变动。欢迎提交 issue 与 PR。
|
|
352
400
|
|
|
353
401
|
项目文档:[贡献指南](CONTRIBUTING.md) · [安全政策](SECURITY.md) ·
|
|
354
402
|
[变更记录](CHANGELOG.md)
|
package/README.zh-TW.md
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
### 一張路由表,四個執行框架通用。
|
|
6
6
|
|
|
7
7
|
*讓主迴圈不再猜要用哪個模型。*<br/>
|
|
8
|
-
|
|
9
|
-
|
|
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.zh-TW.png" alt="omnilane 把每個子任務派給 Claude Code、Codex、Grok、Antigravity 中最擅長的模型" width="820"/>
|
|
12
13
|
|
|
@@ -20,6 +21,22 @@
|
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
24
|
+
## v0.9.0 新功能
|
|
25
|
+
|
|
26
|
+
- **五個 OpenAI-compatible direct-API vendor** — `deepseek`、`zai`(GLM)、
|
|
27
|
+
`mistral`、`groq`、`cerebras`,與 `openrouter` 同為免 CLI 通道(curl 加一把
|
|
28
|
+
`<VENDOR>_API_KEY`);`lib/common.sh` registry 一行即加一個。詳見
|
|
29
|
+
[`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
|
|
30
|
+
- **fish shell 補全** — `omnilane completion fish | source`。
|
|
31
|
+
|
|
32
|
+
## v0.8.3 新功能
|
|
33
|
+
|
|
34
|
+
- **MCP server** — `omnilane mcp` 啟動零依賴的 stdio MCP server,任何支援
|
|
35
|
+
MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)不必安裝
|
|
36
|
+
skill 就能發現並呼叫 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
|
|
37
|
+
`list_lanes` 四個工具。`route` 預設唯讀 advise 模式;work 模式必須明確
|
|
38
|
+
指定 workdir。
|
|
39
|
+
|
|
23
40
|
## v0.8.2 新功能
|
|
24
41
|
|
|
25
42
|
- **`openrouter` vendor** — 只要 `curl` 加一把 `OPENROUTER_API_KEY`,
|
|
@@ -27,6 +44,11 @@
|
|
|
27
44
|
託管模型,不必再裝任何代理 CLI。僅限 advise/consult(不能改檔,
|
|
28
45
|
work 模式會明確報錯指路),模型 slug 必填,例如
|
|
29
46
|
`dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`。
|
|
47
|
+
- **`deepseek`、`zai`、`mistral`、`groq`、`cerebras` vendor** — 與 `openrouter`
|
|
48
|
+
同一條免 CLI 直連 API 路徑,對應 OpenAI-compatible 供應商:DeepSeek、Z.ai GLM、
|
|
49
|
+
Mistral、Groq、Cerebras。各只要 `curl` 加自己那把 `<VENDOR>_API_KEY`;僅限
|
|
50
|
+
advise/consult。端點、金鑰、預設模型由 `lib/common.sh` 一行 registry 定義。
|
|
51
|
+
詳見 [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
|
|
30
52
|
- **`opencode` vendor** — 透過 OpenCode 多供應商聚合 CLI 無頭派工
|
|
31
53
|
(`opencode run`)。advise 模式鎖定內建唯讀 `plan` agent;work 模式
|
|
32
54
|
用 `--auto`。加入預設 `coding-overflow` 鏈作為最後備援。
|
|
@@ -101,7 +123,8 @@ omnilane ui start # 選配:在瀏覽器即時看派工
|
|
|
101
123
|
## 🧭 運作方式
|
|
102
124
|
|
|
103
125
|
omnilane 讓**任何**一個 agentic CLI 的主迴圈把子任務分類到通道(lane),
|
|
104
|
-
|
|
126
|
+
再以無頭方式把每條通道派工給該項工作最強的廠商——直接沿用你既有的訂閱登入
|
|
127
|
+
(`openrouter` vendor 例外:免裝任何 CLI,一把 API 金鑰直連):
|
|
105
128
|
|
|
106
129
|
```mermaid
|
|
107
130
|
flowchart LR
|
|
@@ -121,6 +144,8 @@ flowchart LR
|
|
|
121
144
|
呼叫對應廠商的 CLI。`--vendor` 會鎖定點名廠商,不做降級。
|
|
122
145
|
- **`skills/omnilane/SKILL.md`** — 一份技能四個框架都能載入:
|
|
123
146
|
先認出自己是哪個模型,自己通道的活自己做,其餘派出去。
|
|
147
|
+
- **`omnilane mcp`** — 同一套路由改以 MCP stdio server 提供,
|
|
148
|
+
給走 MCP 而非 skill 整合的宿主。
|
|
124
149
|
|
|
125
150
|
<div align="center">
|
|
126
151
|
|
|
@@ -215,8 +240,10 @@ omnilane ui stop # 正常停止
|
|
|
215
240
|
|
|
216
241
|
## 📦 安裝
|
|
217
242
|
|
|
218
|
-
前置需求:想路由到的廠商 CLI(`codex`、`claude`、`grok`、`agy
|
|
219
|
-
`PATH`
|
|
243
|
+
前置需求:想路由到的廠商 CLI(`codex`、`claude`、`grok`、`agy`,另可選
|
|
244
|
+
`kimi`、`qwen`、`opencode`)已登入且在 `PATH` 上——**有幾家裝幾家就好**,
|
|
245
|
+
缺的通道會自動降級。`openrouter` vendor 是例外:不需要任何 CLI,只要
|
|
246
|
+
`curl` 和環境變數裡的 `OPENROUTER_API_KEY`。
|
|
220
247
|
|
|
221
248
|
最快:`./install.sh` — 自動偵測本機的 CLI、接好技能、列出其餘的外掛安裝指令、
|
|
222
249
|
印出這台機器的生效路由表,最後問你要不要進入互動設定選單(`--uninstall` 可逆)。
|
|
@@ -239,6 +266,30 @@ omnilane ui stop # 正常停止
|
|
|
239
266
|
- **Antigravity**:`agy plugin install <本 repo 路徑>`(先用
|
|
240
267
|
`agy plugin validate` 檢查)
|
|
241
268
|
|
|
269
|
+
### MCP server
|
|
270
|
+
|
|
271
|
+
`omnilane mcp` 會啟動零依賴、跑在本機的 MCP stdio server,讓任何支援 MCP
|
|
272
|
+
的宿主不必安裝 skill、也不用加路由提醒,就能發現並呼叫 omnilane。在宿主
|
|
273
|
+
設定裡指向已安裝的 CLI 即可:
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"mcpServers": {
|
|
278
|
+
"omnilane": {
|
|
279
|
+
"command": "omnilane",
|
|
280
|
+
"args": ["mcp"]
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Server 提供 `route`,以及一組唯讀查詢工具:`list_lanes`、`explain`、`validate`、`dry_run`、`jobs_list`、`jobs_status`、`jobs_result`、`jobs_stats`、`jobs_audit`、`doctor`。
|
|
287
|
+
`route` 預設唯讀 `advise` 模式;選 `work` 的呼叫必須同時提供明確的
|
|
288
|
+
`workdir`。
|
|
289
|
+
|
|
290
|
+
唯一的執行需求是 Node.js(不裝任何 npm 套件);也可以直接
|
|
291
|
+
`npm install -g omnilane`,CLI 連同 MCP server 一起裝好。
|
|
292
|
+
|
|
242
293
|
## ⚙️ 自訂設定
|
|
243
294
|
|
|
244
295
|
三層,全部選用:
|
|
@@ -265,6 +316,7 @@ omnilane list | route … | jobs … | configure # 全域指令,任何目錄
|
|
|
265
316
|
# (install.sh 會連結進 ~/.local/bin)
|
|
266
317
|
eval "$(omnilane completion bash)" # 在目前 Bash 啟用補全
|
|
267
318
|
source <(omnilane completion zsh) # 在目前 Zsh 啟用補全
|
|
319
|
+
omnilane completion fish | source # 在目前 Fish 啟用補全
|
|
268
320
|
omnilane ui start # 啟動或沿用本機 Live UI,印出網址
|
|
269
321
|
omnilane ui status # 查看 Live UI 是否運作中
|
|
270
322
|
omnilane ui url # 印出目前通過驗證的本機網址
|
|
@@ -277,12 +329,17 @@ dispatch.sh [--json] --list [--json]
|
|
|
277
329
|
dispatch.sh [--json] --explain 通道 [--json] # 離線逐候選解釋路由決策
|
|
278
330
|
dispatch.sh [--json] --validate [--json] # 離線檢查生效路由,不呼叫模型
|
|
279
331
|
jobs.sh [--json] {list | status 工作ID | result 工作ID} # JSON 結果只回中繼資料,不回本文
|
|
332
|
+
jobs.sh [--json] list [--lane L] [--vendor V] [--status running|done] # 過濾清單
|
|
280
333
|
jobs.sh wait 工作ID [--timeout N] # 工作結束碼;124 逾時;125 工作者消失
|
|
281
|
-
jobs.sh
|
|
334
|
+
jobs.sh cancel 工作ID # 停止執行中的工作:整組 SIGTERM,再 SIGKILL
|
|
335
|
+
jobs.sh rm 工作ID # 刪除單一已完成/已死工作(執行中會被拒絕)
|
|
336
|
+
jobs.sh [--json] stats [--last N] [--lane L] [--vendor V] # 本機成功率與路由彙整
|
|
282
337
|
jobs.sh audit [--last N] [--json] # 唯讀檢查工作完整性與隱私
|
|
283
338
|
jobs.sh prune [--keep N] [--apply] # 預設只預覽;只清理已完成工作
|
|
339
|
+
omnilane mcp # MCP stdio server(需 Node.js)
|
|
284
340
|
omnilane release-audit [--target 版本] [--json] # 離線、唯讀的發布閘門
|
|
285
341
|
configure.sh # 互動通道選單
|
|
342
|
+
configure.sh set|get|unset|list|diff LANE [SPEC] # 非互動編輯/檢視 routing.local.yaml
|
|
286
343
|
```
|
|
287
344
|
|
|
288
345
|
**重大決定可以開評審團,不是問一個人。**`arbitrate` 通道**預設關閉**——
|
|
@@ -304,9 +361,11 @@ codex/claude/grok/gemini 自選 1-4 個評審。開了之後,同一個問題丟
|
|
|
304
361
|
## 🎭 模式
|
|
305
362
|
|
|
306
363
|
- **advise(預設)** — 唯讀工作端。Codex 跑唯讀沙箱;Claude 只給
|
|
307
|
-
Read/Glob/Grep;Grok 跑 plan
|
|
364
|
+
Read/Glob/Grep;Grok 跑 plan 模式;Kimi 與 OpenCode 鎖各自的唯讀
|
|
365
|
+
plan 模式;OpenRouter 天生只做 advise(純推論)。適合審查、提問、第二意見。
|
|
308
366
|
- **work** — 允許改檔案,僅限你指定的 `--workdir`。Codex 給
|
|
309
367
|
workspace-write 沙箱;Claude 自動接受編輯;Gemini 跑 accept-edits 模式。
|
|
368
|
+
`openrouter` vendor 會明確拒絕 work 模式——改檔請走代理式 CLI vendor。
|
|
310
369
|
|
|
311
370
|
## 🔒 內建安全機制
|
|
312
371
|
|
|
@@ -355,10 +414,13 @@ codex/claude/grok/gemini 自選 1-4 個評審。開了之後,同一個問題丟
|
|
|
355
414
|
|
|
356
415
|
## 🌱 狀態
|
|
357
416
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
417
|
+
omnilane 現有十三個派工 vendor——四個框架原生(codex、claude、grok、gemini)、
|
|
418
|
+
三個聚合/溢流 CLI(kimi、qwen、opencode),加上六個免 CLI 的 OpenAI-compatible
|
|
419
|
+
直連 API vendor(openrouter、deepseek、zai、mistral、groq、cerebras)——全部走
|
|
420
|
+
統一 runner 契約並附 contract 測試,另有 Claude Code `SessionStart` 自動提醒與
|
|
421
|
+
MCP stdio server 介面(`omnilane mcp`)。直連 API 與聚合 runner 皆以假
|
|
422
|
+
執行檔做過契約測試;歡迎回報真實模型使用經驗。Grok/Antigravity 指令殼行為
|
|
423
|
+
仍可能隨 CLI 版本變動。歡迎回報 issue 與 PR。
|
|
362
424
|
|
|
363
425
|
專案文件:[貢獻指南](CONTRIBUTING.md) · [安全政策](SECURITY.md) ·
|
|
364
426
|
[變更紀錄](CHANGELOG.md)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.9.0
|
package/bin/omnilane
CHANGED
|
@@ -31,15 +31,23 @@ case "$cmd" in
|
|
|
31
31
|
list) exec bash "$REPO/scripts/dispatch.sh" --list ;;
|
|
32
32
|
route|dispatch) exec bash "$REPO/scripts/dispatch.sh" "$@" ;;
|
|
33
33
|
jobs) exec bash "$REPO/scripts/jobs.sh" "$@" ;;
|
|
34
|
+
mcp)
|
|
35
|
+
command -v node >/dev/null 2>&1 || {
|
|
36
|
+
echo "omnilane: mcp requires Node.js on PATH" >&2
|
|
37
|
+
exit 1
|
|
38
|
+
}
|
|
39
|
+
exec node "$REPO/bin/omnilane-mcp" "$@"
|
|
40
|
+
;;
|
|
34
41
|
completion)
|
|
35
42
|
[[ $# -eq 1 ]] || {
|
|
36
|
-
echo "usage: omnilane completion bash|zsh" >&2
|
|
43
|
+
echo "usage: omnilane completion bash|zsh|fish" >&2
|
|
37
44
|
exit 2
|
|
38
45
|
}
|
|
39
46
|
case "$1" in
|
|
40
47
|
bash) cat "$REPO/completions/omnilane.bash" ;;
|
|
41
48
|
zsh) cat "$REPO/completions/_omnilane" ;;
|
|
42
|
-
|
|
49
|
+
fish) cat "$REPO/completions/omnilane.fish" ;;
|
|
50
|
+
*) echo "usage: omnilane completion bash|zsh|fish" >&2; exit 2 ;;
|
|
43
51
|
esac
|
|
44
52
|
;;
|
|
45
53
|
release-audit) exec bash "$REPO/scripts/release-audit.sh" "$@" ;;
|
|
@@ -61,7 +69,8 @@ omnilane — one routing table, every harness
|
|
|
61
69
|
omnilane route [--vendor V] [flags] LANE "TASK"
|
|
62
70
|
dispatch or consult a model
|
|
63
71
|
omnilane jobs [--json] COMMAND [ARGS] list, status, result, stats, wait, or audit
|
|
64
|
-
omnilane
|
|
72
|
+
omnilane mcp start the MCP stdio server
|
|
73
|
+
omnilane completion bash|zsh|fish print a shell completion script
|
|
65
74
|
omnilane release-audit [flags] offline, read-only release gate
|
|
66
75
|
omnilane doctor [--json] read-only local health report
|
|
67
76
|
omnilane ui start|status|url|stop
|