openmatrix 0.1.52 → 0.1.54

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmatrix",
3
- "version": "0.1.52",
3
+ "version": "0.1.54",
4
4
  "description": "AI Agent task orchestration system with Claude Code Skills integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/skills/auto.md CHANGED
@@ -118,7 +118,32 @@ CLI 返回的 JSON 中 `subagentTasks` 数组包含每个待执行任务:
118
118
 
119
119
  ## === 执行阶段(只有此阶段才能写业务代码)===
120
120
 
121
- ### Step 6: 逐个执行 subagentTasks
121
+ ### Step 6: 逐个执行 subagentTasks(禁止中断)
122
+
123
+ <LOOP-ENFORCEMENT>
124
+ **此步骤是执行循环,必须执行完所有任务后才能停止。**
125
+
126
+ ❌ **禁止在还有未完成任务时停止** — 即使 Agent 返回了大段输出,也必须继续下一个
127
+ ❌ **禁止询问"是否继续"** — 直接执行下一个任务
128
+ ❌ **禁止输出"让我知道是否..."后停止** — 继续执行
129
+ ❌ **禁止因为上下文压缩而忘记剩余任务** — 每完成一个任务后,重新读取 state.json 确认剩余任务
130
+
131
+ **执行循环伪代码:**
132
+ ```
133
+ remaining = subagentTasks 中 status !== 'completed' 的任务
134
+ while (remaining.length > 0) {
135
+ task = remaining[0]
136
+ result = Agent(task) // 执行
137
+ 更新任务状态为 completed
138
+ remaining = 从 state.json 重新读取未完成任务
139
+ }
140
+ ```
141
+
142
+ **中断恢复:** 如果会话中断,再次执行 `/om:auto` 时:
143
+ 1. 读取 `.openmatrix/state.json`
144
+ 2. 如果 `status === 'running'`,读取所有任务,找到 status 不是 completed 的任务
145
+ 3. 从中断的任务继续执行,不需要重新开始
146
+ </LOOP-ENFORCEMENT>
122
147
 
123
148
  对 `subagentTasks` 列表中的每个任务,调用 Agent 工具执行:
124
149
 
