openmatrix 0.2.25 → 0.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -595
- package/dist/agents/agent-runner.d.ts +5 -1
- package/dist/agents/agent-runner.js +53 -3
- package/dist/cli/commands/complete.js +13 -1
- package/dist/cli/commands/start.js +4 -1
- package/dist/storage/file-store.d.ts +8 -0
- package/dist/storage/file-store.js +30 -0
- package/dist/storage/state-manager.d.ts +7 -0
- package/dist/storage/state-manager.js +101 -46
- package/package.json +1 -1
- package/skills/om.md +3 -3
- package/skills/start.md +103 -34
package/skills/start.md
CHANGED
|
@@ -57,7 +57,7 @@ Step 1: 初始化 .openmatrix 目录
|
|
|
57
57
|
Step 2: 验证前置条件(plan.md + tasks-input.json 必须已存在)
|
|
58
58
|
Step 3: 智能分析任务类型(开发/非开发)
|
|
59
59
|
Step 4: 提交文档(git add docs/ + 所有 .md 文件, commit)
|
|
60
|
-
Step 5:
|
|
60
|
+
Step 5: 必选问题(开发任务:质量等级; 严格模式可选E2E; 非开发:跳过)<- 不可跳过
|
|
61
61
|
Step 6: 可选问题(仅复杂开发任务)+ 展示执行计划
|
|
62
62
|
Step 7: 调用 openmatrix start --tasks-json <- 必须完成,不可跳过
|
|
63
63
|
Step 8: 从 CLI 返回结果中读取 subagentTasks 列表 <- 必须完成
|
|
@@ -67,7 +67,7 @@ Step 9: 逐个执行 subagentTasks(调用 Agent 工具) <- 只有
|
|
|
67
67
|
**违反以下任一规则将导致任务执行失败:**
|
|
68
68
|
|
|
69
69
|
- **禁止在 Step 9 之前写任何业务代码** — 所有代码必须在 Step 9 通过 Agent 执行
|
|
70
|
-
- **禁止跳过 Step 5 必选问题** —
|
|
70
|
+
- **禁止跳过 Step 5 必选问题** — 开发任务必须选质量等级,非开发任务无需问答
|
|
71
71
|
- **禁止跳过 Step 7** — 必须调用 CLI,不能用其他方式代替
|
|
72
72
|
- **禁止自行规划 Phase** — 任务由 CLI 的 TaskPlanner 拆分,AI 只提取 goals
|
|
73
73
|
- **禁止用 Bash/npm/write 直接写业务代码** — 业务代码只能通过 Step 9 的 Agent 执行
|
|
@@ -80,12 +80,12 @@ Step 9: 逐个执行 subagentTasks(调用 Agent 工具) <- 只有
|
|
|
80
80
|
|
|
81
81
|
本 Skill 只做执行,不做方案生成。如果 plan.md 或 tasks-input.json 不存在,引导用户先执行 /om:plan。
|
|
82
82
|
|
|
83
|
-
**Step 5
|
|
84
|
-
1.
|
|
85
|
-
2. E2E
|
|
86
|
-
3.
|
|
83
|
+
**Step 5 必选问题(开发任务):**
|
|
84
|
+
1. 质量等级(严格模式/平衡模式/快速模式)
|
|
85
|
+
2. E2E 测试(仅严格模式可选,其他模式自动跳过)
|
|
86
|
+
3. 执行模式根据质量等级自动推断(无需问答)
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
**非开发任务**(文档、配置等)无需问答,直接使用全自动执行。
|
|
89
89
|
</objective>
|
|
90
90
|
|
|
91
91
|
<process>
|
|
@@ -212,9 +212,9 @@ EOF
|
|
|
212
212
|
|
|
213
213
|
| goalTypes | 需要询问 |
|
|
214
214
|
|-----------|---------|
|
|
215
|
-
| `development` | 5.1 质量等级 -> 5.2 E2E
|
|
216
|
-
| `testing` |
|
|
217
|
-
| `documentation` / `other` |
|
|
215
|
+
| `development` | 5.1 质量等级 -> 5.2 E2E(仅严格模式可选) |
|
|
216
|
+
| `testing` | 无需问答,直接进入 Step 7 |
|
|
217
|
+
| `documentation` / `other` | 无需问答,直接进入 Step 7 |
|
|
218
218
|
|
|
219
219
|
#### 5.1 质量等级(仅 `goalTypes: development`)
|
|
220
220
|
|
|
@@ -224,11 +224,21 @@ AskUserQuestion: `header: "质量等级"`, `multiSelect: false`
|
|
|
224
224
|
|
|
225
225
|
| label | description |
|
|
226
226
|
|-------|-------------|
|
|
227
|
-
|
|
|
228
|
-
|
|
|
229
|
-
|
|
|
227
|
+
| `严格模式` | TDD + >80%覆盖率 + 严格Lint + 安全扫描 — 生产级代码 |
|
|
228
|
+
| `平衡模式 (推荐)` | >60%覆盖率 + Lint + 安全扫描 — 日常开发 |
|
|
229
|
+
| `快速模式` | 无质量门禁 — 快速原型/验证 |
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
**质量等级选择后的自动推断规则:**
|
|
232
|
+
|
|
233
|
+
| 模式 | E2E | AI 验收 | 执行方式 |
|
|
234
|
+
|-----|-----|---------|---------|
|
|
235
|
+
| 严格模式 | 可选问一句(Step 5.2) | 必须 | TDD(先测试后开发) |
|
|
236
|
+
| 平衡模式 | 不需要(自动跳过) | 必须 | 先开发后测试 |
|
|
237
|
+
| 快速模式 | 不需要(自动跳过) | 不需要 | 直接开发 |
|
|
238
|
+
|
|
239
|
+
#### 5.2 E2E 测试(仅 `严格模式` 可选,其他模式自动跳过)
|
|
240
|
+
|
|
241
|
+
**只有选择「严格模式」时才询问此问题,平衡模式和快速模式自动推断为「不需要」。**
|
|
232
242
|
|
|
233
243
|
AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
|
|
234
244
|
|
|
@@ -240,17 +250,15 @@ AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
|
|
|
240
250
|
| `视觉验证` | 需要浏览器可视化验证,可检查页面样式和布局 |
|
|
241
251
|
| `不需要` | 仅进行单元测试和集成测试,节省时间 |
|
|
242
252
|
|
|
243
|
-
####
|
|
253
|
+
#### 执行模式自动推断
|
|
244
254
|
|
|
245
|
-
|
|
255
|
+
**执行模式不再通过问答选择,而是根据质量等级自动推断:**
|
|
246
256
|
|
|
247
|
-
|
|
257
|
+
- **严格模式** → 全自动执行 + TDD 流程
|
|
258
|
+
- **平衡模式** → 全自动执行 + 先开发后测试
|
|
259
|
+
- **快速模式** → 全自动执行 + 直接开发
|
|
248
260
|
|
|
249
|
-
|
|
250
|
-
|-------|-------------|
|
|
251
|
-
| `全自动执行 (推荐)` | 全自动执行,无需人工审批,遇到阻塞自动 Meeting |
|
|
252
|
-
| `关键节点确认` | plan/merge/deploy 时暂停确认 |
|
|
253
|
-
| `每阶段确认` | 每个阶段(develop/verify/accept)完成后暂停 |
|
|
261
|
+
**非开发任务**(testing/documentation/other)默认使用「全自动执行」。
|
|
254
262
|
|
|
255
263
|
### Step 6: 可选问题(仅复杂任务)
|
|
256
264
|
|
|
@@ -280,31 +288,37 @@ Goals:
|
|
|
280
288
|
|
|
281
289
|
### Step 7: 调用 CLI 创建任务(不可跳过)
|
|
282
290
|
|
|
283
|
-
|
|
291
|
+
**根据质量等级自动设置执行参数:**
|
|
292
|
+
|
|
293
|
+
| 质量等级 | CLI 参数 | 执行方式 |
|
|
294
|
+
|---------|---------|---------|
|
|
295
|
+
| 严格模式 | `--quality strict --mode auto` | TDD 流程 |
|
|
296
|
+
| 平衡模式 | `--quality balanced --mode auto` | 先开发后测试 |
|
|
297
|
+
| 快速模式 | `--quality fast --mode auto` | 直接开发 |
|
|
284
298
|
|
|
285
299
|
**开发任务**(有质量等级选择):
|
|
286
300
|
```bash
|
|
287
|
-
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality <质量等级> --mode
|
|
301
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality <质量等级> --mode auto --json
|
|
288
302
|
```
|
|
289
303
|
|
|
290
304
|
如果存在 `.openmatrix/research/context.json`,增加 `--research-context` 参数:
|
|
291
305
|
```bash
|
|
292
|
-
openmatrix start --tasks-json @.openmatrix/tasks-input.json --research-context @.openmatrix/research/context.json --quality <质量等级> --mode
|
|
306
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --research-context @.openmatrix/research/context.json --quality <质量等级> --mode auto --json
|
|
293
307
|
```
|
|
294
308
|
|
|
295
309
|
如果启用了 E2E 测试(功能测试),加上 `--e2e-tests`:
|
|
296
310
|
```bash
|
|
297
|
-
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality
|
|
311
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality strict --mode auto --e2e-tests --json
|
|
298
312
|
```
|
|
299
313
|
|
|
300
314
|
如果选择了视觉验证,加上 `--e2e-tests --e2e-type visual`:
|
|
301
315
|
```bash
|
|
302
|
-
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality
|
|
316
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality strict --mode auto --e2e-tests --e2e-type visual --json
|
|
303
317
|
```
|
|
304
318
|
|
|
305
|
-
|
|
319
|
+
**非开发任务**(无质量等级,默认全自动执行):
|
|
306
320
|
```bash
|
|
307
|
-
openmatrix start --tasks-json @.openmatrix/tasks-input.json --mode
|
|
321
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --mode auto --json
|
|
308
322
|
```
|
|
309
323
|
|
|
310
324
|
此命令返回 JSON 包含 `subagentTasks` 列表。
|
|
@@ -390,6 +404,53 @@ AskUserQuestion: `header: "歧义确认"`, `multiSelect: false`
|
|
|
390
404
|
|
|
391
405
|
#### 9.3 执行 Agent 任务
|
|
392
406
|
|
|
407
|
+
**Skill 感知执行:**
|
|
408
|
+
|
|
409
|
+
执行每个任务前,AI 应根据任务内容判断是否需要调用相关 skill 来增强执行质量。
|
|
410
|
+
|
|
411
|
+
可用 skill 列表(AI 自行判断是否适用):
|
|
412
|
+
- `om:test` — 测试生成与验证循环
|
|
413
|
+
- `frontend-design` — 前端/UI 设计与实现
|
|
414
|
+
- `om:research` — 领域研究
|
|
415
|
+
- 其他已安装的 skill
|
|
416
|
+
|
|
417
|
+
**判断流程:**
|
|
418
|
+
1. 读取任务的 `agentType`、`title`、`description`
|
|
419
|
+
2. AI 自行判断该任务是否匹配某个 skill 的触发条件
|
|
420
|
+
3. 如果匹配,在 Agent prompt 中注入该 skill 的核心指令或先调用对应 CLI 获取上下文数据
|
|
421
|
+
4. 如果不匹配任何 skill,直接执行
|
|
422
|
+
|
|
423
|
+
**tester 任务验证循环(om:test 逻辑):**
|
|
424
|
+
|
|
425
|
+
当 AI 判断任务需要 om:test 流程时:
|
|
426
|
+
|
|
427
|
+
1. 先调用 CLI 获取项目测试配置:
|
|
428
|
+
```bash
|
|
429
|
+
openmatrix test --json
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
2. 调用 Agent 生成测试(prompt 中已包含原始扫描数据):
|
|
433
|
+
```typescript
|
|
434
|
+
Agent({
|
|
435
|
+
subagent_type: task.subagent_type,
|
|
436
|
+
description: task.description,
|
|
437
|
+
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit\n- ❌ git checkout/merge/pull/push/rebase/branch\n\n✅ 允许:git status, git diff, git log",
|
|
438
|
+
run_in_background: true
|
|
439
|
+
})
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
3. Agent 完成后,自动验证测试:
|
|
443
|
+
```bash
|
|
444
|
+
npm test -- --run 2>&1
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
4. 验证失败时自动重试(最多 3 次):
|
|
448
|
+
- 将失败输出传给新 Agent 修复测试
|
|
449
|
+
- 重新验证
|
|
450
|
+
- 3 次失败后标记为 blocked,创建 Meeting
|
|
451
|
+
|
|
452
|
+
**默认执行方式(无特殊 skill 匹配时):**
|
|
453
|
+
|
|
393
454
|
```typescript
|
|
394
455
|
Agent({
|
|
395
456
|
subagent_type: task.subagent_type,
|
|
@@ -523,11 +584,11 @@ start 和 auto 在同一位置,区别在于 start 有交互审批,auto 零
|
|
|
523
584
|
|
|
524
585
|
## 质量级别
|
|
525
586
|
|
|
526
|
-
| 级别 | TDD | 覆盖率 | Lint | 安全 |
|
|
527
|
-
|
|
528
|
-
|
|
|
529
|
-
|
|
|
530
|
-
|
|
|
587
|
+
| 级别 | TDD | 覆盖率 | Lint | 安全 | 执行方式 |
|
|
588
|
+
|------|:---:|:------:|:----:|:----:|:--------:|
|
|
589
|
+
| 严格模式 | Y | >80% | Y | Y | TDD |
|
|
590
|
+
| 平衡模式 | N | >60% | Y | Y | 先开发后测试 |
|
|
591
|
+
| 快速模式 | N | 无 | N | N | 直接开发 |
|
|
531
592
|
|
|
532
593
|
## 执行流程
|
|
533
594
|
|
|
@@ -537,6 +598,14 @@ Step 1-2: 初始化 + 验证前置条件 -> Step 3-4: 分析类型 + 提交文
|
|
|
537
598
|
-> Step 9: Agent 逐个执行 (只有这里写代码)
|
|
538
599
|
```
|
|
539
600
|
|
|
601
|
+
## 自动推断规则
|
|
602
|
+
|
|
603
|
+
| 质量等级 | E2E 问题 | AI 验收 | 执行模式 |
|
|
604
|
+
|---------|---------|---------|---------|
|
|
605
|
+
| 严格模式 | 可选问一句 | 必须 | 全自动 + TDD |
|
|
606
|
+
| 平衡模式 | 不需要 | 必须 | 全自动 + 先开发后测试 |
|
|
607
|
+
| 快速模式 | 不需要 | 不需要 | 全自动 + 直接开发 |
|
|
608
|
+
|
|
540
609
|
## Git 提交格式
|
|
541
610
|
|
|
542
611
|
```
|