openmatrix 0.2.17 → 0.2.18
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 +1 -1
- package/skills/deploy.md +75 -9
- package/skills/om.md +118 -77
package/package.json
CHANGED
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
|
|
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
|
|
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
|
|
104
|
+
## Step 5: 推荐部署方案(带理由)
|
|
80
105
|
|
|
81
106
|
AI 根据"项目配置 × 已安装工具"交叉分析,用 AskUserQuestion 展示推荐方案:
|
|
82
107
|
|
|
@@ -106,7 +131,7 @@ AskUserQuestion:
|
|
|
106
131
|
|
|
107
132
|
---
|
|
108
133
|
|
|
109
|
-
## Step
|
|
134
|
+
## Step 6: 确认部署环境
|
|
110
135
|
|
|
111
136
|
```
|
|
112
137
|
AskUserQuestion:
|
|
@@ -124,7 +149,7 @@ AskUserQuestion:
|
|
|
124
149
|
|
|
125
150
|
---
|
|
126
151
|
|
|
127
|
-
## Step
|
|
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
|
|
191
|
+
## Step 8: 询问是否生成一键脚本
|
|
167
192
|
|
|
168
193
|
```
|
|
169
194
|
AskUserQuestion:
|
|
@@ -183,7 +208,7 @@ AskUserQuestion:
|
|
|
183
208
|
|
|
184
209
|
---
|
|
185
210
|
|
|
186
|
-
## Step
|
|
211
|
+
## Step 9: 生成一键脚本
|
|
187
212
|
|
|
188
213
|
根据用户选择和项目实际情况,用 Write 工具生成脚本。
|
|
189
214
|
|
|
@@ -277,7 +302,35 @@ stop:
|
|
|
277
302
|
|
|
278
303
|
---
|
|
279
304
|
|
|
280
|
-
## Step
|
|
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,111 @@ OpenMatrix 默认入口 — 用户无需记忆命令,直接描述任务即可
|
|
|
31
29
|
</objective>
|
|
32
30
|
|
|
33
31
|
<process>
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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
|
+
### 2.1 小需求 → `/om:feature`
|
|
47
|
+
|
|
48
|
+
**核心条件(语义判断):**
|
|
49
|
+
- 单一改动点(聚焦一个功能/组件/文件)
|
|
50
|
+
- 无架构设计关键词("架构"、"设计"、"从零"、"重构整个")
|
|
51
|
+
- 无多子系统描述
|
|
52
|
+
- 或包含小需求关键词:小需求、小功能、小改动、minor、quick、快速、简单、添加按钮、加个字段、轻量
|
|
53
|
+
|
|
54
|
+
**辅助参考(非硬性):**
|
|
55
|
+
- 描述较短(通常 ≤ 150 字)— 长描述也可能聚焦单一改动
|
|
56
|
+
|
|
57
|
+
**示例:**
|
|
58
|
+
- "给列表页添加搜索按钮" → /om:feature
|
|
59
|
+
- "小改动:调整按钮颜色" → /om:feature
|
|
60
|
+
- "加个字段存储用户头像" → /om:feature
|
|
61
|
+
|
|
62
|
+
### 2.2 复杂任务 → `/om:brainstorm`
|
|
63
|
+
|
|
64
|
+
**任一满足即路由:**
|
|
65
|
+
- 包含复杂关键词:从零搭建、重构整个、迁移、架构设计、多模块、系统
|
|
66
|
+
- 多个独立子系统("和"、"同时"、"另外"连接多个大模块)
|
|
67
|
+
- 需要技术选型决策
|
|
68
|
+
- 涉及非代码产出(文档、设计规范、调研报告)
|
|
69
|
+
|
|
70
|
+
**示例:**
|
|
71
|
+
- "从零搭建后台管理系统" → /om:brainstorm
|
|
72
|
+
- "重构整个认证模块,支持 OAuth 和 SAML" → /om:brainstorm
|
|
73
|
+
- "设计微服务架构并实现核心模块" → /om:brainstorm
|
|
74
|
+
|
|
75
|
+
### 2.3 标准任务 → `/om:start`
|
|
76
|
+
|
|
77
|
+
**不符合小需求和复杂任务的,默认路由:**
|
|
78
|
+
- 中等复杂度(单一功能但需要完整追踪)
|
|
79
|
+
- 包含标准关键词:实现、修复、添加功能、开发(非小改动)
|
|
80
|
+
- 需要质量门禁验证
|
|
81
|
+
|
|
82
|
+
**示例:**
|
|
83
|
+
- "实现用户登录功能" → /om:start
|
|
84
|
+
- "修复登录页面的样式问题" → /om:start
|
|
85
|
+
- "添加 API 接口返回用户列表" → /om:start
|
|
86
|
+
|
|
87
|
+
## Step 3: 用户确认路由(带 AI 推荐)
|
|
88
|
+
|
|
89
|
+
**AI 先判断推荐路由,再让用户确认:**
|
|
90
|
+
|
|
91
|
+
AskUserQuestion: `header: "任务流程"`, `multiSelect: false`
|
|
92
|
+
|
|
93
|
+
**question:** 选择执行流程(AI 推荐:${recommendedRoute},原因:${recommendReason})
|
|
94
|
+
|
|
95
|
+
| label | description |
|
|
96
|
+
|-------|-------------|
|
|
97
|
+
| `小需求流程 (推荐)` | 2-5 个任务块,轻量追踪,适合单一改动点 |
|
|
98
|
+
| `标准流程` | 完整追踪,质量门禁,适合中等复杂度 |
|
|
99
|
+
| `复杂流程` | 先设计后执行,适合架构/重构/多模块 |
|
|
100
|
+
|
|
101
|
+
**用户选择后,调用对应 Skill:**
|
|
102
|
+
- 选择 "小需求流程" → Skill("om:feature", args=任务描述)
|
|
103
|
+
- 选择 "标准流程" → Skill("om:start", args=任务描述)
|
|
104
|
+
- 选择 "复杂流程" → Skill("om:brainstorm", args=任务描述)
|
|
105
|
+
|
|
106
|
+
## Step 4: 空输入或 --help
|
|
107
|
+
|
|
108
|
+
显示帮助信息:
|
|
109
|
+
```
|
|
110
|
+
OpenMatrix - AI task orchestration
|
|
111
|
+
|
|
112
|
+
Usage:
|
|
113
|
+
/om <task> AI 推荐路由,用户确认后执行
|
|
114
|
+
/om:feature <task> 小需求快速流程(跳过推荐)
|
|
115
|
+
/om:start <task> 标准任务流程(跳过推荐)
|
|
116
|
+
/om:brainstorm <task> 复杂任务先设计后执行(跳过推荐)
|
|
117
|
+
/om:auto <task> 全自动执行
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
/om 给列表页添加搜索按钮 → AI 推荐小需求流程
|
|
121
|
+
/om 实现用户登录功能 → AI 推荐标准流程
|
|
122
|
+
/om 从零搭建后台系统 → AI 推荐复杂流程
|
|
123
|
+
|
|
124
|
+
Quality:
|
|
125
|
+
strict - TDD + 80% coverage
|
|
126
|
+
balanced - 60% coverage
|
|
127
|
+
fast - No gates
|
|
128
|
+
|
|
129
|
+
Commands:
|
|
130
|
+
/om:status - 查看执行状态
|
|
131
|
+
/om:meeting - 处理阻塞任务
|
|
132
|
+
/om:report - 生成执行报告
|
|
133
|
+
/om:debug - 系统化调试
|
|
134
|
+
/om:resume - 恢复中断任务
|
|
135
|
+
```
|
|
136
|
+
|
|
100
137
|
</process>
|
|
101
138
|
|
|
102
139
|
<arguments>
|
|
@@ -104,16 +141,20 @@ $ARGUMENTS
|
|
|
104
141
|
</arguments>
|
|
105
142
|
|
|
106
143
|
<examples>
|
|
107
|
-
/om 给用户列表页添加搜索功能 →
|
|
108
|
-
/om 小改动:调整按钮颜色 →
|
|
109
|
-
/om 实现用户登录功能 →
|
|
110
|
-
/om 从零搭建后台系统 →
|
|
111
|
-
/om 修复登录页面的样式问题 →
|
|
112
|
-
/om docs/task.md →
|
|
113
|
-
/om →
|
|
144
|
+
/om 给用户列表页添加搜索功能 → AI 推荐小需求流程,用户确认
|
|
145
|
+
/om 小改动:调整按钮颜色 → AI 推荐小需求流程,用户确认
|
|
146
|
+
/om 实现用户登录功能 → AI 推荐标准流程,用户确认
|
|
147
|
+
/om 从零搭建后台系统 → AI 推荐复杂流程,用户确认
|
|
148
|
+
/om 修复登录页面的样式问题 → AI 推荐标准流程,用户确认
|
|
149
|
+
/om docs/task.md → 读取文件后 AI 推荐,用户确认
|
|
150
|
+
/om → 显示帮助
|
|
114
151
|
</examples>
|
|
115
152
|
|
|
116
153
|
<notes>
|
|
117
|
-
`/om`
|
|
118
|
-
|
|
154
|
+
`/om` 是 OpenMatrix 工作的简写。路由流程:
|
|
155
|
+
1. AI 评估任务复杂度,给出推荐路由和原因
|
|
156
|
+
2. AskUserQuestion 让用户确认(标注推荐选项)
|
|
157
|
+
3. 用户选择后调用对应 skill
|
|
158
|
+
|
|
159
|
+
可用命令: `/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
160
|
</notes>
|