openmatrix 0.1.55 → 0.1.57
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 +24 -0
- package/dist/agents/impl/researcher-agent.d.ts +10 -1
- package/dist/agents/impl/researcher-agent.js +163 -41
- package/dist/cli/commands/brainstorm.js +47 -3
- package/dist/cli/commands/complete.js +55 -48
- package/dist/cli/commands/research.d.ts +2 -0
- package/dist/cli/commands/research.js +270 -0
- package/dist/cli/commands/start.js +5 -1
- package/dist/cli/commands/step.js +61 -47
- package/dist/cli/index.js +6 -0
- package/dist/orchestrator/phase-executor.js +14 -0
- package/dist/storage/state-manager.d.ts +16 -0
- package/dist/storage/state-manager.js +58 -6
- package/dist/types/index.d.ts +37 -1
- package/package.json +1 -1
- package/skills/auto.md +22 -15
- package/skills/brainstorm.md +86 -20
- package/skills/om.md +47 -101
- package/skills/openmatrix.md +97 -190
- package/skills/research.md +258 -0
- package/skills/start.md +52 -22
package/skills/start.md
CHANGED
|
@@ -39,15 +39,24 @@ Step 10: 逐个执行 subagentTasks(调用 Agent 工具) ← 只有这步
|
|
|
39
39
|
|
|
40
40
|
## === 准备阶段(此阶段不得写任何业务代码)===
|
|
41
41
|
|
|
42
|
-
### Step 1:
|
|
42
|
+
### Step 1: 智能检测状态
|
|
43
43
|
|
|
44
|
-
检查 `.openmatrix/`
|
|
44
|
+
检查 `.openmatrix/` 目录和 `state.json` 的状态:
|
|
45
|
+
|
|
46
|
+
| 状态 | 处理方式 |
|
|
47
|
+
|------|---------|
|
|
48
|
+
| `.openmatrix/` 不存在 | 全新初始化: `openmatrix start --init-only` |
|
|
49
|
+
| `status: initialized` | 正常继续(首次使用) |
|
|
50
|
+
| `status: completed` | 提示用户:开始新任务会清理旧数据,确认后继续 |
|
|
51
|
+
| `status: running` | 提示用户先完成或暂停当前任务,然后退出 |
|
|
52
|
+
| `status: paused` | 询问用户:继续上次任务(→`/om:resume`)还是开始新任务 |
|
|
53
|
+
| `status: failed` | 询问用户:重试失败任务(→`/om:retry`)还是开始新任务 |
|
|
54
|
+
|
|
55
|
+
**如果是全新初始化:**
|
|
45
56
|
```bash
|
|
46
57
|
openmatrix start --init-only
|
|
47
58
|
```
|
|
48
59
|
|
|
49
|
-
读取 `.openmatrix/state.json`,如果 `status === 'running'`,提示用户先完成或暂停。
|
|
50
|
-
|
|
51
60
|
检查 Git 仓库:
|
|
52
61
|
- 无 `.git` → 询问用户是否初始化
|
|
53
62
|
- 无远程仓库 → 提示用户添加
|
|
@@ -87,6 +96,15 @@ AskUserQuestion({
|
|
|
87
96
|
{ label: "fast", description: "无质量门禁" }
|
|
88
97
|
],
|
|
89
98
|
multiSelect: false
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
question: "是否启用 E2E 测试? (Web/Mobile/GUI 项目推荐)",
|
|
102
|
+
header: "E2E",
|
|
103
|
+
options: [
|
|
104
|
+
{ label: "跳过 (推荐)", description: "E2E 测试耗时较长,大多数项目不需要" },
|
|
105
|
+
{ label: "启用", description: "适合 Web 应用 (Playwright/Cypress)、Mobile (Appium/Detox)" }
|
|
106
|
+
],
|
|
107
|
+
multiSelect: false
|
|
90
108
|
}
|
|
91
109
|
]
|
|
92
110
|
})
|
|
@@ -113,16 +131,16 @@ AskUserQuestion({
|
|
|
113
131
|
question: "请选择执行模式:",
|
|
114
132
|
header: "执行模式",
|
|
115
133
|
options: [
|
|
116
|
-
{ label: "
|
|
117
|
-
{ label: "关键节点确认", description: "plan/merge
|
|
118
|
-
{ label: "
|
|
134
|
+
{ label: "全自动执行 (推荐)", description: "无需确认,自动完成" },
|
|
135
|
+
{ label: "关键节点确认", description: "plan/merge 时暂停确认" },
|
|
136
|
+
{ label: "每阶段确认", description: "每个阶段完成后暂停" }
|
|
119
137
|
],
|
|
120
138
|
multiSelect: false
|
|
121
|
-
|
|
139
|
+
]
|
|
122
140
|
})
|
|
123
141
|
```
|
|
124
142
|
|
|
125
|
-
|
|
143
|
+
**默认进入 BYPASS 模式(全自动执行),用户可选其他模式。**
|
|
126
144
|
|
|
127
145
|
### Step 6: AI 提取 goals + 生成 plan
|
|
128
146
|
|
|
@@ -150,6 +168,12 @@ AskUserQuestion({
|
|
|
150
168
|
}
|
|
151
169
|
```
|
|
152
170
|
|
|
171
|
+
**E2E 测试:** 如果用户在 Step 4 选择了"启用 E2E",在 quality 后面加上:
|
|
172
|
+
```
|
|
173
|
+
"e2eTests": true
|
|
174
|
+
```
|
|
175
|
+
这会让 CLI 的 TaskPlanner 在任务拆分时生成额外的 E2E 测试任务。
|
|
176
|
+
|
|
153
177
|
### Step 8: 调用 CLI 创建任务 ⚠️ 不可跳过
|
|
154
178
|
|
|
155
179
|
**必须执行此命令,禁止跳过:**
|
|
@@ -174,18 +198,15 @@ CLI 返回 JSON 中 `subagentTasks` 数组包含待执行任务。
|
|
|
174
198
|
❌ **禁止在还有未完成任务时停止** — 即使 Agent 返回了大段输出,也必须继续下一个
|
|
175
199
|
❌ **禁止询问"是否继续"** — 直接执行下一个任务
|
|
176
200
|
❌ **禁止输出"让我知道是否..."后停止** — 继续执行
|
|
177
|
-
❌ **禁止因为上下文压缩而忘记剩余任务** —
|
|
201
|
+
❌ **禁止因为上下文压缩而忘记剩余任务** — 通过 `openmatrix step --json` 重新获取状态
|
|
178
202
|
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
result = Agent(task) // 执行
|
|
185
|
-
更新任务状态为 completed
|
|
186
|
-
remaining = 从 state.json 重新读取未完成任务
|
|
187
|
-
}
|
|
203
|
+
**文件持久化循环(防止上下文压缩丢失状态):**
|
|
204
|
+
```bash
|
|
205
|
+
# 每个 Agent 完成后执行:
|
|
206
|
+
openmatrix complete TASK-XXX --success # 标记完成 + 更新统计
|
|
207
|
+
openmatrix step --json # 获取下一个任务 + 检查是否全部完成
|
|
188
208
|
```
|
|
209
|
+
`openmatrix step` 会从磁盘读取真实状态,不依赖上下文记忆。
|
|
189
210
|
</LOOP-ENFORCEMENT>
|
|
190
211
|
|
|
191
212
|
对每个任务调用 Agent 工具:
|
|
@@ -200,7 +221,11 @@ Agent({
|
|
|
200
221
|
```
|
|
201
222
|
|
|
202
223
|
每个 Agent 完成后:
|
|
203
|
-
1.
|
|
224
|
+
1. **标记完成并更新统计(必须执行):**
|
|
225
|
+
```bash
|
|
226
|
+
openmatrix complete TASK-XXX --success
|
|
227
|
+
```
|
|
228
|
+
2. **保存 Agent 上下文** — 将执行结果摘要写入 `.openmatrix/tasks/TASK-XXX/context.md`,格式如下:
|
|
204
229
|
|
|
205
230
|
```markdown
|
|
206
231
|
## 任务: TASK-XXX 任务标题
|
|
@@ -219,9 +244,14 @@ Agent({
|
|
|
219
244
|
- [下一个 Agent 应该注意什么]
|
|
220
245
|
```
|
|
221
246
|
|
|
222
|
-
2. 更新任务状态: `openmatrix complete <taskId>` 或更新 state
|
|
223
247
|
3. Git 自动提交(必须使用下方统一提交格式)
|
|
224
|
-
4.
|
|
248
|
+
4. **获取下一个任务(防止上下文压缩丢失):**
|
|
249
|
+
```bash
|
|
250
|
+
openmatrix step --json
|
|
251
|
+
```
|
|
252
|
+
如果返回 `status: "next"` → 继续执行返回的 task
|
|
253
|
+
如果返回 `status: "done"` → 所有任务完成,进入最终提交
|
|
254
|
+
如果返回 `status: "blocked"` → 有阻塞任务,处理 Meeting
|
|
225
255
|
5. 检查审批点(auto 模式自动批准,其他模式按配置暂停)
|
|
226
256
|
|
|
227
257
|
**Agent 上下文共享机制 (Agent Memory):**
|