openmatrix 0.2.17 → 0.2.19

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.2.17",
3
+ "version": "0.2.19",
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/deploy.md CHANGED
@@ -13,7 +13,32 @@ description: "智能部署助手:分析项目+系统环境 → 推荐最可行
13
13
 
14
14
  <process>
15
15
 
16
- ## Step 1: 分析项目文件
16
+ ## Step 1: 读取历史部署配置
17
+
18
+ ```bash
19
+ cat .openmatrix/deploy-config.json 2>/dev/null || echo "NO_HISTORY"
20
+ ```
21
+
22
+ **如果有历史配置:**
23
+ - 对比上次记录的关键文件和当前实际文件
24
+ - 判断是否有变更
25
+
26
+ ```bash
27
+ # 对比关键文件是否存在变化
28
+ ls -la Dockerfile docker-compose.yml Makefile Taskfile.yml 2>/dev/null
29
+ cat package.json 2>/dev/null | grep -E '"(deploy|start|build)"'
30
+ ```
31
+
32
+ **变更检测结果:**
33
+ | 状态 | 处理 |
34
+ |------|------|
35
+ | 无历史配置 | 正常流程(分析+询问) |
36
+ | 无变更 | 直接使用上次配置,仅确认一次 |
37
+ | 有变更 | 重新分析并询问 |
38
+
39
+ ---
40
+
41
+ ## Step 2: 分析项目文件
17
42
 
18
43
  直接读取项目文件,不调用 CLI:
19
44
 
@@ -34,7 +59,7 @@ cat requirements.txt pyproject.toml 2>/dev/null
34
59
 
35
60
  ---
36
61
 
37
- ## Step 2: 检测系统环境
62
+ ## Step 3: 检测系统环境
38
63
 
39
64
  ```bash
40
65
  # 检测已安装的工具
@@ -52,7 +77,7 @@ uname -s 2>/dev/null || echo "Windows"
52
77
 
53
78
  ---
54
79
 
55
- ## Step 3: AI 分析并展示环境报告
80
+ ## Step 4: AI 分析并展示环境报告
56
81
 
57
82
  基于收集到的信息,直接输出分析报告(不用 AskUserQuestion):
58
83
 
@@ -76,7 +101,7 @@ uname -s 2>/dev/null || echo "Windows"
76
101
 
77
102
  ---
78
103
 
79
- ## Step 4: 推荐部署方案(带理由)
104
+ ## Step 5: 推荐部署方案(带理由)
80
105
 
81
106
  AI 根据"项目配置 × 已安装工具"交叉分析,用 AskUserQuestion 展示推荐方案:
82
107
 
@@ -106,7 +131,7 @@ AskUserQuestion:
106
131
 
107
132
  ---
108
133
 
109
- ## Step 5: 确认部署环境
134
+ ## Step 6: 确认部署环境
110
135
 
111
136
  ```
112
137
  AskUserQuestion:
@@ -124,7 +149,7 @@ AskUserQuestion:
124
149
 
125
150
  ---
126
151
 
127
- ## Step 6: 执行部署
152
+ ## Step 7: 执行部署
128
153
 
129
154
  根据用户选择,AI 执行对应命令:
130
155
 
@@ -163,7 +188,7 @@ curl -s http://localhost:<port>/health 2>/dev/null || echo "服务已启动"
163
188
 
164
189
  ---
165
190
 
166
- ## Step 7: 询问是否生成一键脚本
191
+ ## Step 8: 询问是否生成一键脚本
167
192
 
