@zeyue0329/xiaoma-cli 1.0.43 → 1.0.44

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,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@zeyue0329/xiaoma-cli",
4
- "version": "1.0.43",
4
+ "version": "1.0.44",
5
5
  "description": "XiaoMa Cli: Universal AI Agent Framework",
6
6
  "keywords": [
7
7
  "agile",
@@ -62,6 +62,10 @@ commands:
62
62
  - elicit: 运行任务 advanced-elicitation
63
63
  - perform-market-research: 使用任务 create-doc 和 market-research-tmpl.yaml
64
64
  - research-prompt {topic}: 执行任务 create-deep-research-prompt.md
65
+ - analyze-requirement {req_file}: 基于需求文档进行RAG增强的需求分析 (运行任务 requirement-analysis-with-rag.md)
66
+ - generate-rag-questions {req_file}: 根据需求文档生成知识库查询问题清单 (使用模板 rag-questions-tmpl.yaml)
67
+ - land-knowledge: 将知识库返回的内容结构化存储到docs/rag目录 (使用模板 rag-knowledge-tmpl.yaml)
68
+ - create-prd-from-rag: 基于docs/rag知识和需求文档生成PRD (使用任务 create-doc 和 prd-tmpl.yaml)
65
69
  - yolo: 切换 Yolo 模式
66
70
  - exit: 作为业务分析师道别,然后放弃扮演此角色
67
71
  dependencies:
@@ -74,9 +78,13 @@ dependencies:
74
78
  - create-doc.md
75
79
  - document-project.md
76
80
  - facilitate-brainstorming-session.md
81
+ - requirement-analysis-with-rag.md
77
82
  templates:
78
83
  - brainstorming-output-tmpl.yaml
79
84
  - competitor-analysis-tmpl.yaml
80
85
  - market-research-tmpl.yaml
81
86
  - project-brief-tmpl.yaml
87
+ - rag-questions-tmpl.yaml
88
+ - rag-knowledge-tmpl.yaml
89
+ - prd-tmpl.yaml
82
90
  ```
@@ -0,0 +1,352 @@
1
+ <!-- Powered by XiaoMa™ Core -->
2
+
3
+ # 基于知识库的需求分析任务
4
+
5
+ ## Purpose
6
+
7
+ 通过结合外部需求文档(req.txt)和知识库(RAG/MCP)进行深度需求分析,生成高质量的PRD文档。
8
+
9
+ ## Workflow Overview
10
+
11
+ ```
12
+ req.txt → 问题生成 → 知识库查询 → 知识落地(docs/rag/) → 需求分析 → PRD生成
13
+ ```
14
+
15
+ ## Phase 1: 需求文档解析与问题生成
16
+
17
+ ### 1.1 需求文档初步解析
18
+
19
+ 首先读取并分析 req.txt 文档,识别以下关键信息:
20
+
21
+ ```yaml
22
+ 解析维度:
23
+ 业务领域: 识别需求所属的业务领域和子领域
24
+ 核心功能: 提取需求描述的主要功能点
25
+ 用户角色: 识别涉及的用户类型和角色
26
+ 业务流程: 提取隐含或显式的业务流程
27
+ 数据实体: 识别涉及的数据对象和关系
28
+ 集成点: 识别与外部系统的交互需求
29
+ 约束条件: 提取技术、业务、时间等约束
30
+ 模糊点: 标记需要澄清的不明确内容
31
+ ```
32
+
33
+ ### 1.2 知识库问题生成框架
34
+
35
+ 基于解析结果,生成以下类别的问题向知识库查询:
36
+
37
+ ---
38
+
39
+ ## Phase 2: 知识库提问清单模板
40
+
41
+ ### 类别 A: 业务知识查询
42
+
43
+ #### A1. 业务领域背景
44
+ ```
45
+ 问题模板:
46
+ - "关于[业务领域],现有系统中有哪些相关的业务规则和约束?"
47
+ - "[业务流程名称]的完整流程是什么?包括哪些步骤和参与者?"
48
+ - "在[业务场景]中,有哪些已知的边界情况和异常处理逻辑?"
49
+ - "[业务概念A]和[业务概念B]之间的关系是什么?"
50
+ ```
51
+
52
+ #### A2. 现有功能调研
53
+ ```
54
+ 问题模板:
55
+ - "系统中是否已存在类似[功能描述]的功能?如果有,实现方式是什么?"
56
+ - "[模块名称]目前支持哪些操作?有什么限制?"
57
+ - "用户当前如何完成[业务目标]?现有流程有什么痛点?"
58
+ ```
59
+
60
+ #### A3. 业务规则确认
61
+ ```
62
+ 问题模板:
63
+ - "[数据实体]的业务规则有哪些?例如:必填字段、取值范围、状态流转规则"
64
+ - "[操作A]在什么条件下可以执行?有哪些前置条件?"
65
+ - "不同[用户角色]在[功能]上的权限差异是什么?"
66
+ ```
67
+
68
+ ---
69
+
70
+ ### 类别 B: 技术知识查询
71
+
72
+ #### B1. 系统架构
73
+ ```
74
+ 问题模板:
75
+ - "现有系统的技术架构是什么?使用了哪些核心框架和技术栈?"
76
+ - "[模块名称]的代码结构和目录组织是怎样的?"
77
+ - "系统的数据库设计采用什么模式?主要的数据表有哪些?"
78
+ - "系统中有哪些公共组件和工具类可以复用?"
79
+ ```
80
+
81
+ #### B2. 接口与集成
82
+ ```
83
+ 问题模板:
84
+ - "与[外部系统]的集成接口是什么?数据格式和协议是什么?"
85
+ - "系统提供了哪些API接口?[功能相关]的接口规范是什么?"
86
+ - "现有的消息队列/事件机制是如何设计的?"
87
+ ```
88
+
89
+ #### B3. 数据模型
90
+ ```
91
+ 问题模板:
92
+ - "[数据实体]在数据库中的表结构是什么?包含哪些字段?"
93
+ - "[实体A]和[实体B]之间的数据库关系是怎样的?"
94
+ - "系统中有哪些枚举值或字典表与[业务领域]相关?"
95
+ ```
96
+
97
+ #### B4. 代码实现参考
98
+ ```
99
+ 问题模板:
100
+ - "类似[功能]的实现在代码中是如何组织的?请提供示例代码位置"
101
+ - "[技术方案]在现有代码中有没有参考实现?"
102
+ - "系统中处理[技术问题]的通用模式是什么?"
103
+ ```
104
+
105
+ ---
106
+
107
+ ### 类别 C: 历史需求与变更
108
+
109
+ #### C1. 相关需求追溯
110
+ ```
111
+ 问题模板:
112
+ - "之前有没有类似[需求描述]的需求?实现情况如何?"
113
+ - "[功能模块]的历史变更记录有哪些?最近的改动是什么?"
114
+ - "有没有与[需求]相关的已知问题或技术债务?"
115
+ ```
116
+
117
+ #### C2. 决策记录
118
+ ```
119
+ 问题模板:
120
+ - "[技术方案]为什么选择了当前的实现方式?有什么历史背景?"
121
+ - "[设计决策]有没有相关的ADR(架构决策记录)?"
122
+ ```
123
+
124
+ ---
125
+
126
+ ### 类别 D: 上下文与约束
127
+
128
+ #### D1. 项目约束
129
+ ```
130
+ 问题模板:
131
+ - "项目的技术栈限制有哪些?必须遵循的技术规范是什么?"
132
+ - "项目的安全合规要求有哪些?"
133
+ - "项目的性能要求和SLA标准是什么?"
134
+ ```
135
+
136
+ #### D2. 团队规范
137
+ ```
138
+ 问题模板:
139
+ - "团队的代码规范和开发流程是什么?"
140
+ - "团队的测试要求和代码审查标准是什么?"
141
+ - "项目的部署流程和环境配置是怎样的?"
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Phase 3: 问题生成执行流程
147
+
148
+ ### 3.1 智能问题生成
149
+
150
+ ```yaml
151
+ 执行步骤:
152
+ 步骤1_解析需求:
153
+ 输入: req.txt
154
+ 动作: 提取关键实体、流程、约束
155
+ 输出: 需求要素清单
156
+
157
+ 步骤2_映射问题类别:
158
+ 输入: 需求要素清单
159
+ 动作: 将每个要素映射到问题类别(A/B/C/D)
160
+ 输出: 问题类别映射表
161
+
162
+ 步骤3_生成具体问题:
163
+ 输入: 问题类别映射表 + 问题模板
164
+ 动作: 用具体内容填充模板生成问题
165
+ 输出: 知识库查询问题清单
166
+
167
+ 步骤4_问题优先级排序:
168
+ 优先级规则:
169
+ P0_阻塞级: 缺失会导致无法理解需求的核心问题
170
+ P1_重要级: 影响需求完整性的问题
171
+ P2_补充级: 有助于优化实现的问题
172
+ ```
173
+
174
+ ### 3.2 问题清单输出格式
175
+
176
+ ```markdown
177
+ # 知识库查询问题清单
178
+
179
+ ## 基本信息
180
+ - 需求文档: req.txt
181
+ - 生成时间: {{timestamp}}
182
+ - 问题总数: {{total_count}}
183
+
184
+ ## P0 阻塞级问题 (必须回答)
185
+
186
+ ### 业务知识
187
+ 1. [A1-001] {{具体问题}}
188
+ - 关联需求点: {{需求中的相关描述}}
189
+ - 预期答案类型: {{期望获得的信息类型}}
190
+
191
+ ### 技术知识
192
+ 2. [B1-001] {{具体问题}}
193
+ - 关联需求点: {{需求中的相关描述}}
194
+ - 预期答案类型: {{期望获得的信息类型}}
195
+
196
+ ## P1 重要级问题 (建议回答)
197
+ ...
198
+
199
+ ## P2 补充级问题 (可选回答)
200
+ ...
201
+ ```
202
+
203
+ ---
204
+
205
+ ## Phase 4: 知识落地与组织
206
+
207
+ ### 4.1 知识存储结构
208
+
209
+ ```
210
+ docs/rag/
211
+ ├── _index.md # 知识索引文件
212
+ ├── business/ # 业务知识
213
+ │ ├── domain-rules.md # 业务规则
214
+ │ ├── processes.md # 业务流程
215
+ │ └── entities.md # 业务实体
216
+ ├── technical/ # 技术知识
217
+ │ ├── architecture.md # 系统架构
218
+ │ ├── data-model.md # 数据模型
219
+ │ ├── apis.md # 接口规范
220
+ │ └── code-patterns.md # 代码模式
221
+ ├── history/ # 历史信息
222
+ │ ├── related-requirements.md # 相关需求
223
+ │ └── decisions.md # 决策记录
224
+ └── constraints/ # 约束条件
225
+ ├── technical.md # 技术约束
226
+ └── compliance.md # 合规要求
227
+ ```
228
+
229
+ ### 4.2 知识文档格式
230
+
231
+ ```markdown
232
+ # {{知识标题}}
233
+
234
+ ## 元信息
235
+ - 来源: 知识库MCP查询
236
+ - 查询问题: {{原始问题}}
237
+ - 查询时间: {{timestamp}}
238
+ - 置信度: {{high/medium/low}}
239
+
240
+ ## 内容摘要
241
+ {{一句话总结}}
242
+
243
+ ## 详细内容
244
+ {{知识库返回的完整内容}}
245
+
246
+ ## 与需求的关联
247
+ - 关联需求点: {{req.txt中的相关内容}}
248
+ - 影响分析: {{这个知识如何影响需求实现}}
249
+
250
+ ## 后续问题
251
+ {{基于此知识产生的新问题(如有)}}
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Phase 5: 需求分析与PRD生成
257
+
258
+ ### 5.1 分析输入整合
259
+
260
+ ```yaml
261
+ 分析输入:
262
+ 主要输入:
263
+ - req.txt: 原始需求文档
264
+ - docs/rag/*: 知识库查询结果
265
+ 辅助输入:
266
+ - 项目简报(如存在): docs/brief.md
267
+ - 技术偏好(如存在): data/technical-preferences.yaml
268
+ ```
269
+
270
+ ### 5.2 需求分析维度
271
+
272
+ ```yaml
273
+ 分析维度:
274
+ 功能分析:
275
+ - 核心功能拆解
276
+ - 功能优先级排序
277
+ - 功能依赖关系
278
+
279
+ 用户分析:
280
+ - 用户角色定义
281
+ - 用户旅程映射
282
+ - 用户价值主张
283
+
284
+ 技术分析:
285
+ - 技术可行性评估
286
+ - 与现有系统的兼容性
287
+ - 技术风险识别
288
+
289
+ 业务分析:
290
+ - 业务规则验证
291
+ - 业务流程优化机会
292
+ - 业务价值量化
293
+
294
+ 差距分析:
295
+ - 现有能力 vs 需求能力
296
+ - 需要新增/修改的功能
297
+ - 需要新增/修改的数据
298
+ ```
299
+
300
+ ### 5.3 PRD生成流程
301
+
302
+ ```yaml
303
+ PRD生成:
304
+ 步骤1:
305
+ 动作: 整合所有知识输入
306
+ 输出: 知识上下文汇总
307
+
308
+ 步骤2:
309
+ 动作: 执行需求分析(5.2维度)
310
+ 输出: 需求分析报告
311
+
312
+ 步骤3:
313
+ 动作: 套用PRD模板(prd-tmpl.yaml)
314
+ 输出: PRD草稿
315
+
316
+ 步骤4:
317
+ 动作: 启发式验证(advanced-elicitation)
318
+ 输出: 优化后的PRD
319
+
320
+ 步骤5:
321
+ 动作: 输出最终PRD到指定位置
322
+ 输出: docs/prd.md
323
+ ```
324
+
325
+ ---
326
+
327
+ ## 使用说明
328
+
329
+ ### 智能体激活命令
330
+
331
+ ```
332
+ *analyze-requirement {req_file}
333
+ ```
334
+
335
+ ### 执行参数
336
+
337
+ ```yaml
338
+ 参数:
339
+ req_file: 需求文档路径 (默认: req.txt)
340
+ rag_output: 知识输出路径 (默认: docs/rag/)
341
+ prd_output: PRD输出路径 (默认: docs/prd.md)
342
+ skip_rag: 跳过知识库查询 (默认: false)
343
+ interactive: 交互模式 (默认: true)
344
+ ```
345
+
346
+ ### 交互模式流程
347
+
348
+ 1. **解析阶段**: 展示需求解析结果,请用户确认
349
+ 2. **提问阶段**: 展示问题清单,请用户确认或调整
350
+ 3. **查询阶段**: 依次查询知识库,展示返回结果
351
+ 4. **分析阶段**: 展示分析结论,请用户确认
352
+ 5. **生成阶段**: 生成PRD草稿,启用启发式优化