omnilane 0.8.3 → 0.9.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/CHANGELOG.md +65 -1
- package/README.ja.md +147 -87
- package/README.ko.md +145 -86
- package/README.md +163 -90
- package/README.zh-CN.md +126 -78
- package/README.zh-TW.md +136 -74
- package/VERSION +1 -1
- package/bin/omnilane +4 -3
- package/bin/omnilane-mcp +291 -0
- package/completions/omnilane.fish +50 -0
- package/package.json +1 -1
- package/scripts/check.sh +125 -0
- package/scripts/configure.sh +151 -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
|
@@ -21,92 +21,50 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## 👋 第一次用?
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
skill 即可发现并调用 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
|
|
29
|
-
`list_lanes` 四个工具。`route` 默认只读 advise 模式;work 模式必须明确
|
|
30
|
-
指定 workdir。
|
|
26
|
+
你已经在用某个 AI 写程式助手——**Claude Code、Codex、Cursor、Gemini
|
|
27
|
+
CLI** 之类。每个一次只接一个 AI 模型,而「每件工作该用哪个模型最好」得你自己决定。
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
**omnilane 帮你决定。** 每一件工作,它会自动派给对那件事最强(也最省)的模型——硬派程式
|
|
30
|
+
交给顶尖程式模型、随手的小检查交给又快又便宜的、长文件交给大脉络模型——全部用你本来就在
|
|
31
|
+
付费的订阅与 API 金钥。用内建预设值就好,或改一个小设定档就能微调。不用另外顾一套东西
|
|
32
|
+
(它躲在你现有工具背后跑),`./install.sh --uninstall` 可干净移除。
|
|
33
33
|
|
|
34
|
-
|
|
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` 链作为最后回退。
|
|
34
|
+
**[⬇ 直接跳到 60 秒上手](#-60-秒上手)**
|
|
42
35
|
|
|
43
|
-
## v0.
|
|
36
|
+
## v0.9.1 新功能
|
|
44
37
|
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
注入路由提醒,安装插件即生效,无需修改 `~/.claude/CLAUDE.md`。其他
|
|
48
|
-
CLI 仍使用 `install.sh` 的指令文件提醒。
|
|
38
|
+
- **修复**:`configure set` 不再删除 `routing.local.yaml` 中手写的注释——
|
|
39
|
+
只改写自身的戳记行与被替换的 lane。
|
|
49
40
|
|
|
50
|
-
## v0.
|
|
51
|
-
|
|
52
|
-
- **两个新派工 vendor** — `kimi`(Moonshot Kimi Code CLI)与 `qwen`
|
|
53
|
-
(Alibaba Qwen Code CLI)加入,沿用统一 runner 契约:advise 只读、
|
|
54
|
-
work 自动批准、剥除 API key 环境变量改用 CLI 自身订阅登录、空输出
|
|
55
|
-
视为失败。可用 `--vendor kimi|qwen` 直接指定。
|
|
56
|
-
- **coding-overflow 新增备选链** — 额度溢流道改为 grok → kimi → qwen
|
|
57
|
-
再到 `off`,三家装任一家即可用。runner 以假可执行文件完成契约测试;
|
|
58
|
-
欢迎反馈真实模型实测结果。
|
|
41
|
+
## v0.9.0 新功能
|
|
59
42
|
|
|
60
|
-
|
|
43
|
+
- **新增 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)。
|
|
44
|
+
- **fish shell 补全** — `omnilane completion fish | source`。
|
|
61
45
|
|
|
62
|
-
|
|
63
|
-
**max** 档位:Artificial Analysis Coding Agent Index v1.1 测得 Sol (max)
|
|
64
|
-
80 分为当前最高,替换旧的「xhigh 胜 max」快照。
|
|
65
|
-
- **Claude 备选升档** — hardest-coding 与 hard-judgment 的 Claude Opus 4.8
|
|
66
|
-
备选改为 **xhigh**,依 Anthropic 官方对困难任务与长时间工作的建议。
|
|
67
|
-
|
|
68
|
-
## v0.7.0 新功能
|
|
69
|
-
|
|
70
|
-
- **先预览再派工** — `--dry-run` 打印完整解析后的派工计划(vendor、模型、
|
|
71
|
-
模式、超时、副作用判定),不调用模型、不创建作业状态。
|
|
72
|
-
- **版本化 JSON 自动化** — `--list`/`--explain`/`--validate` 与
|
|
73
|
-
`jobs list|status|result|stats` 都提供 `--json` 信封;另有只读 `jobs wait`、
|
|
74
|
-
`jobs audit`,以及带可复现 manifest 的离线 `omnilane release-audit` 发布审计。
|
|
75
|
-
- **本地作业一条龙** — `jobs tail` 查看实时输出、`jobs retry` 以 fail-closed
|
|
76
|
-
方式重派已完成作业、`prune --older-than` 按时间清理,`--help` 覆盖所有命令。
|
|
77
|
-
- **安装与补全更安全** — `install.sh --check`/`--dry-run` 只读报告漂移,
|
|
78
|
-
`omnilane completion bash|zsh` 提供安全的 tab 补全,并修复五个 macOS 自带
|
|
79
|
-
Bash 3.2 崩溃。
|
|
80
|
-
|
|
81
|
-
## v0.6.0 新功能
|
|
82
|
-
|
|
83
|
-
- **离线理解并验证路由** — 使用 `--explain` 查看每个备用候选,或使用
|
|
84
|
-
`--validate` 检查完整生效路由表;都不会调用模型或创建作业状态。
|
|
85
|
-
- **用机器可读数据观察本地状态** — `jobs.sh stats` 提供有界统计,
|
|
86
|
-
`omnilane doctor --json` 提供健康检查,同时不会泄漏任务或结果正文。
|
|
87
|
-
- **在 Live Board 比较两条作业** — 将一条已加载作业固定为仅存在于内存中的
|
|
88
|
-
参考快照,并排比较模型路径与公开结果。
|
|
89
|
-
- **让锁恢复更安静** — 所有者文件在检查与读取之间消失时,不再泄漏容易误判的
|
|
90
|
-
缺失文件诊断,同时保持 fail-closed。
|
|
46
|
+
## ⚡ 60 秒上手
|
|
91
47
|
|
|
92
|
-
|
|
48
|
+
**最快的方式——用 npm 装:**
|
|
93
49
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
50
|
+
```bash
|
|
51
|
+
npm i -g omnilane # 装 CLI
|
|
52
|
+
omnilane route hardest-coding "修掉会间歇失败的 auth token 更新测试"
|
|
53
|
+
omnilane doctor # 看你手上有哪些 AI CLI / 金钥
|
|
54
|
+
omnilane ui start # 选配:在浏览器即时看派工
|
|
55
|
+
```
|
|
100
56
|
|
|
101
|
-
|
|
57
|
+
**或 clone 整包**(拿到路由表与可自订的技能):
|
|
102
58
|
|
|
103
59
|
```bash
|
|
104
60
|
git clone https://github.com/Seraphim0916/omnilane && cd omnilane
|
|
105
|
-
./install.sh #
|
|
106
|
-
omnilane route hardest-coding "
|
|
107
|
-
omnilane ui start # 可选:在浏览器实时查看派发
|
|
61
|
+
./install.sh # 侦测你的 CLI、接好技能、说你的语言
|
|
62
|
+
omnilane route hardest-coding "修掉会间歇失败的 auth token 更新测试"
|
|
108
63
|
```
|
|
109
64
|
|
|
65
|
+
> 第一次用?先跑 `omnilane doctor`——它会告诉你 omnilane 现在能接到哪些模型 CLI 与
|
|
66
|
+
> API 金钥,你就知道实际会跑什么。
|
|
67
|
+
|
|
110
68
|
## 🧭 工作原理
|
|
111
69
|
|
|
112
70
|
omnilane 让**任何**一个 agentic CLI 的主循环把子任务分类到通道(lane),
|
|
@@ -131,6 +89,8 @@ flowchart LR
|
|
|
131
89
|
调用对应厂商的 CLI。`--vendor` 会锁定指定厂商,不做降级。
|
|
132
90
|
- **`skills/omnilane/SKILL.md`** — 一份技能四个框架都能加载:
|
|
133
91
|
先认出自己是哪个模型,自己通道的活自己干,其余派出去。
|
|
92
|
+
- **`omnilane mcp`** — 同一套路由改以 MCP stdio server 提供,
|
|
93
|
+
给走 MCP 而非 skill 集成的宿主。
|
|
134
94
|
|
|
135
95
|
<div align="center">
|
|
136
96
|
|
|
@@ -267,10 +227,13 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
|
|
|
267
227
|
}
|
|
268
228
|
```
|
|
269
229
|
|
|
270
|
-
Server 提供 `route`、`jobs_status`、`jobs_result`、`
|
|
230
|
+
Server 提供 `route`,以及一组只读查询工具:`list_lanes`、`explain`、`validate`、`dry_run`、`jobs_list`、`jobs_status`、`jobs_result`、`jobs_stats`、`jobs_audit`、`doctor`。
|
|
271
231
|
`route` 默认只读 `advise` 模式;选择 `work` 的调用必须同时提供明确的
|
|
272
232
|
`workdir`。
|
|
273
233
|
|
|
234
|
+
唯一的运行需求是 Node.js(不装任何 npm 包);也可以直接
|
|
235
|
+
`npm install -g omnilane`,CLI 连同 MCP server 一起装好。
|
|
236
|
+
|
|
274
237
|
## ⚙️ 自定义设置
|
|
275
238
|
|
|
276
239
|
三层,全部可选:
|
|
@@ -295,6 +258,8 @@ scripts/dispatch.sh --list # 生效表,标出候选链降级与关闭的通
|
|
|
295
258
|
```
|
|
296
259
|
eval "$(omnilane completion bash)" # 在当前 Bash 启用补全
|
|
297
260
|
source <(omnilane completion zsh) # 在当前 Zsh 启用补全
|
|
261
|
+
omnilane completion fish | source
|
|
262
|
+
omnilane mcp # MCP stdio server(需 Node.js)
|
|
298
263
|
omnilane release-audit [--target 版本] [--json] # 离线、只读的发布闸门
|
|
299
264
|
omnilane ui start # 启动或复用本地 Live UI,输出链接
|
|
300
265
|
omnilane ui status # 查看 Live UI 是否正在运行
|
|
@@ -308,11 +273,15 @@ dispatch.sh [--json] --list [--json]
|
|
|
308
273
|
dispatch.sh [--json] --explain 通道 [--json] # 离线逐候选解释路由决策
|
|
309
274
|
dispatch.sh [--json] --validate [--json] # 离线检查生效路由,不调用模型
|
|
310
275
|
jobs.sh [--json] {list | status 作业ID | result 作业ID} # JSON 结果只回元数据,不回正文
|
|
276
|
+
jobs.sh [--json] list [--lane L] [--vendor V] [--status running|done] # 过滤列表
|
|
311
277
|
jobs.sh wait 作业ID [--timeout N] # 作业退出码;124 超时;125 工作进程消失
|
|
312
|
-
jobs.sh
|
|
278
|
+
jobs.sh cancel 作业ID # 停止运行中的作业:整组 SIGTERM,再 SIGKILL
|
|
279
|
+
jobs.sh rm 作业ID # 删除单个已完成/已死作业(运行中会被拒绝)
|
|
280
|
+
jobs.sh [--json] stats [--last N] [--lane L] [--vendor V] # 本机成功率与路由汇总
|
|
313
281
|
jobs.sh audit [--last N] [--json] # 只读检查作业完整性与隐私
|
|
314
282
|
jobs.sh prune [--keep N] [--apply] # 默认仅预览;只清理已完成作业
|
|
315
283
|
configure.sh # 交互通道菜单
|
|
284
|
+
configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 routing.local.yaml
|
|
316
285
|
```
|
|
317
286
|
|
|
318
287
|
退出码:`2` 用法错误(包括厂商值无效,或指定厂商不在该通道)、`3` 通道已关闭、
|
|
@@ -378,14 +347,93 @@ configure.sh # 交互通道菜单
|
|
|
378
347
|
外卡住,因此上面的自动保险丝会限制这个场景并清理受监工的进程组。Omnilane
|
|
379
348
|
不会自动执行 `git init`,也不要求用户创建仓库。
|
|
380
349
|
|
|
350
|
+
## 📜 版本历程
|
|
351
|
+
|
|
352
|
+
<details>
|
|
353
|
+
<summary>旧版本(v0.8.3 以前)</summary>
|
|
354
|
+
|
|
355
|
+
## v0.8.3 新功能
|
|
356
|
+
|
|
357
|
+
- **MCP server** — `omnilane mcp` 启动零依赖的 stdio MCP server,任何支持
|
|
358
|
+
MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)无需安装
|
|
359
|
+
skill 即可发现并调用 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
|
|
360
|
+
`list_lanes` 四个工具。`route` 默认只读 advise 模式;work 模式必须明确
|
|
361
|
+
指定 workdir。
|
|
362
|
+
|
|
363
|
+
## v0.8.2 新功能
|
|
364
|
+
|
|
365
|
+
- **`openrouter` vendor** — 只需 `curl` 加一个 `OPENROUTER_API_KEY`,
|
|
366
|
+
即可直连 OpenRouter API 派工:任何 omnilane 安装都能访问数百个
|
|
367
|
+
托管模型,无需再装任何代理 CLI。仅限 advise/consult(不能改文件,
|
|
368
|
+
work 模式会明确报错指路),模型 slug 必填,例如
|
|
369
|
+
`dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`。
|
|
370
|
+
- **`opencode` vendor** — 通过 OpenCode 多供应商聚合 CLI 无头派工
|
|
371
|
+
(`opencode run`)。advise 模式锁定内置只读 `plan` agent;work 模式
|
|
372
|
+
用 `--auto`。加入默认 `coding-overflow` 链作为最后回退。
|
|
373
|
+
|
|
374
|
+
## v0.8.1 新功能
|
|
375
|
+
|
|
376
|
+
- **Claude Code 插件开场自动载入路由提醒** — 插件新增 `SessionStart`
|
|
377
|
+
hook(`hooks/hooks.json`),在会话开始(`startup|resume|clear`)时自动
|
|
378
|
+
注入路由提醒,安装插件即生效,无需修改 `~/.claude/CLAUDE.md`。其他
|
|
379
|
+
CLI 仍使用 `install.sh` 的指令文件提醒。
|
|
380
|
+
|
|
381
|
+
## v0.8.0 新功能
|
|
382
|
+
|
|
383
|
+
- **两个新派工 vendor** — `kimi`(Moonshot Kimi Code CLI)与 `qwen`
|
|
384
|
+
(Alibaba Qwen Code CLI)加入,沿用统一 runner 契约:advise 只读、
|
|
385
|
+
work 自动批准、剥除 API key 环境变量改用 CLI 自身订阅登录、空输出
|
|
386
|
+
视为失败。可用 `--vendor kimi|qwen` 直接指定。
|
|
387
|
+
- **coding-overflow 新增备选链** — 额度溢流道改为 grok → kimi → qwen
|
|
388
|
+
再到 `off`,三家装任一家即可用。runner 以假可执行文件完成契约测试;
|
|
389
|
+
欢迎反馈真实模型实测结果。
|
|
390
|
+
|
|
391
|
+
## v0.7.1 新功能
|
|
392
|
+
|
|
393
|
+
- **路由表更新(2026-07 模型数据)** — hardest-coding 首选改为 GPT-5.6 Sol
|
|
394
|
+
**max** 档位:Artificial Analysis Coding Agent Index v1.1 测得 Sol (max)
|
|
395
|
+
80 分为当前最高,替换旧的「xhigh 胜 max」快照。
|
|
396
|
+
- **Claude 备选升档** — hardest-coding 与 hard-judgment 的 Claude Opus 4.8
|
|
397
|
+
备选改为 **xhigh**,依 Anthropic 官方对困难任务与长时间工作的建议。
|
|
398
|
+
|
|
399
|
+
## v0.7.0 新功能
|
|
400
|
+
|
|
401
|
+
- **先预览再派工** — `--dry-run` 打印完整解析后的派工计划(vendor、模型、
|
|
402
|
+
模式、超时、副作用判定),不调用模型、不创建作业状态。
|
|
403
|
+
- **版本化 JSON 自动化** — `--list`/`--explain`/`--validate` 与
|
|
404
|
+
`jobs list|status|result|stats` 都提供 `--json` 信封;另有只读 `jobs wait`、
|
|
405
|
+
`jobs audit`,以及带可复现 manifest 的离线 `omnilane release-audit` 发布审计。
|
|
406
|
+
- **本地作业一条龙** — `jobs tail` 查看实时输出、`jobs retry` 以 fail-closed
|
|
407
|
+
方式重派已完成作业、`prune --older-than` 按时间清理,`--help` 覆盖所有命令。
|
|
408
|
+
- **安装与补全更安全** — `install.sh --check`/`--dry-run` 只读报告漂移,
|
|
409
|
+
`omnilane completion bash|zsh` 提供安全的 tab 补全,并修复五个 macOS 自带
|
|
410
|
+
Bash 3.2 崩溃。
|
|
411
|
+
|
|
412
|
+
## v0.6.0 新功能
|
|
413
|
+
|
|
414
|
+
- **离线理解并验证路由** — 使用 `--explain` 查看每个备用候选,或使用
|
|
415
|
+
`--validate` 检查完整生效路由表;都不会调用模型或创建作业状态。
|
|
416
|
+
- **用机器可读数据观察本地状态** — `jobs.sh stats` 提供有界统计,
|
|
417
|
+
`omnilane doctor --json` 提供健康检查,同时不会泄漏任务或结果正文。
|
|
418
|
+
- **在 Live Board 比较两条作业** — 将一条已加载作业固定为仅存在于内存中的
|
|
419
|
+
参考快照,并排比较模型路径与公开结果。
|
|
420
|
+
- **让锁恢复更安静** — 所有者文件在检查与读取之间消失时,不再泄漏容易误判的
|
|
421
|
+
缺失文件诊断,同时保持 fail-closed。
|
|
422
|
+
|
|
423
|
+
## v0.5.1 新功能
|
|
424
|
+
|
|
425
|
+
- **在非 Git 目录使用 Codex work** — 普通文件夹仍完整支持;Omnilane 不要求,
|
|
426
|
+
也绝不会自动执行 `git init`。
|
|
427
|
+
- **干净停止非 Git 卡死** — 未设置整体上限时,解析后的单次看门狗会自动成为
|
|
428
|
+
进程组保险丝,同时保留手动 timeout 的优先级和退出码语义。
|
|
429
|
+
- **让版本显示可信** — `VERSION` 现在统一提供给 `omnilane --version` 和两份
|
|
430
|
+
plugin manifest,CI 会检查变更记录和五种语言 README 是否一致。
|
|
431
|
+
|
|
432
|
+
</details>
|
|
433
|
+
|
|
381
434
|
## 🌱 状态
|
|
382
435
|
|
|
383
|
-
|
|
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。
|
|
436
|
+
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。
|
|
389
437
|
|
|
390
438
|
项目文档:[贡献指南](CONTRIBUTING.md) · [安全政策](SECURITY.md) ·
|
|
391
439
|
[变更记录](CHANGELOG.md)
|
package/README.zh-TW.md
CHANGED
|
@@ -21,92 +21,53 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
##
|
|
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。
|
|
24
|
+
## 👋 第一次用?
|
|
31
25
|
|
|
32
|
-
|
|
26
|
+
你已經在用某個 AI 寫程式助手——**Claude Code、Codex、Cursor、Gemini
|
|
27
|
+
CLI** 之類。每個一次只接一個 AI 模型,而「每件工作該用哪個模型最好」得你自己決定。
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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` 鏈作為最後備援。
|
|
29
|
+
**omnilane 幫你決定。** 每一件工作,它會自動派給對那件事最強(也最省)的模型——硬派程式
|
|
30
|
+
交給頂尖程式模型、隨手的小檢查交給又快又便宜的、長文件交給大脈絡模型——全部用你本來就在
|
|
31
|
+
付費的訂閱與 API 金鑰。用內建預設值就好,或改一個小設定檔就能微調。不用另外顧一套東西
|
|
32
|
+
(它躲在你現有工具背後跑),`./install.sh --uninstall` 可乾淨移除。
|
|
42
33
|
|
|
43
|
-
|
|
34
|
+
**[⬇ 直接跳到 60 秒上手](#-60-秒上手)**
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
hook(`hooks/hooks.json`),於開場(`startup|resume|clear`)自動注入
|
|
47
|
-
路由提醒,裝外掛即生效,不必修改 `~/.claude/CLAUDE.md`。其他 CLI
|
|
48
|
-
仍走 `install.sh` 的指令檔提醒。
|
|
49
|
-
|
|
50
|
-
## v0.8.0 新功能
|
|
51
|
-
|
|
52
|
-
- **兩個新派工 vendor** — `kimi`(Moonshot Kimi Code CLI)與 `qwen`
|
|
53
|
-
(Alibaba Qwen Code CLI)加入,沿用統一 runner 契約:advise 唯讀、
|
|
54
|
-
work 自動核准、剝除 API key 環境變數改用 CLI 自身訂閱登入、空輸出
|
|
55
|
-
視為失敗。可用 `--vendor kimi|qwen` 直接點名。
|
|
56
|
-
- **coding-overflow 長出備援鏈** — 額度溢流道改為 grok → kimi → qwen
|
|
57
|
-
再到 `off`,三家裝任一家即可用。runner 以假執行檔完成契約測試;
|
|
58
|
-
歡迎回報真實模型實測結果。
|
|
59
|
-
|
|
60
|
-
## v0.7.1 新功能
|
|
61
|
-
|
|
62
|
-
- **路由表更新(2026-07 模型數據)** — hardest-coding 首選改為 GPT-5.6 Sol
|
|
63
|
-
**max** 檔位:Artificial Analysis Coding Agent Index v1.1 測得 Sol (max)
|
|
64
|
-
80 分為現任最高,汰換舊的「xhigh 勝 max」快照。
|
|
65
|
-
- **Claude 備援升檔** — hardest-coding 與 hard-judgment 的 Claude Opus 4.8
|
|
66
|
-
備援改為 **xhigh**,依 Anthropic 官方對困難任務與長時間工作的建議。
|
|
36
|
+
## v0.9.1 新功能
|
|
67
37
|
|
|
68
|
-
|
|
38
|
+
- **修正**:`configure set` 不再刪掉 `routing.local.yaml` 裡手寫的註解——
|
|
39
|
+
只改寫自身的戳記行與被取代的 lane。
|
|
69
40
|
|
|
70
|
-
|
|
71
|
-
模式、逾時、副作用判定),不呼叫模型、不建立工作狀態。
|
|
72
|
-
- **版本化 JSON 自動化** — `--list`/`--explain`/`--validate` 與
|
|
73
|
-
`jobs list|status|result|stats` 都有 `--json` 信封;另有唯讀 `jobs wait`、
|
|
74
|
-
`jobs audit`,以及帶可重現 manifest 的離線 `omnilane release-audit` 發佈稽核。
|
|
75
|
-
- **本機工作一條龍** — `jobs tail` 窺看即時輸出、`jobs retry` 以 fail-closed
|
|
76
|
-
方式重派已完成工作、`prune --older-than` 依時間清理,`--help` 覆蓋所有指令。
|
|
77
|
-
- **安裝與補全更安全** — `install.sh --check`/`--dry-run` 唯讀回報漂移,
|
|
78
|
-
`omnilane completion bash|zsh` 提供安全的 tab 補全,並修復五個 macOS 原生
|
|
79
|
-
Bash 3.2 崩潰。
|
|
41
|
+
## v0.9.0 新功能
|
|
80
42
|
|
|
81
|
-
|
|
43
|
+
- **五個 OpenAI-compatible direct-API vendor** — `deepseek`、`zai`(GLM)、
|
|
44
|
+
`mistral`、`groq`、`cerebras`,與 `openrouter` 同為免 CLI 通道(curl 加一把
|
|
45
|
+
`<VENDOR>_API_KEY`);`lib/common.sh` registry 一行即加一個。詳見
|
|
46
|
+
[`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
|
|
47
|
+
- **fish shell 補全** — `omnilane completion fish | source`。
|
|
82
48
|
|
|
83
|
-
|
|
84
|
-
`--validate` 檢查完整生效路由表;都不會呼叫模型或建立工作狀態。
|
|
85
|
-
- **用機器可讀資料觀察本機狀態** — `jobs.sh stats` 提供有界統計,
|
|
86
|
-
`omnilane doctor --json` 提供健康檢查,又不會洩漏任務或結果正文。
|
|
87
|
-
- **在 Live Board 比較兩筆工作** — 把一筆已載入工作釘成只存在記憶體的
|
|
88
|
-
參考快照,並排比較模型路徑與公開結果。
|
|
89
|
-
- **讓鎖恢復更安靜** — 擁有者檔案在檢查與讀取間消失時,不再洩漏容易誤判的
|
|
90
|
-
缺檔診斷,同時維持 fail-closed。
|
|
49
|
+
## ⚡ 60 秒上手
|
|
91
50
|
|
|
92
|
-
|
|
51
|
+
**最快的方式——用 npm 裝:**
|
|
93
52
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
53
|
+
```bash
|
|
54
|
+
npm i -g omnilane # 裝 CLI
|
|
55
|
+
omnilane route hardest-coding "修掉會間歇失敗的 auth token 更新測試"
|
|
56
|
+
omnilane doctor # 看你手上有哪些 AI CLI / 金鑰
|
|
57
|
+
omnilane ui start # 選配:在瀏覽器即時看派工
|
|
58
|
+
```
|
|
100
59
|
|
|
101
|
-
|
|
60
|
+
**或 clone 整包**(拿到路由表與可自訂的技能):
|
|
102
61
|
|
|
103
62
|
```bash
|
|
104
63
|
git clone https://github.com/Seraphim0916/omnilane && cd omnilane
|
|
105
64
|
./install.sh # 偵測你的 CLI、接好技能、說你的語言
|
|
106
65
|
omnilane route hardest-coding "修掉會間歇失敗的 auth token 更新測試"
|
|
107
|
-
omnilane ui start # 選配:在瀏覽器即時看派工
|
|
108
66
|
```
|
|
109
67
|
|
|
68
|
+
> 第一次用?先跑 `omnilane doctor`——它會告訴你 omnilane 現在能接到哪些模型 CLI 與
|
|
69
|
+
> API 金鑰,你就知道實際會跑什麼。
|
|
70
|
+
|
|
110
71
|
## 🧭 運作方式
|
|
111
72
|
|
|
112
73
|
omnilane 讓**任何**一個 agentic CLI 的主迴圈把子任務分類到通道(lane),
|
|
@@ -131,6 +92,8 @@ flowchart LR
|
|
|
131
92
|
呼叫對應廠商的 CLI。`--vendor` 會鎖定點名廠商,不做降級。
|
|
132
93
|
- **`skills/omnilane/SKILL.md`** — 一份技能四個框架都能載入:
|
|
133
94
|
先認出自己是哪個模型,自己通道的活自己做,其餘派出去。
|
|
95
|
+
- **`omnilane mcp`** — 同一套路由改以 MCP stdio server 提供,
|
|
96
|
+
給走 MCP 而非 skill 整合的宿主。
|
|
134
97
|
|
|
135
98
|
<div align="center">
|
|
136
99
|
|
|
@@ -268,10 +231,13 @@ omnilane ui stop # 正常停止
|
|
|
268
231
|
}
|
|
269
232
|
```
|
|
270
233
|
|
|
271
|
-
Server 提供 `route`、`jobs_status`、`jobs_result`、`
|
|
234
|
+
Server 提供 `route`,以及一組唯讀查詢工具:`list_lanes`、`explain`、`validate`、`dry_run`、`jobs_list`、`jobs_status`、`jobs_result`、`jobs_stats`、`jobs_audit`、`doctor`。
|
|
272
235
|
`route` 預設唯讀 `advise` 模式;選 `work` 的呼叫必須同時提供明確的
|
|
273
236
|
`workdir`。
|
|
274
237
|
|
|
238
|
+
唯一的執行需求是 Node.js(不裝任何 npm 套件);也可以直接
|
|
239
|
+
`npm install -g omnilane`,CLI 連同 MCP server 一起裝好。
|
|
240
|
+
|
|
275
241
|
## ⚙️ 自訂設定
|
|
276
242
|
|
|
277
243
|
三層,全部選用:
|
|
@@ -298,6 +264,7 @@ omnilane list | route … | jobs … | configure # 全域指令,任何目錄
|
|
|
298
264
|
# (install.sh 會連結進 ~/.local/bin)
|
|
299
265
|
eval "$(omnilane completion bash)" # 在目前 Bash 啟用補全
|
|
300
266
|
source <(omnilane completion zsh) # 在目前 Zsh 啟用補全
|
|
267
|
+
omnilane completion fish | source # 在目前 Fish 啟用補全
|
|
301
268
|
omnilane ui start # 啟動或沿用本機 Live UI,印出網址
|
|
302
269
|
omnilane ui status # 查看 Live UI 是否運作中
|
|
303
270
|
omnilane ui url # 印出目前通過驗證的本機網址
|
|
@@ -310,12 +277,17 @@ dispatch.sh [--json] --list [--json]
|
|
|
310
277
|
dispatch.sh [--json] --explain 通道 [--json] # 離線逐候選解釋路由決策
|
|
311
278
|
dispatch.sh [--json] --validate [--json] # 離線檢查生效路由,不呼叫模型
|
|
312
279
|
jobs.sh [--json] {list | status 工作ID | result 工作ID} # JSON 結果只回中繼資料,不回本文
|
|
280
|
+
jobs.sh [--json] list [--lane L] [--vendor V] [--status running|done] # 過濾清單
|
|
313
281
|
jobs.sh wait 工作ID [--timeout N] # 工作結束碼;124 逾時;125 工作者消失
|
|
314
|
-
jobs.sh
|
|
282
|
+
jobs.sh cancel 工作ID # 停止執行中的工作:整組 SIGTERM,再 SIGKILL
|
|
283
|
+
jobs.sh rm 工作ID # 刪除單一已完成/已死工作(執行中會被拒絕)
|
|
284
|
+
jobs.sh [--json] stats [--last N] [--lane L] [--vendor V] # 本機成功率與路由彙整
|
|
315
285
|
jobs.sh audit [--last N] [--json] # 唯讀檢查工作完整性與隱私
|
|
316
286
|
jobs.sh prune [--keep N] [--apply] # 預設只預覽;只清理已完成工作
|
|
287
|
+
omnilane mcp # MCP stdio server(需 Node.js)
|
|
317
288
|
omnilane release-audit [--target 版本] [--json] # 離線、唯讀的發布閘門
|
|
318
289
|
configure.sh # 互動通道選單
|
|
290
|
+
configure.sh set|get|unset|list|diff LANE [SPEC] # 非互動編輯/檢視 routing.local.yaml
|
|
319
291
|
```
|
|
320
292
|
|
|
321
293
|
**重大決定可以開評審團,不是問一個人。**`arbitrate` 通道**預設關閉**——
|
|
@@ -388,12 +360,102 @@ codex/claude/grok/gemini 自選 1-4 個評審。開了之後,同一個問題丟
|
|
|
388
360
|
外卡住,因此上面的自動保險絲會限制這個情境並清掉受監工的程序群組。Omnilane
|
|
389
361
|
不會自動執行 `git init`,也不要求使用者建立 repo。
|
|
390
362
|
|
|
363
|
+
## 📜 版本歷程
|
|
364
|
+
|
|
365
|
+
<details>
|
|
366
|
+
<summary>舊版本(v0.8.3 以前)</summary>
|
|
367
|
+
|
|
368
|
+
## v0.8.3 新功能
|
|
369
|
+
|
|
370
|
+
- **MCP server** — `omnilane mcp` 啟動零依賴的 stdio MCP server,任何支援
|
|
371
|
+
MCP 的宿主(Claude Code、Codex、Gemini CLI、Cursor、OpenCode……)不必安裝
|
|
372
|
+
skill 就能發現並呼叫 omnilane:提供 `route`、`jobs_status`、`jobs_result`、
|
|
373
|
+
`list_lanes` 四個工具。`route` 預設唯讀 advise 模式;work 模式必須明確
|
|
374
|
+
指定 workdir。
|
|
375
|
+
|
|
376
|
+
## v0.8.2 新功能
|
|
377
|
+
|
|
378
|
+
- **`openrouter` vendor** — 只要 `curl` 加一把 `OPENROUTER_API_KEY`,
|
|
379
|
+
就能直連 OpenRouter API 派工:任何 omnilane 安裝都摸得到數百個
|
|
380
|
+
託管模型,不必再裝任何代理 CLI。僅限 advise/consult(不能改檔,
|
|
381
|
+
work 模式會明確報錯指路),模型 slug 必填,例如
|
|
382
|
+
`dispatch.sh --vendor openrouter --model anthropic/claude-sonnet-5 consult "..."`。
|
|
383
|
+
- **`deepseek`、`zai`、`mistral`、`groq`、`cerebras` vendor** — 與 `openrouter`
|
|
384
|
+
同一條免 CLI 直連 API 路徑,對應 OpenAI-compatible 供應商:DeepSeek、Z.ai GLM、
|
|
385
|
+
Mistral、Groq、Cerebras。各只要 `curl` 加自己那把 `<VENDOR>_API_KEY`;僅限
|
|
386
|
+
advise/consult。端點、金鑰、預設模型由 `lib/common.sh` 一行 registry 定義。
|
|
387
|
+
詳見 [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md)。
|
|
388
|
+
- **`opencode` vendor** — 透過 OpenCode 多供應商聚合 CLI 無頭派工
|
|
389
|
+
(`opencode run`)。advise 模式鎖定內建唯讀 `plan` agent;work 模式
|
|
390
|
+
用 `--auto`。加入預設 `coding-overflow` 鏈作為最後備援。
|
|
391
|
+
|
|
392
|
+
## v0.8.1 新功能
|
|
393
|
+
|
|
394
|
+
- **Claude Code 外掛開場自動載入路由提醒** — 外掛新增 `SessionStart`
|
|
395
|
+
hook(`hooks/hooks.json`),於開場(`startup|resume|clear`)自動注入
|
|
396
|
+
路由提醒,裝外掛即生效,不必修改 `~/.claude/CLAUDE.md`。其他 CLI
|
|
397
|
+
仍走 `install.sh` 的指令檔提醒。
|
|
398
|
+
|
|
399
|
+
## v0.8.0 新功能
|
|
400
|
+
|
|
401
|
+
- **兩個新派工 vendor** — `kimi`(Moonshot Kimi Code CLI)與 `qwen`
|
|
402
|
+
(Alibaba Qwen Code CLI)加入,沿用統一 runner 契約:advise 唯讀、
|
|
403
|
+
work 自動核准、剝除 API key 環境變數改用 CLI 自身訂閱登入、空輸出
|
|
404
|
+
視為失敗。可用 `--vendor kimi|qwen` 直接點名。
|
|
405
|
+
- **coding-overflow 長出備援鏈** — 額度溢流道改為 grok → kimi → qwen
|
|
406
|
+
再到 `off`,三家裝任一家即可用。runner 以假執行檔完成契約測試;
|
|
407
|
+
歡迎回報真實模型實測結果。
|
|
408
|
+
|
|
409
|
+
## v0.7.1 新功能
|
|
410
|
+
|
|
411
|
+
- **路由表更新(2026-07 模型數據)** — hardest-coding 首選改為 GPT-5.6 Sol
|
|
412
|
+
**max** 檔位:Artificial Analysis Coding Agent Index v1.1 測得 Sol (max)
|
|
413
|
+
80 分為現任最高,汰換舊的「xhigh 勝 max」快照。
|
|
414
|
+
- **Claude 備援升檔** — hardest-coding 與 hard-judgment 的 Claude Opus 4.8
|
|
415
|
+
備援改為 **xhigh**,依 Anthropic 官方對困難任務與長時間工作的建議。
|
|
416
|
+
|
|
417
|
+
## v0.7.0 新功能
|
|
418
|
+
|
|
419
|
+
- **先預覽再派工** — `--dry-run` 印出完整解析後的派工計畫(vendor、模型、
|
|
420
|
+
模式、逾時、副作用判定),不呼叫模型、不建立工作狀態。
|
|
421
|
+
- **版本化 JSON 自動化** — `--list`/`--explain`/`--validate` 與
|
|
422
|
+
`jobs list|status|result|stats` 都有 `--json` 信封;另有唯讀 `jobs wait`、
|
|
423
|
+
`jobs audit`,以及帶可重現 manifest 的離線 `omnilane release-audit` 發佈稽核。
|
|
424
|
+
- **本機工作一條龍** — `jobs tail` 窺看即時輸出、`jobs retry` 以 fail-closed
|
|
425
|
+
方式重派已完成工作、`prune --older-than` 依時間清理,`--help` 覆蓋所有指令。
|
|
426
|
+
- **安裝與補全更安全** — `install.sh --check`/`--dry-run` 唯讀回報漂移,
|
|
427
|
+
`omnilane completion bash|zsh` 提供安全的 tab 補全,並修復五個 macOS 原生
|
|
428
|
+
Bash 3.2 崩潰。
|
|
429
|
+
|
|
430
|
+
## v0.6.0 新功能
|
|
431
|
+
|
|
432
|
+
- **離線看懂並驗證路由** — 用 `--explain` 查看每個備援候選,或用
|
|
433
|
+
`--validate` 檢查完整生效路由表;都不會呼叫模型或建立工作狀態。
|
|
434
|
+
- **用機器可讀資料觀察本機狀態** — `jobs.sh stats` 提供有界統計,
|
|
435
|
+
`omnilane doctor --json` 提供健康檢查,又不會洩漏任務或結果正文。
|
|
436
|
+
- **在 Live Board 比較兩筆工作** — 把一筆已載入工作釘成只存在記憶體的
|
|
437
|
+
參考快照,並排比較模型路徑與公開結果。
|
|
438
|
+
- **讓鎖恢復更安靜** — 擁有者檔案在檢查與讀取間消失時,不再洩漏容易誤判的
|
|
439
|
+
缺檔診斷,同時維持 fail-closed。
|
|
440
|
+
|
|
441
|
+
## v0.5.1 新功能
|
|
442
|
+
|
|
443
|
+
- **在非 Git 目錄使用 Codex work** — 一般資料夾仍完整支援;Omnilane 不要求、
|
|
444
|
+
也絕不會自動執行 `git init`。
|
|
445
|
+
- **乾淨停止非 Git 卡死** — 未設定整體上限時,解析後的單次看門狗會自動成為
|
|
446
|
+
程序群組保險絲,同時保留手動 timeout 的優先序與退出碼語意。
|
|
447
|
+
- **讓版本顯示可信** — `VERSION` 現在統一供應 `omnilane --version` 與兩份
|
|
448
|
+
plugin manifest,CI 會檢查變更紀錄和五語 README 是否一致。
|
|
449
|
+
|
|
450
|
+
</details>
|
|
451
|
+
|
|
391
452
|
## 🌱 狀態
|
|
392
453
|
|
|
393
|
-
|
|
394
|
-
三個聚合/溢流 CLI(kimi、qwen、opencode)
|
|
395
|
-
API vendor
|
|
396
|
-
`SessionStart`
|
|
454
|
+
omnilane 現有十三個派工 vendor——四個框架原生(codex、claude、grok、gemini)、
|
|
455
|
+
三個聚合/溢流 CLI(kimi、qwen、opencode),加上六個免 CLI 的 OpenAI-compatible
|
|
456
|
+
直連 API vendor(openrouter、deepseek、zai、mistral、groq、cerebras)——全部走
|
|
457
|
+
統一 runner 契約並附 contract 測試,另有 Claude Code `SessionStart` 自動提醒與
|
|
458
|
+
MCP stdio server 介面(`omnilane mcp`)。直連 API 與聚合 runner 皆以假
|
|
397
459
|
執行檔做過契約測試;歡迎回報真實模型使用經驗。Grok/Antigravity 指令殼行為
|
|
398
460
|
仍可能隨 CLI 版本變動。歡迎回報 issue 與 PR。
|
|
399
461
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.9.1
|
package/bin/omnilane
CHANGED
|
@@ -40,13 +40,14 @@ case "$cmd" in
|
|
|
40
40
|
;;
|
|
41
41
|
completion)
|
|
42
42
|
[[ $# -eq 1 ]] || {
|
|
43
|
-
echo "usage: omnilane completion bash|zsh" >&2
|
|
43
|
+
echo "usage: omnilane completion bash|zsh|fish" >&2
|
|
44
44
|
exit 2
|
|
45
45
|
}
|
|
46
46
|
case "$1" in
|
|
47
47
|
bash) cat "$REPO/completions/omnilane.bash" ;;
|
|
48
48
|
zsh) cat "$REPO/completions/_omnilane" ;;
|
|
49
|
-
|
|
49
|
+
fish) cat "$REPO/completions/omnilane.fish" ;;
|
|
50
|
+
*) echo "usage: omnilane completion bash|zsh|fish" >&2; exit 2 ;;
|
|
50
51
|
esac
|
|
51
52
|
;;
|
|
52
53
|
release-audit) exec bash "$REPO/scripts/release-audit.sh" "$@" ;;
|
|
@@ -69,7 +70,7 @@ omnilane — one routing table, every harness
|
|
|
69
70
|
dispatch or consult a model
|
|
70
71
|
omnilane jobs [--json] COMMAND [ARGS] list, status, result, stats, wait, or audit
|
|
71
72
|
omnilane mcp start the MCP stdio server
|
|
72
|
-
omnilane completion bash|zsh
|
|
73
|
+
omnilane completion bash|zsh|fish print a shell completion script
|
|
73
74
|
omnilane release-audit [flags] offline, read-only release gate
|
|
74
75
|
omnilane doctor [--json] read-only local health report
|
|
75
76
|
omnilane ui start|status|url|stop
|