168
193
  ```
169
194
  AskUserQuestion:
@@ -183,7 +208,7 @@ AskUserQuestion:
183
208
 
184
209
  ---
185
210
 
186
- ## Step 8: 生成一键脚本
211
+ ## Step 9: 生成一键脚本
187
212
 
188
213
  根据用户选择和项目实际情况,用 Write 工具生成脚本。
189
214
 
@@ -277,7 +302,35 @@ stop:
277
302
 
278
303
  ---
279
304
 
280
- ## Step 9: 输出总结
305
+ ## Step 10: 保存部署配置
306
+
307
+ 将用户选择的部署方式保存到 `.openmatrix/deploy-config.json`:
308
+
309
+ ```json
310
+ {
311
+ "deployMethod": "docker",
312
+ "envType": "local",
313
+ "scriptTool": "taskfile",
314
+ "lastDetectedFiles": {
315
+ "Dockerfile": true,
316
+ "docker-compose.yml": false,
317
+ "Makefile": false,
318
+ "package.json": true
319
+ },
320
+ "lastDetectedTools": {
321
+ "docker": "24.0.5",
322
+ "make": "4.3",
323
+ "task": null
324
+ },
325
+ "timestamp": "2026-04-22T15:00:00Z"
326
+ }
327
+ ```
328
+
329
+ 下次运行时,对比 `lastDetectedFiles` 和当前实际文件状态,判断是否需要重新询问。
330
+
331
+ ---
332
+
333
+ ## Step 11: 输出总结
281
334
 
282
335
  ```markdown
283
336
  ## ✅ 部署完成
@@ -313,6 +366,19 @@ $ARGUMENTS
313
366
  2. **AI 是执行者**:用户确认后直接运行命令,不只是给建议
314
367
  3. **推荐最可行的**:基于"当前系统已有什么工具",不是"理论上最好的"
315
368
  4. **产出可复用脚本**:最终生成 Taskfile/Makefile,方便后续开发调试
369
+ 5. **记录上次选择**:保存部署配置,下次未变化时直接复用,减少重复询问
370
+
371
+ ## 历史配置复用
372
+
373
+ `.openmatrix/deploy-config.json` 存储上次部署选择:
374
+ - 对比 `lastDetectedFiles` 和当前文件状态
375
+ - 状态一致 → 直接使用上次配置,仅确认一次
376
+ - 状态变化 → 重新分析并询问
377
+
378
+ 变更检测:
379
+ - Dockerfile/docker-compose.yml/Makefile 新增或删除
380
+ - package.json scripts 变化
381
+ - 系统工具安装状态变化
316
382
 
317
383
  ## 推荐决策依据(AI 自行判断)
318
384
 
package/skills/om.md CHANGED
@@ -15,8 +15,6 @@ always_load: true
15
15
  - "实现X" / "implement X" / "build X" → Development task → This skill
16
16
  - "修复X" / "fix X" → Development task → This skill
17
17
  - "怎么实现?" / "how to?" → Question → NOT this skill (just answer)
18
-
19
- Complex tasks route to `/om:brainstorm`, simple tasks route to `/om:start`.
20
18
  </EXTREMELY-IMPORTANT>
21
19
 
22
20
  <NO-OTHER-SKILLS>
@@ -31,72 +29,95 @@ OpenMatrix 默认入口 — 用户无需记忆命令,直接描述任务即可
31
29
  </objective>
32
30
 
33
31
  <process>
