openmatrix 0.1.97 → 0.1.99
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/agents/agent-runner.js +42 -18
- package/dist/orchestrator/phase-executor.js +125 -1
- package/package.json +1 -1
- package/skills/brainstorm.md +455 -495
- package/skills/meeting.md +57 -96
- package/skills/start.md +39 -96
package/skills/meeting.md
CHANGED
|
@@ -47,22 +47,17 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
47
47
|
|
|
48
48
|
4. **使用 AskUserQuestion 选择处理哪个 Meeting**
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
],
|
|
62
|
-
multiSelect: false
|
|
63
|
-
}]
|
|
64
|
-
})
|
|
65
|
-
```
|
|
50
|
+
**先在界面展示 Meeting 列表详情,再用简短 AskUserQuestion 让用户选择:**
|
|
51
|
+
|
|
52
|
+
AskUserQuestion: `header: "选择 Meeting"`, `multiSelect: false`
|
|
53
|
+
**question:** 请选择要处理的 Meeting(详情已展示在上方)
|
|
54
|
+
|
|
55
|
+
| label | description |
|
|
56
|
+
|-------|-------------|
|
|
57
|
+
| [1] TASK-001 - 数据库连接失败 | 阻塞 - 需要信息 |
|
|
58
|
+
| [2] TASK-003 - API设计决策 | 决策 - 技术选型 |
|
|
59
|
+
| 全部跳过 | 标记所有 Meeting 为跳过 |
|
|
60
|
+
| 返回 | 暂不处理 |
|
|
66
61
|
|
|
67
62
|
5. **处理单个 Meeting**
|
|
68
63
|
|
|
@@ -92,37 +87,25 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
92
87
|
[D] ✏️ 修改方案 - 调整任务执行方案
|
|
93
88
|
```
|
|
94
89
|
|
|
95
|
-
**使用 AskUserQuestion
|
|
96
|
-
|
|
97
|
-
AskUserQuestion
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
],
|
|
108
|
-
multiSelect: false
|
|
109
|
-
}]
|
|
110
|
-
})
|
|
111
|
-
```
|
|
90
|
+
**使用 AskUserQuestion(阻塞详情已展示在上方):**
|
|
91
|
+
|
|
92
|
+
AskUserQuestion: `header: "处理阻塞"`, `multiSelect: false`
|
|
93
|
+
**question:** 请选择操作
|
|
94
|
+
|
|
95
|
+
| label | description |
|
|
96
|
+
|-------|-------------|
|
|
97
|
+
| 提供信息 | 提供解决问题所需的信息 |
|
|
98
|
+
| 跳过任务 | 标记为可选,继续执行下游任务 |
|
|
99
|
+
| 重试 | 使用新信息重试此任务 |
|
|
100
|
+
| 修改方案 | 调整任务执行方案 |
|
|
101
|
+
| 返回列表 | 暂不处理 |
|
|
112
102
|
|
|
113
103
|
6. **处理具体选择**
|
|
114
104
|
|
|
115
105
|
**如果选择"提供信息":**
|
|
116
|
-
|
|
117
|
-
AskUserQuestion
|
|
118
|
-
|
|
119
|
-
question: "请提供解决此阻塞所需的信息:",
|
|
120
|
-
header: "详细信息",
|
|
121
|
-
options: [], // 允许自由输入
|
|
122
|
-
multiSelect: false
|
|
123
|
-
}]
|
|
124
|
-
})
|
|
125
|
-
```
|
|
106
|
+
|
|
107
|
+
AskUserQuestion: `header: "详细信息"`, `multiSelect: false`
|
|
108
|
+
**question:** 请提供解决此阻塞所需的信息
|
|
126
109
|
|
|
127
110
|
然后执行:
|
|
128
111
|
```bash
|
|
@@ -131,19 +114,14 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
131
114
|
```
|
|
132
115
|
|
|
133
116
|
**如果选择"跳过任务":**
|
|
134
|
-
|
|
135
|
-
AskUserQuestion
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
],
|
|
143
|
-
multiSelect: false
|
|
144
|
-
}]
|
|
145
|
-
})
|
|
146
|
-
```
|
|
117
|
+
|
|
118
|
+
AskUserQuestion: `header: "确认"`, `multiSelect: false`
|
|
119
|
+
**question:** 确定要跳过此任务吗?
|
|
120
|
+
|
|
121
|
+
| label | description |
|
|
122
|
+
|-------|-------------|
|
|
123
|
+
| 确认跳过 | 标记为可选,继续下游 |
|
|
124
|
+
| 取消 | 返回 |
|
|
147
125
|
|
|
148
126
|
然后执行:
|
|
149
127
|
```bash
|
|
@@ -156,16 +134,9 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
156
134
|
```
|
|
157
135
|
|
|
158
136
|
**如果选择"修改方案":**
|
|
159
|
-
|
|
160
|
-
AskUserQuestion
|
|
161
|
-
|
|
162
|
-
question: "请描述修改后的方案:",
|
|
163
|
-
header: "新方案",
|
|
164
|
-
options: [], // 允许自由输入
|
|
165
|
-
multiSelect: false
|
|
166
|
-
}]
|
|
167
|
-
})
|
|
168
|
-
```
|
|
137
|
+
|
|
138
|
+
AskUserQuestion: `header: "新方案"`, `multiSelect: false`
|
|
139
|
+
**question:** 请描述修改后的方案
|
|
169
140
|
|
|
170
141
|
然后执行:
|
|
171
142
|
```bash
|
|
@@ -204,23 +175,18 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
204
175
|
[C] 自定义方案
|
|
205
176
|
```
|
|
206
177
|
|
|
207
|
-
**使用 AskUserQuestion
|
|
208
|
-
|
|
209
|
-
AskUserQuestion
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
],
|
|
220
|
-
multiSelect: false
|
|
221
|
-
}]
|
|
222
|
-
})
|
|
223
|
-
```
|
|
178
|
+
**使用 AskUserQuestion(方案详情已展示在上方):**
|
|
179
|
+
|
|
180
|
+
AskUserQuestion: `header: "技术决策"`, `multiSelect: false`
|
|
181
|
+
**question:** 请做出决策
|
|
182
|
+
|
|
183
|
+
| label | description |
|
|
184
|
+
|-------|-------------|
|
|
185
|
+
| 选择方案 1: REST | 简单直观,团队熟悉 |
|
|
186
|
+
| 选择方案 2: GraphQL | 灵活查询,强类型 |
|
|
187
|
+
| 自定义方案 | 输入其他方案 |
|
|
188
|
+
| 需要更多信息 | 暂不决策,等待调研 |
|
|
189
|
+
| 返回列表 | 返回 Meeting 列表 |
|
|
224
190
|
|
|
225
191
|
执行决策:
|
|
226
192
|
```bash
|
|
@@ -257,19 +223,14 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
|
|
|
257
223
|
9. **批量处理**
|
|
258
224
|
|
|
259
225
|
如果选择"全部跳过":
|
|
260
|
-
|
|
261
|
-
AskUserQuestion
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
],
|
|
269
|
-
multiSelect: false
|
|
270
|
-
}]
|
|
271
|
-
})
|
|
272
|
-
```
|
|
226
|
+
|
|
227
|
+
AskUserQuestion: `header: "批量操作"`, `multiSelect: false`
|
|
228
|
+
**question:** 确定要跳过所有 Meeting 吗?
|
|
229
|
+
|
|
230
|
+
| label | description |
|
|
231
|
+
|-------|-------------|
|
|
232
|
+
| 确认全部跳过 | 标记所有为可选 |
|
|
233
|
+
| 取消 | 返回列表 |
|
|
273
234
|
|
|
274
235
|
```bash
|
|
275
236
|
openmatrix meeting --skip-all --message "批量跳过"
|
package/skills/start.md
CHANGED
|
@@ -124,92 +124,50 @@ git init
|
|
|
124
124
|
|
|
125
125
|
---
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
### Step 4: 必选问题(不可跳过,不可使用默认值,必须通过 AskUserQuestion 让用户选择)
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
**不允许使用任何默认值。必须通过 AskUserQuestion 让用户选择。**
|
|
131
|
-
**如果没有执行 Step 4 就进入 Step 5+,任务执行失败。**
|
|
129
|
+
根据 `goalTypes` 字段判断需要询问哪些问题:
|
|
132
130
|
|
|
133
|
-
|
|
131
|
+
| goalTypes | 需要询问 |
|
|
132
|
+
|-----------|---------|
|
|
133
|
+
| `development` | 4.1 质量等级 → 4.2 E2E → 4.3 执行模式 |
|
|
134
|
+
| `testing` | 仅 4.3 执行模式 |
|
|
135
|
+
| `documentation` / `other` | 仅 4.3 执行模式 |
|
|
134
136
|
|
|
135
|
-
|
|
137
|
+
#### 4.1 质量等级(仅 `goalTypes: development`)
|
|
136
138
|
|
|
137
|
-
|
|
138
|
-
|---------|---------------|
|
|
139
|
-
| **开发任务**(新功能、Bug修复、重构) | 4.1 质量等级 + 4.2 E2E + 4.3 执行模式 |
|
|
140
|
-
| **测试任务**(纯测试、写测试用例) | 仅 4.3 执行模式 |
|
|
141
|
-
| **非开发任务**(文档、配置、纯阅读) | 仅 4.3 执行模式 |
|
|
139
|
+
AskUserQuestion: `header: "质量等级"`, `multiSelect: false`
|
|
142
140
|
|
|
143
|
-
|
|
144
|
-
- `development` → 开发任务 → 问 4.1 + 4.2 + 4.3
|
|
145
|
-
- `testing` → 测试任务 → 仅问 4.3
|
|
146
|
-
- `documentation` / `other` → 非开发任务 → 仅问 4.3
|
|
141
|
+
**question:** 选择质量等级(决定测试覆盖、Lint、安全扫描等要求)
|
|
147
142
|
|
|
148
|
-
|
|
143
|
+
| label | description |
|
|
144
|
+
|-------|-------------|
|
|
145
|
+
| `strict` | TDD + >80%覆盖率 + 严格Lint + 安全扫描 — 生产级代码 |
|
|
146
|
+
| `balanced (推荐)` | >60%覆盖率 + Lint + 安全扫描 — 日常开发 |
|
|
147
|
+
| `fast` | 无质量门禁 — 快速原型/验证 |
|
|
149
148
|
|
|
150
|
-
#### 4.
|
|
149
|
+
#### 4.2 E2E 测试(仅 `development` 且选 strict/balanced,选 `fast` 跳过)
|
|
151
150
|
|
|
152
|
-
|
|
151
|
+
AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
|
|
153
152
|
|
|
154
|
-
|
|
155
|
-
AskUserQuestion({
|
|
156
|
-
questions: [
|
|
157
|
-
{
|
|
158
|
-
question: "选择质量等级(决定测试覆盖、Lint、安全扫描等要求):",
|
|
159
|
-
header: "质量等级",
|
|
160
|
-
options: [
|
|
161
|
-
{ label: "strict", description: "TDD + >80%覆盖率 + 严格Lint + 安全扫描 — 生产级代码" },
|
|
162
|
-
{ label: "balanced (推荐)", description: ">60%覆盖率 + Lint + 安全扫描 — 日常开发" },
|
|
163
|
-
{ label: "fast", description: "无质量门禁 — 快速原型/验证" }
|
|
164
|
-
],
|
|
165
|
-
multiSelect: false
|
|
166
|
-
}
|
|
167
|
-
]
|
|
168
|
-
})
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
#### 4.2 E2E 测试(仅开发任务且选 strict/balanced 时)
|
|
172
|
-
|
|
173
|
-
如果开发任务且用户选择了 `strict` 或 `balanced`,继续询问:
|
|
174
|
-
|
|
175
|
-
```typescript
|
|
176
|
-
AskUserQuestion({
|
|
177
|
-
questions: [
|
|
178
|
-
{
|
|
179
|
-
question: "是否启用端到端 (E2E) 测试?(适用于 Web/Mobile/GUI 项目,耗时较长)",
|
|
180
|
-
header: "E2E 测试",
|
|
181
|
-
options: [
|
|
182
|
-
{ label: "启用 E2E 测试", description: "使用 Playwright/Cypress 等框架进行端到端测试" },
|
|
183
|
-
{ label: "不启用 (推荐)", description: "仅进行单元测试和集成测试,节省时间" }
|
|
184
|
-
],
|
|
185
|
-
multiSelect: false
|
|
186
|
-
}
|
|
187
|
-
]
|
|
188
|
-
})
|
|
189
|
-
```
|
|
153
|
+
**question:** 是否启用端到端 (E2E) 测试?(适用于 Web/Mobile/GUI 项目,耗时较长)
|
|
190
154
|
|
|
191
|
-
|
|
155
|
+
| label | description |
|
|
156
|
+
|-------|-------------|
|
|
157
|
+
| `不启用 (推荐)` | 仅进行单元测试和集成测试,节省时间 |
|
|
158
|
+
| `启用 E2E 测试` | 使用 Playwright/Cypress 等框架进行端到端测试 |
|
|
192
159
|
|
|
193
160
|
#### 4.3 执行模式(所有任务必选)
|
|
194
161
|
|
|
195
|
-
|
|
162
|
+
AskUserQuestion: `header: "执行模式"`, `multiSelect: false`
|
|
196
163
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
{ label: "全自动执行 (推荐)", description: "全自动执行,无需人工审批,遇到阻塞自动 Meeting" },
|
|
205
|
-
{ label: "关键节点确认", description: "plan/merge/deploy 时暂停确认" },
|
|
206
|
-
{ label: "每阶段确认", description: "每个阶段(develop/verify/accept)完成后暂停" }
|
|
207
|
-
],
|
|
208
|
-
multiSelect: false
|
|
209
|
-
}
|
|
210
|
-
]
|
|
211
|
-
})
|
|
212
|
-
```
|
|
164
|
+
**question:** 选择执行模式(控制 AI 执行过程中的审批节点)
|
|
165
|
+
|
|
166
|
+
| label | description |
|
|
167
|
+
|-------|-------------|
|
|
168
|
+
| `全自动执行 (推荐)` | 全自动执行,无需人工审批,遇到阻塞自动 Meeting |
|
|
169
|
+
| `关键节点确认` | plan/merge/deploy 时暂停确认 |
|
|
170
|
+
| `每阶段确认` | 每个阶段(develop/verify/accept)完成后暂停 |
|
|
213
171
|
|
|
214
172
|
### Step 5: 可选问题(仅复杂任务)
|
|
215
173
|
|
|
@@ -376,31 +334,16 @@ openmatrix step --json
|
|
|
376
334
|
|
|
377
335
|
**交互式审批流程(非全自动模式):**
|
|
378
336
|
|
|
379
|
-
当到达审批点时,使用 `openmatrix approve --json`(不带 ID
|
|
337
|
+
当到达审批点时,使用 `openmatrix approve --json`(不带 ID)查看待审批项,**先在界面展示审批内容摘要**,再用简短 AskUserQuestion 请求确认:
|
|
380
338
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
[审批内容摘要]
|
|
391
|
-
|
|
392
|
-
是否批准?",
|
|
393
|
-
header: "审批",
|
|
394
|
-
options: [
|
|
395
|
-
{ label: "批准", description: "同意继续执行" },
|
|
396
|
-
{ label: "拒绝", description: "拒绝并停止执行" },
|
|
397
|
-
{ label: "查看详情", description: "查看完整审批内容后再决定" }
|
|
398
|
-
],
|
|
399
|
-
multiSelect: false
|
|
400
|
-
}
|
|
401
|
-
]
|
|
402
|
-
})
|
|
403
|
-
```
|
|
339
|
+
AskUserQuestion: `header: "审批"`, `multiSelect: false`
|
|
340
|
+
**question:** 是否批准此审批请求?(详情已展示在上方)
|
|
341
|
+
|
|
342
|
+
| label | description |
|
|
343
|
+
|-------|-------------|
|
|
344
|
+
| 批准 | 同意继续执行 |
|
|
345
|
+
| 拒绝 | 拒绝并停止执行 |
|
|
346
|
+
| 查看详情 | 查看完整审批内容后再决定 |
|
|
404
347
|
|
|
405
348
|
用户选择后,执行对应命令:
|
|
406
349
|
- 批准: `openmatrix approve <approval-id> -d approve --json`
|