openmatrix 0.2.23 → 0.2.25
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/dist/cli/commands/start.js +16 -15
- package/dist/orchestrator/task-planner.d.ts +5 -104
- package/dist/orchestrator/task-planner.js +99 -799
- package/dist/test/generator.js +273 -21
- package/dist/types/index.d.ts +3 -1
- package/package.json +61 -61
- package/skills/auto.md +383 -415
- package/skills/brainstorm.md +27 -29
- package/skills/plan.md +261 -0
- package/skills/start.md +552 -707
- package/skills/test.md +34 -5
package/skills/auto.md
CHANGED
|
@@ -1,415 +1,383 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: om:auto
|
|
3
|
-
description: "Use when the user wants fully automated task execution with zero manual approvals. Triggers on AUTOMATION intent: user explicitly requests hands-free execution, wants to skip all confirmations, or needs batch processing without interruptions. DO NOT trigger on: interactive requests, debugging, or status checks. Intent signals: user says 'fully auto', 'hands-free', 'no interruptions', 'skip approvals', or describes large batch operations."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<INTENT-JUDGMENT>
|
|
7
|
-
## 意图判断指南
|
|
8
|
-
|
|
9
|
-
**AI 应根据用户语义判断意图:**
|
|
10
|
-
|
|
11
|
-
### 触发信号(全自动意图)
|
|
12
|
-
|
|
13
|
-
- 用户明确要"全自动执行"
|
|
14
|
-
- 需要跳过所有审批确认
|
|
15
|
-
- 批量操作,不希望中断
|
|
16
|
-
- 用户表达"直接执行"、"不要问我"
|
|
17
|
-
|
|
18
|
-
### 不触发信号
|
|
19
|
-
|
|
20
|
-
| 用户意图 | 应调用 |
|
|
21
|
-
|---------|--------|
|
|
22
|
-
| 需要交互确认 | /om:start |
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
| "
|
|
32
|
-
| "
|
|
33
|
-
| "
|
|
34
|
-
| "
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
Step
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Step
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
####
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
</examples>
|
|
385
|
-
|
|
386
|
-
<notes>
|
|
387
|
-
## 质量级别
|
|
388
|
-
|
|
389
|
-
| 级别 | TDD | 覆盖率 | Lint | 安全扫描 |
|
|
390
|
-
|------|:---:|:------:|:----:|:--------:|
|
|
391
|
-
| **strict** | ✅ | >80% | ✅ | ✅ |
|
|
392
|
-
| **balanced** | ❌ | >60% | ✅ | ✅ |
|
|
393
|
-
| **fast** | ❌ | 无要求 | ❌ | ❌ |
|
|
394
|
-
|
|
395
|
-
## 执行流程
|
|
396
|
-
|
|
397
|
-
```
|
|
398
|
-
Step 1: 初始化 .openmatrix → Step 2: 提取 goals + plan → Step 3: 写入 tasks-input.json
|
|
399
|
-
→ Step 4: openmatrix start --tasks-json (必须) → Step 5: 读取 subagentTasks
|
|
400
|
-
→ Step 6: Agent 逐个执行 (只有这里写代码)
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
## Git 提交格式
|
|
404
|
-
|
|
405
|
-
```
|
|
406
|
-
<type>(TASK-XXX): 简短描述
|
|
407
|
-
|
|
408
|
-
改动点1 / 改动点2
|
|
409
|
-
影响范围: 模块名
|
|
410
|
-
文件改动: 文件1, 文件2
|
|
411
|
-
Co-Authored-By: OpenMatrix https://github.com/bigfish1913/openmatrix
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
type: feat/fix/test/refactor/docs。禁止 emoji。
|
|
415
|
-
</notes>
|
|
1
|
+
---
|
|
2
|
+
name: om:auto
|
|
3
|
+
description: "Use when the user wants fully automated task execution with zero manual approvals. Triggers on AUTOMATION intent: user explicitly requests hands-free execution, wants to skip all confirmations, or needs batch processing without interruptions. Expects plan.md + tasks-input.json to already exist (generated by /om:plan). DO NOT trigger on: interactive requests, debugging, or status checks. Intent signals: user says 'fully auto', 'hands-free', 'no interruptions', 'skip approvals', or describes large batch operations."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<INTENT-JUDGMENT>
|
|
7
|
+
## 意图判断指南
|
|
8
|
+
|
|
9
|
+
**AI 应根据用户语义判断意图:**
|
|
10
|
+
|
|
11
|
+
### 触发信号(全自动意图)
|
|
12
|
+
|
|
13
|
+
- 用户明确要"全自动执行"
|
|
14
|
+
- 需要跳过所有审批确认
|
|
15
|
+
- 批量操作,不希望中断
|
|
16
|
+
- 用户表达"直接执行"、"不要问我"
|
|
17
|
+
|
|
18
|
+
### 不触发信号
|
|
19
|
+
|
|
20
|
+
| 用户意图 | 应调用 |
|
|
21
|
+
|---------|--------|
|
|
22
|
+
| 需要交互确认 | /om:start |
|
|
23
|
+
| 需要生成技术方案 | /om:plan |
|
|
24
|
+
| 调查问题 | /om:debug |
|
|
25
|
+
| 查看状态 | /om:status |
|
|
26
|
+
|
|
27
|
+
### 示例判断
|
|
28
|
+
|
|
29
|
+
| 用户消息 | 判断 | 结果 |
|
|
30
|
+
|---------|------|------|
|
|
31
|
+
| "全自动执行" | 全自动意图 | 触发 |
|
|
32
|
+
| "不要问我直接做" | 无中断意图 | 触发 |
|
|
33
|
+
| "批量重构跳过确认" | 批量自动化 | 触发 |
|
|
34
|
+
| "交互式执行" | 需要确认 | /om:start |
|
|
35
|
+
| "生成技术方案" | 方案生成 | /om:plan |
|
|
36
|
+
| "查看执行状态" | 状态检查 | /om:status |
|
|
37
|
+
</INTENT-JUDGMENT>
|
|
38
|
+
|
|
39
|
+
<NO-OTHER-SKILLS>
|
|
40
|
+
**绝对禁止**调用以下任何技能或工具:
|
|
41
|
+
- gsd-executor、gsd:* 等 GSD 相关技能
|
|
42
|
+
- superpowers:* 等 superpowers 相关技能
|
|
43
|
+
- 任何其他任务编排相关的 Agent 或工具
|
|
44
|
+
|
|
45
|
+
**Step 5 只能使用 Agent 工具** — 直接调用 Agent,不通过任何中间层。
|
|
46
|
+
|
|
47
|
+
违规调用将导致执行失败。
|
|
48
|
+
|
|
49
|
+
**相关技能**: `/om:brainstorm` (需求探索) | `/om:plan` (方案生成) | `/om:start` (交互式执行) | `/om:status` (状态查看) | `/om:report` (报告)
|
|
50
|
+
</NO-OTHER-SKILLS>
|
|
51
|
+
|
|
52
|
+
<MANDATORY-EXECUTION-ORDER>
|
|
53
|
+
## 执行顺序 - 必须严格按此顺序,不得跳过任何步骤
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Step 1: 初始化 .openmatrix 目录
|
|
57
|
+
Step 2: 验证前置条件(plan.md + tasks-input.json 必须已存在)
|
|
58
|
+
Step 3: 调用 openmatrix start --tasks-json --mode auto ← 必须完成,不可跳过
|
|
59
|
+
Step 4: 从 CLI 返回结果中读取 subagentTasks 列表 ← 必须完成
|
|
60
|
+
Step 5: 逐个执行 subagentTasks(调用 Agent 工具) ← 只有这步才能写代码
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**违反以下任一规则将导致任务执行失败:**
|
|
64
|
+
|
|
65
|
+
- **禁止在 Step 5 之前写任何业务代码** — 所有代码必须在 Step 5 通过 Agent 执行
|
|
66
|
+
- **禁止跳过 Step 3** — 必须调用 CLI,不能用其他方式代替
|
|
67
|
+
- **禁止自行规划 Phase** — 任务由 CLI 的 TaskPlanner 拆分,AI 只提取 goals
|
|
68
|
+
- **禁止用 Bash/npm/write 直接写业务代码** — 业务代码只能通过 Step 5 的 Agent 执行
|
|
69
|
+
- **禁止在 auto 中生成 plan** — plan 由 /om:plan 生成,auto 只负责执行
|
|
70
|
+
</MANDATORY-EXECUTION-ORDER>
|
|
71
|
+
|
|
72
|
+
<BYPASS-MODE>
|
|
73
|
+
## 全自动模式 - 自动批准所有操作
|
|
74
|
+
|
|
75
|
+
1. **所有 Bash 命令自动批准** - 不询问确认
|
|
76
|
+
2. **所有文件操作自动批准** - 不询问确认
|
|
77
|
+
3. **所有 Agent 调用自动批准** - 不询问确认
|
|
78
|
+
4. **所有审批点自动批准** - plan/merge/deploy 自动通过
|
|
79
|
+
|
|
80
|
+
**执行时不要请求用户确认任何操作。**
|
|
81
|
+
</BYPASS-MODE>
|
|
82
|
+
|
|
83
|
+
<objective>
|
|
84
|
+
全自动执行任务。读取已有的 plan.md + tasks-input.json,通过 CLI 拆分任务,然后通过 Agent 逐个执行。无交互、无审批、无中断。
|
|
85
|
+
|
|
86
|
+
本 Skill 只做执行,不做方案生成。如果 plan.md 或 tasks-input.json 不存在,自动调用 /om:plan 生成。
|
|
87
|
+
</objective>
|
|
88
|
+
|
|
89
|
+
<process>
|
|
90
|
+
|
|
91
|
+
## === 准备阶段(此阶段不得写任何业务代码)===
|
|
92
|
+
|
|
93
|
+
### Step 1: 初始化
|
|
94
|
+
|
|
95
|
+
检查 `.openmatrix/` 目录是否存在,不存在则初始化:
|
|
96
|
+
```bash
|
|
97
|
+
openmatrix start --init-only
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
读取 `.openmatrix/state.json`,如果 `status === 'running'`,提示用户先完成或暂停。
|
|
101
|
+
|
|
102
|
+
### Step 2: 验证前置条件
|
|
103
|
+
|
|
104
|
+
**检查 plan.md 和 tasks-input.json 是否已存在:**
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
cat .openmatrix/tasks-input.json 2>/dev/null || echo "NOT_FOUND"
|
|
108
|
+
cat .openmatrix/plan.md 2>/dev/null || echo "NOT_FOUND"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
| 情况 | 处理方式 |
|
|
112
|
+
|------|---------|
|
|
113
|
+
| 两个都存在 | 读取内容,继续 Step 3 |
|
|
114
|
+
| 只有 tasks-input.json | 继续执行(plan.md 可选) |
|
|
115
|
+
| 不存在,有 `$ARGUMENTS` | 自动调用 `/om:plan` 生成方案(传入参数) |
|
|
116
|
+
| 不存在,无参数 | 提示用户先执行 `/om:plan` |
|
|
117
|
+
|
|
118
|
+
> **注意**: auto 不询问任何问题,直接执行。质量级别通过 `--quality` 参数指定(默认 strict)。
|
|
119
|
+
|
|
120
|
+
### Step 3: 调用 CLI 创建任务 ⚠️ 不可跳过
|
|
121
|
+
|
|
122
|
+
**这是最关键的步骤。必须执行以下命令,不能跳过:**
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality <质量等级> --mode auto --json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
如果启用了 E2E 测试,加上 `--e2e-tests`:
|
|
129
|
+
```bash
|
|
130
|
+
openmatrix start --tasks-json @.openmatrix/tasks-input.json --quality strict --mode auto --e2e-tests --json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
此命令会:
|
|
134
|
+
- 读取 plan.md 作为任务上下文
|
|
135
|
+
- 调用 TaskPlanner 将 goals 拆分为子任务
|
|
136
|
+
- 创建任务文件到 `.openmatrix/tasks/` 目录
|
|
137
|
+
- 返回 JSON 包含 `subagentTasks` 列表
|
|
138
|
+
|
|
139
|
+
### Step 4: 读取 subagentTasks
|
|
140
|
+
|
|
141
|
+
CLI 返回的 JSON 中 `subagentTasks` 数组包含每个待执行任务:
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"subagentTasks": [
|
|
145
|
+
{
|
|
146
|
+
"subagent_type": "Plan",
|
|
147
|
+
"description": "简短描述",
|
|
148
|
+
"prompt": "完整执行提示词",
|
|
149
|
+
"taskId": "TASK-001",
|
|
150
|
+
"agentType": "planner",
|
|
151
|
+
"timeout": 300000
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## === 执行阶段(只有此阶段才能写业务代码)===
|
|
158
|
+
|
|
159
|
+
### Step 5: 逐个执行 subagentTasks(禁止中断)
|
|
160
|
+
|
|
161
|
+
<LOOP-ENFORCEMENT>
|
|
162
|
+
**此步骤是执行循环,必须执行完所有任务后才能停止。**
|
|
163
|
+
|
|
164
|
+
- **禁止在还有未完成任务时停止** — 即使 Agent 返回了大段输出,也必须继续下一个
|
|
165
|
+
- **禁止询问"是否继续"** — 直接执行下一个任务
|
|
166
|
+
- **禁止输出"让我知道是否..."后停止** — 继续执行
|
|
167
|
+
- **禁止因为上下文压缩而忘记剩余任务** — 通过 CLI 命令从磁盘获取真实状态
|
|
168
|
+
|
|
169
|
+
**文件持久化循环(防止上下文压缩丢失状态):**
|
|
170
|
+
```bash
|
|
171
|
+
# 每个 Agent 完成后执行:
|
|
172
|
+
openmatrix complete TASK-XXX --success --summary "决策: xxx; 文件: xxx"
|
|
173
|
+
|
|
174
|
+
# 提交验证(防止 commit 静默失败):
|
|
175
|
+
git status --porcelain
|
|
176
|
+
# 如果有未提交文件 → 必须手动提交:
|
|
177
|
+
git add . && git commit -m "feat(TASK-XXX): 任务标题"
|
|
178
|
+
|
|
179
|
+
openmatrix step --json # 获取下一个任务 + 检查是否全部完成
|
|
180
|
+
```
|
|
181
|
+
`openmatrix step` 从磁盘读取真实状态,不依赖上下文记忆。
|
|
182
|
+
</LOOP-ENFORCEMENT>
|
|
183
|
+
|
|
184
|
+
#### 5.1 歧义检测机制(全自动模式)
|
|
185
|
+
|
|
186
|
+
**Agent 输出中可能包含歧义报告(JSON 格式):**
|
|
187
|
+
|
|
188
|
+
当 Agent 输出包含以下标记时,表示检测到歧义:
|
|
189
|
+
```
|
|
190
|
+
<AMBIGUITY_REPORT>
|
|
191
|
+
{
|
|
192
|
+
"ambiguities": [
|
|
193
|
+
{
|
|
194
|
+
"type": "missing_info" | "conflicting_req" | "unclear_scope" | "tech_choice" | "edge_case",
|
|
195
|
+
"severity": "critical" | "high" | "medium" | "low",
|
|
196
|
+
"description": "歧义描述",
|
|
197
|
+
"suggestions": ["建议1", "建议2"]
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"overallSeverity": "critical" | "high" | "medium" | "low"
|
|
201
|
+
}
|
|
202
|
+
</AMBIGUITY_REPORT>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### 5.2 歧义处理策略(全自动模式)
|
|
206
|
+
|
|
207
|
+
**在 `/om:auto` 全自动模式下,所有歧义写入 Meeting 继续执行,不中断流程:**
|
|
208
|
+
|
|
209
|
+
| 严重程度 | 处理方式 |
|
|
210
|
+
|---------|---------|
|
|
211
|
+
| **Critical** | Meeting + 继续执行其他任务 |
|
|
212
|
+
| **High** | Meeting + 继续执行其他任务 |
|
|
213
|
+
| **Medium** | Meeting + 继续执行其他任务 |
|
|
214
|
+
| **Low** | Meeting + 继续执行其他任务 |
|
|
215
|
+
|
|
216
|
+
**全自动模式特点:**
|
|
217
|
+
- **不使用 AskUserQuestion** — 全自动执行,零人工干预
|
|
218
|
+
- **所有歧义写入 Meeting** — 执行完成后统一展示
|
|
219
|
+
- **继续执行其他任务** — 最大化并行度,无阻塞等待
|
|
220
|
+
|
|
221
|
+
**Meeting 处理流程:**
|
|
222
|
+
```bash
|
|
223
|
+
openmatrix meeting --create --task TASK-XXX --reason "歧义: ${description}" --severity ${overallSeverity}
|
|
224
|
+
openmatrix step --json
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**执行完成后提示用户:**
|
|
228
|
+
```
|
|
229
|
+
检测到 N 个歧义记录,请使用 /om:meeting 统一处理
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### 5.3 执行 Agent 任务
|
|
233
|
+
|
|
234
|
+
```typescript
|
|
235
|
+
Agent({
|
|
236
|
+
subagent_type: task.subagent_type,
|
|
237
|
+
description: task.description,
|
|
238
|
+
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit — 所有提交统一通过 openmatrix complete 执行\n- ❌ git checkout — 不要切换分支\n- ❌ git merge — 不要合并其他分支\n- ❌ git pull — 不要拉取远程更新\n- ❌ git push — 不要推送代码\n- ❌ git rebase — 不要变基\n- ❌ git branch — 不要创建/删除分支\n\n✅ 允许:git status, git diff, git log",
|
|
239
|
+
isolation: task.isolation,
|
|
240
|
+
run_in_background: true
|
|
241
|
+
})
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
每个 Agent 完成后:
|
|
245
|
+
1. **保存 Agent 上下文** — 将执行结果摘要写入 `.openmatrix/tasks/TASK-XXX/context.md`:
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
## 任务: TASK-XXX 任务标题
|
|
249
|
+
|
|
250
|
+
### 关键决策
|
|
251
|
+
- [做出的重要决策]
|
|
252
|
+
|
|
253
|
+
### 创建/修改的文件
|
|
254
|
+
- `path/to/file1.ts` - 简述用途
|
|
255
|
+
|
|
256
|
+
### 对后续任务的建议
|
|
257
|
+
- [下一个 Agent 应该注意什么]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
2. **标记完成并更新统计(必须执行):**
|
|
261
|
+
```bash
|
|
262
|
+
openmatrix complete TASK-XXX --success
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
3. **获取下一个任务(必须执行,防止上下文压缩丢失):**
|
|
266
|
+
```bash
|
|
267
|
+
openmatrix step --json
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**返回值解析:**
|
|
271
|
+
|
|
272
|
+
| status | 含义 | 后续操作 |
|
|
273
|
+
|--------|------|---------|
|
|
274
|
+
| `next` | 有下一个任务 | 继续执行返回的 `subagent` 配置 |
|
|
275
|
+
| `done` | 所有任务完成 | 进入最终提交 |
|
|
276
|
+
| `blocked` | 无可执行任务 | 直接跳过,继续执行其他任务 |
|
|
277
|
+
|
|
278
|
+
**中断恢复:** 如果会话中断,再次执行 `/om:auto` 时:
|
|
279
|
+
1. 执行 `openmatrix step --json`
|
|
280
|
+
2. 如果返回 `status: "next"` → 从返回的任务继续执行
|
|
281
|
+
3. 如果返回 `status: "done"` → 所有任务已完成
|
|
282
|
+
4. 如果返回 `status: "blocked"` → 有阻塞任务需要处理
|
|
283
|
+
|
|
284
|
+
**Agent 上下文共享机制 (Agent Memory):**
|
|
285
|
+
|
|
286
|
+
每个 Agent 执行时会自动接收前序 Agent 的上下文信息(通过 `context.md` 文件)。
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
Agent-1 完成 → 写入 context.md → Agent-2 读取 Agent-1 的上下文 → 写入 context.md → ...
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**所有任务完成后,执行最终 Git 提交:**
|
|
293
|
+
```bash
|
|
294
|
+
git add . && git commit -m "$(cat <<'EOF'
|
|
295
|
+
feat: 任务标题
|
|
296
|
+
|
|
297
|
+
改动点1
|
|
298
|
+
改动点2
|
|
299
|
+
|
|
300
|
+
影响范围: 模块名
|
|
301
|
+
文件改动: 文件1, 文件2
|
|
302
|
+
|
|
303
|
+
Co-Authored-By: OpenMatrix https://github.com/bigfish1913/openmatrix
|
|
304
|
+
EOF
|
|
305
|
+
)"
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Git 提交格式规范(所有提交必须遵守):**
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
<type>(TASK-XXX): 简短描述
|
|
312
|
+
|
|
313
|
+
改动点1
|
|
314
|
+
改动点2
|
|
315
|
+
|
|
316
|
+
影响范围: 模块名
|
|
317
|
+
文件改动: 文件1, 文件2
|
|
318
|
+
|
|
319
|
+
Co-Authored-By: OpenMatrix https://github.com/bigfish1913/openmatrix
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
**type 映射:** feat(新功能) / fix(修复) / test(测试) / refactor(重构) / docs(文档)
|
|
323
|
+
**禁止使用 emoji**,使用纯文本格式
|
|
324
|
+
|
|
325
|
+
</process>
|
|
326
|
+
|
|
327
|
+
<arguments>
|
|
328
|
+
$ARGUMENTS
|
|
329
|
+
</arguments>
|
|
330
|
+
|
|
331
|
+
<examples>
|
|
332
|
+
/om:auto
|
|
333
|
+
/om:auto "实现用户登录功能"
|
|
334
|
+
/om:auto --quality fast
|
|
335
|
+
</examples>
|
|
336
|
+
|
|
337
|
+
<notes>
|
|
338
|
+
## 流程定位
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
需求 → brainstorm (澄清需求) → plan (生成方案) → auto (全自动执行) → end
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
auto 和 start 在同一位置,区别在于:
|
|
345
|
+
- **start**: 交互式,询问质量/E2E/模式,有审批节点
|
|
346
|
+
- **auto**: 零交互,不询问任何问题,无审批节点,质量通过 --quality 指定
|
|
347
|
+
|
|
348
|
+
前置条件(同 start):
|
|
349
|
+
- `.openmatrix/plan.md` — 技术方案(由 /om:plan 生成)
|
|
350
|
+
- `.openmatrix/tasks-input.json` — 结构化元数据(由 /om:plan 生成)
|
|
351
|
+
|
|
352
|
+
如果前置条件不满足,自动调用 /om:plan 生成。
|
|
353
|
+
|
|
354
|
+
## 执行流程
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
Step 1: 初始化 → Step 2: 验证前置条件
|
|
358
|
+
→ Step 3: openmatrix start --tasks-json --mode auto (必须)
|
|
359
|
+
→ Step 4: 读取 subagentTasks
|
|
360
|
+
→ Step 5: Agent 逐个执行 (只有这里写代码)
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## 质量级别
|
|
364
|
+
|
|
365
|
+
| 级别 | TDD | 覆盖率 | Lint | 安全扫描 |
|
|
366
|
+
|------|:---:|:------:|:----:|:--------:|
|
|
367
|
+
| **strict** | Y | >80% | Y | Y |
|
|
368
|
+
| **balanced** | N | >60% | Y | Y |
|
|
369
|
+
| **fast** | N | 无要求 | N | N |
|
|
370
|
+
|
|
371
|
+
## Git 提交格式
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
<type>(TASK-XXX): 简短描述
|
|
375
|
+
|
|
376
|
+
改动点1 / 改动点2
|
|
377
|
+
影响范围: 模块名
|
|
378
|
+
文件改动: 文件1, 文件2
|
|
379
|
+
Co-Authored-By: OpenMatrix https://github.com/bigfish1913/openmatrix
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
type: feat/fix/test/refactor/docs。禁止 emoji。
|
|
383
|
+
</notes>
|