34
- 1. **Parse user input**
35
-
36
- `$ARGUMENTS` can be:
37
- - Task description: "实现用户登录功能"
38
- - File path: "docs/task.md"
39
- - Empty input
40
-
41
- 2. **复杂度评估与路由**
42
-
43
- **AI 评估任务复杂度(< 3 秒):**
44
-
45
- | 条件 | 路由 |
46
- |-----|-----|
47
- | 描述 ≤ 100 字 + 单一功能 + 无架构设计 + 小需求关键词 | → `/om:feature` |
48
- | 多个独立子系统 + 需要架构设计 + 从零搭建/重构/迁移 | → `/om:brainstorm` |
49
- | 中等复杂度 + 需要完整追踪 + 实现/修复关键词 | → `/om:start` |
50
-
51
- **小需求关键词:**
52
- 小需求、小功能、小改动、minor、quick、快速、简单、添加按钮、加个字段、轻量
53
-
54
- **复杂任务关键词:**
55
- 从零搭建、重构、迁移、架构、设计、多模块、系统
56
-
57
- **标准任务关键词:**
58
- 实现、修复、添加功能、开发(非小改动)
59
-
60
- 3. **Auto-route examples**
61
-
62
- ```
63
- "给列表页添加搜索按钮" → /om:feature (小需求)
64
- "实现用户登录功能" → /om:start (标准)
65
- "从零搭建后台系统" → /om:brainstorm (复杂)
66
- "修复登录页面的样式" → /om:start (标准)
67
- "小改动:调整按钮颜色" /om:feature (小需求关键词)
68
- "docs/task.md" /om:start (从文件)
69
- ```
70
-
71
- 4. **Help**
72
-
73
- If empty or `--help`:
74
- ```
75
- OpenMatrix - AI task orchestration
76
-
77
- Usage:
78
- /om <task> Start task
79
- /om:brainstorm <task> Brainstorm first
80
- /om:start <task> Interactive start
81
- /om:auto <task> Full auto
82
-
83
- Examples:
84
- /om 实现用户登录功能
85
- /om 修复登录页面的样式问题
86
- /om 添加 API 接口
87
-
88
- Quality:
89
- strict - TDD + 80% coverage
90
- balanced - 60% coverage
91
- fast - No gates
92
-
93
- Commands:
94
- /om:brainstorm - Brainstorm then execute
95
- /om:status - View status
96
- /om:meeting - Handle blockers
97
- /om:report - Generate report
98
- /om:debug - Systematic debugging (bug/error investigation)
99
- ```
32
+
33
+ ## Step 1: 解析用户输入
34
+
35
+ `$ARGUMENTS` 可以是:
36
+ - 任务描述: "实现用户登录功能"
37
+ - 文件路径: "docs/task.md"
38
+ - 空输入 → 显示帮助
39
+
40
+ **如果是文件路径,先读取文件内容作为任务描述。**
41
+
42
+ ## Step 2: AI 语义评估(推荐路由)
43
+
44
+ **Claude 综合分析任务语义,给出推荐路由 + 理由:**
45
+
46
+ ### 判断维度(语义优先)
47
+
48
+ AI 综合考虑以下维度,而非依赖关键词匹配:
49
+
50
+ - **改动范围**:单一改动点 vs 多模块协同
51
+ - **设计需求**:可直接实现 vs 需要先设计/选型
52
+ - **产出类型**:仅代码变更 vs 包含文档/规范/调研
53
+ - **用户意图**:是否表达"快速/简单/轻量"期望
54
+
55
+ ### 推荐输出
56
+
57
+ AI 判断后输出(供 Step 3 使用):
58
+ - `recommendedRoute`: feature | start | brainstorm
59
+ - `recommendReason`: 一句话说明推荐理由
60
+
61
+ **判断示例:**
62
+
63
+ | 任务描述 | 推荐 | 理由 |
64
+ |---------|------|------|
65
+ | "给列表页添加搜索按钮" | feature | 单一组件改动,无需设计 |
66
+ | "实现用户登录功能" | start | 完整功能需质量门禁追踪 |
67
+ | "从零搭建后台管理系统" | brainstorm | 架构设计需先规划后执行 |
68
+ | "小改动:调整按钮颜色" | feature | 用户表达轻量意图 |
69
+ | "重构认证模块支持 OAuth" | brainstorm | 多方案需技术选型 |
70
+
71
+ ## Step 3: 用户确认路由
72
+
73
+ **AI 先判断推荐路由,再让用户确认:**
74
+
75
+ AskUserQuestion: `header: "任务流程"`, `multiSelect: false`
76
+
77
+ **question:** 选择执行流程(AI 推荐:${recommendedRoute},原因:${recommendReason})
78
+
79
+ | label | description |
80
+ |-------|-------------|
81
+ | `小需求流程 (推荐)` | 2-5 个任务块,轻量追踪,适合单一改动点 |
82
+ | `标准流程` | 完整追踪,质量门禁,适合中等复杂度 |
83
+ | `复杂流程` | 先设计后执行,适合架构/重构/多模块 |
84
+
85
+ **用户选择后,调用对应 Skill:**
86
+ - 选择 "小需求流程" → Skill("om:feature", args=任务描述)
87
+ - 选择 "标准流程" Skill("om:start", args=任务描述)
88
+ - 选择 "复杂流程" → Skill("om:brainstorm", args=任务描述)
89
+
90
+ ## Step 4: 空输入或 --help
91
+
92
+ 显示帮助信息:
93
+ ```
94
+ OpenMatrix - AI task orchestration
95
+
96
+ Usage:
97
+ /om <task> AI 推荐路由,用户确认后执行
98
+ /om:feature <task> 小需求快速流程(跳过推荐)
99
+ /om:start <task> 标准任务流程(跳过推荐)
100
+ /om:brainstorm <task> 复杂任务先设计后执行(跳过推荐)
101
+ /om:auto <task> 全自动执行
102
+
103
+ Examples:
104
+ /om 给列表页添加搜索按钮 → AI 推荐小需求流程
105
+ /om 实现用户登录功能 → AI 推荐标准流程
106
+ /om 从零搭建后台系统 → AI 推荐复杂流程
107
+
108
+ Quality:
109
+ strict - TDD + 80% coverage
110
+ balanced - 60% coverage
111
+ fast - No gates
112
+
113
+ Commands:
114
+ /om:status - 查看执行状态
115
+ /om:meeting - 处理阻塞任务
116
+ /om:report - 生成执行报告
117
+ /om:debug - 系统化调试
118
+ /om:resume - 恢复中断任务
119
+ ```
120
+
100
121
  </process>