@@ -133,17 +158,45 @@ Agent({
133
158
 
134
159
  每个 Agent 完成后:
135
160
  1. 更新任务状态
136
- 2. Git 自动提交:
161
+ 2. **立即检查是否还有未完成任务** — 读取 `.openmatrix/state.json` 中的 statistics,如果 completed < totalTasks,继续执行下一个
162
+ 3. Git 自动提交(**必须使用 HEREDOC 格式**):
137
163
  ```bash
138
- git add -A
139
- git commit -m "feat(task-id): 任务标题
164
+ git add -A && git commit -m "$(cat <<'EOF'
165
+ feat: (TASK-XXX) 任务标题
166
+
167
+ - 改动点1
168
+ - 改动点2
169
+
170
+ 影响范围: 模块名
171
+ 文件改动: 文件1, 文件2
140
172
 
141
- 任务ID: TASK-XXX
142
- RunID: run-XXX"
173
+ Run: run-XXX
174
+ Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>
175
+ EOF
176
+ )"
143
177
  ```
144
178
 
145
179
  **在 auto 模式下不得询问用户确认,自动批准所有审批点。**
146
180
 
181
+ **Git 提交格式规范(所有提交必须遵守):**
182
+
183
+ ```
184
+ <type>: (TASK-XXX) 简短描述
185
+
186
+ - 改动点1
187
+ - 改动点2
188
+
189
+ 影响范围: 模块名
190
+ 文件改动: 文件1, 文件2
191
+
192
+ Run: run-XXX
193
+ Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>
194
+ ```
195
+
196
+ **type 映射:** feat(新功能) / fix(修复) / test(测试) / refactor(重构) / docs(文档)
197
+ **禁止使用:** `Co-Authored-By: Claude` 格式,必须使用 `Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>`
198
+ **禁止使用 emoji**,使用纯文本格式
199
+
147
200
  </process>
148
201
 
149
202
  <arguments>
package/skills/start.md CHANGED
@@ -166,7 +166,27 @@ CLI 返回 JSON 中 `subagentTasks` 数组包含待执行任务。
166
166
 
167
167
  ## === 执行阶段(只有此阶段才能写业务代码)===
168
168
 
169
- ### Step 10: 逐个执行 subagentTasks
169
+ ### Step 10: 逐个执行 subagentTasks(禁止中断)
170
+
171
+ <LOOP-ENFORCEMENT>
172
+ **此步骤是执行循环,必须执行完所有任务后才能停止。**
173
+
174
+ ❌ **禁止在还有未完成任务时停止** — 即使 Agent 返回了大段输出,也必须继续下一个
175
+ ❌ **禁止询问"是否继续"** — 直接执行下一个任务
176
+ ❌ **禁止输出"让我知道是否..."后停止** — 继续执行
177
+ ❌ **禁止因为上下文压缩而忘记剩余任务** — 每完成一个任务后,重新读取 state.json 确认剩余任务
178
+
179
+ **执行循环伪代码:**
180
+ ```
181
+ remaining = subagentTasks 中 status !== 'completed' 的任务
182
+ while (remaining.length > 0) {
183
+ task = remaining[0]
184
+ result = Agent(task) // 执行
185
+ 更新任务状态为 completed
186
+ remaining = 从 state.json 重新读取未完成任务
187
+ }
188
+ ```
189
+ </LOOP-ENFORCEMENT>
170
190
 
171
191
  对每个任务调用 Agent 工具:
172
192
 
@@ -180,9 +200,15 @@ Agent({
180
200
  ```
181
201
 
182
202
  每个 Agent 完成后:
183
- 1. 更新任务状态
184
- 2. Git 自动提交
185
- 3. 检查审批点(auto 模式自动批准,其他模式按配置暂停)
203
+ 1. 更新任务状态: `openmatrix complete <taskId>` 或更新 state
204
+ 2. Git 自动提交(必须使用下方统一提交格式)
205
+ 3. **立即检查是否还有未完成任务** — 读取 `.openmatrix/state.json` 中的 statistics,如果 completed < totalTasks,继续执行下一个
206
+ 4. 检查审批点(auto 模式自动批准,其他模式按配置暂停)
207
+
208
+ **中断恢复:** 如果会话中断,再次执行 `/om:start` 时:
209
+ 1. 读取 `.openmatrix/state.json`
210
+ 2. 如果 `status === 'running'`,读取所有任务,找到 status 不是 completed 的任务
211
+ 3. 从中断的任务继续执行,不需要重新开始
186
212
 
187
213
  **Meeting 处理(auto 模式):** 记录并跳过,执行完成后统一展示。
188
214
 
@@ -192,15 +218,43 @@ openmatrix meeting --list
192
218
  ```
193
219
  如有 pending Meeting,交互式处理。
194
220
 
195
- 最终 Git 提交:
221
+ 所有任务完成后,执行最终 Git 提交(**必须使用 HEREDOC 格式**):
196
222
  ```bash
197
- git add -A
198
- git commit -m "feat: 完成所有任务
223
+ git add -A && git commit -m "$(cat <<'EOF'
224
+ feat: 完成所有任务
225
+
226
+ - 任务1标题
227
+ - 任务2标题
228
+ - ...
229
+
230
+ 影响范围: 全部模块
231
+ 文件改动: 统计变更文件数
199
232
 
200
- RunID: run-XXX
201
- 任务数: N"
233
+ Run: run-XXX
234
+ Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>
235
+ EOF
236
+ )"
202
237
  ```
203
238
 
239
+ **Git 提交格式规范(所有提交必须遵守):**
240
+
241
+ ```
242
+ <type>: (TASK-XXX) 简短描述
243
+
244
+ - 改动点1
245
+ - 改动点2
246
+
247
+ 影响范围: 模块名
248
+ 文件改动: 文件1, 文件2
249
+
250
+ Run: run-XXX
251
+ Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>
252
+ ```
253
+
254
+ **type 映射:** feat(新功能) / fix(修复) / test(测试) / refactor(重构) / docs(文档)
255
+ **禁止使用:** `Co-Authored-By: Claude` 格式,必须使用 `Co-Authored-By: OpenMatrix <https://github.com/bigfish1913/openmatrix>`
256
+ **禁止使用 emoji**,使用纯文本格式
257
+
204
258
  </process>
205
259
 
206
260
  <arguments>