101
122
 
102
123
  <arguments>
@@ -104,16 +125,20 @@ $ARGUMENTS
104
125
  </arguments>
105
126
 
106
127
  <examples>
107
- /om 给用户列表页添加搜索功能 → /om:feature (小需求)
108
- /om 小改动:调整按钮颜色 → /om:feature (小需求关键词)
109
- /om 实现用户登录功能 → /om:start (标准)
110
- /om 从零搭建后台系统 → /om:brainstorm (复杂)
111
- /om 修复登录页面的样式问题 → /om:start (标准)
112
- /om docs/task.md → /om:start (从文件)
113
- /om → Show help
128
+ /om 给用户列表页添加搜索功能 → AI 推荐小需求流程,用户确认
129
+ /om 小改动:调整按钮颜色 → AI 推荐小需求流程,用户确认
130
+ /om 实现用户登录功能 → AI 推荐标准流程,用户确认
131
+ /om 从零搭建后台系统 → AI 推荐复杂流程,用户确认
132
+ /om 修复登录页面的样式问题 → AI 推荐标准流程,用户确认
133
+ /om docs/task.md → 读取文件后 AI 推荐,用户确认
134
+ /om → 显示帮助
114
135
  </examples>
115
136
 
116
137
  <notes>
117
- `/om` is shorthand for the OpenMatrix workflow. Same skill set as `openmatrix`, shorter invocation.
118
- Available commands: `/om:brainstorm`, `/om:start`, `/om:feature`, `/om:auto`, `/om:status`, `/om:meeting`, `/om:report`, `/om:resume`, `/om:retry`, `/om:research`, `/om:approve`, `/om:check`, `/om:debug`
138
+ `/om` OpenMatrix 工作的简写。路由流程:
139
+ 1. AI 评估任务复杂度,给出推荐路由和原因
140
+ 2. AskUserQuestion 让用户确认(标注推荐选项)
141
+ 3. 用户选择后调用对应 skill
142
+
143
+ 可用命令: `/om:brainstorm`, `/om:start`, `/om:feature`, `/om:auto`, `/om:status`, `/om:meeting`, `/om:report`, `/om:resume`, `/om:retry`, `/om:research`, `/om:approve`, `/om:check`, `/om:debug`
119
144
  </notes>