intention-coding 0.4.0 → 0.4.3

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.
Files changed (51) hide show
  1. package/package.json +2 -3
  2. package/dist/db/file-storage.js +0 -638
  3. package/dist/index.js +0 -26
  4. package/dist/server/index.js +0 -88
  5. package/dist/services/bug-fix-agent/index.js +0 -320
  6. package/dist/services/change-summarizer/index.js +0 -123
  7. package/dist/services/change-summarizer/prompt/change-analysis.js +0 -56
  8. package/dist/services/code-generator/index.js +0 -403
  9. package/dist/services/code-generator/stages/execution-stage.js +0 -549
  10. package/dist/services/code-generator/stages/ideation-stage.js +0 -267
  11. package/dist/services/code-generator/stages/optimization-stage.js +0 -334
  12. package/dist/services/code-generator/stages/planning-stage.js +0 -295
  13. package/dist/services/code-generator/stages/research-stage.js +0 -283
  14. package/dist/services/code-generator/stages/review-stage.js +0 -270
  15. package/dist/services/code-generator/types.js +0 -37
  16. package/dist/services/code-generator/utils/instruction-executor.js +0 -207
  17. package/dist/services/code-generator/workflow-manager.js +0 -252
  18. package/dist/services/image-analysis/analyzer.js +0 -530
  19. package/dist/services/image-analysis/index.js +0 -406
  20. package/dist/services/image-analysis/types.js +0 -46
  21. package/dist/services/image-converter/converter.js +0 -310
  22. package/dist/services/image-converter/index.js +0 -262
  23. package/dist/services/image-converter/types.js +0 -31
  24. package/dist/services/integrated-generator/index.js +0 -1297
  25. package/dist/services/pdf2md/index.js +0 -180
  26. package/dist/services/project-template/index.js +0 -83
  27. package/dist/services/project-template/prompt/project-rules.js +0 -98
  28. package/dist/services/requirement-analyzer/chunk-reader.js +0 -218
  29. package/dist/services/requirement-analyzer/core/document-generator.js +0 -254
  30. package/dist/services/requirement-analyzer/core/intelligent-analyzer.js +0 -169
  31. package/dist/services/requirement-analyzer/core/project-analyzer.js +0 -199
  32. package/dist/services/requirement-analyzer/core/requirement-analyzer-service.js +0 -191
  33. package/dist/services/requirement-analyzer/core/template-selector.js +0 -124
  34. package/dist/services/requirement-analyzer/core/types.js +0 -23
  35. package/dist/services/requirement-analyzer/index.js +0 -177
  36. package/dist/services/requirement-analyzer/prompt/api-template.js +0 -302
  37. package/dist/services/requirement-analyzer/prompt/app-template.js +0 -455
  38. package/dist/services/requirement-analyzer/prompt/intelligent-requirement-analysis.js +0 -92
  39. package/dist/services/requirement-analyzer/prompt/pc-page-template.js +0 -582
  40. package/dist/services/requirement-analyzer/prompt/requirement-analysis.js +0 -664
  41. package/dist/services/requirement-analyzer/prompt/sdk-template.js +0 -582
  42. package/dist/services/requirement-analyzer/utils/file-reader.js +0 -169
  43. package/dist/services/world2md/index.js +0 -157
  44. package/dist/types/index.js +0 -2
  45. package/dist/utils/common.js +0 -72
  46. package/dist/utils/config.js +0 -163
  47. package/dist/utils/context-manager.js +0 -114
  48. package/dist/utils/dify.js +0 -243
  49. package/dist/utils/logger.js +0 -129
  50. package/dist/utils/openai.js +0 -225
  51. package/dist/utils/pack.js +0 -75
@@ -1,664 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.systemPrompt = exports.requirementAnalysisPrompt = void 0;
4
- exports.requirementAnalysisPrompt = `你是一位专业的软件工程需求分析专家。请基于用户提供的输入内容,生成一份完整、详细的标准化技术需求文档。
5
-
6
- ## 任务要求
7
- - 必须输出完整的Markdown格式需求文档
8
- - 不要只给出总结,要输出完整的文档内容
9
- - 每个章节都要有详细的内容,不能省略
10
- - 文档长度应该在3000字以上
11
-
12
- ## 输入信息
13
- - **功能名称**: {featureName}
14
- - **业务领域**: {businessDomain}
15
- - **生成时序图**: {generateSequenceDiagram}
16
-
17
- ## 原始需求内容
18
- \`\`\`
19
- {inputContent}
20
- \`\`\`
21
-
22
- ## 文档结构要求
23
- 请严格按照以下结构输出完整的需求文档,每个章节都要有详实的内容:
24
-
25
- # {featureName} - 技术需求文档
26
-
27
- > **生成时间**: {currentTime}
28
- > **业务领域**: {businessDomain}
29
-
30
- ---
31
-
32
- ## 1. 需求背景
33
-
34
- **背景**: [详细描述功能背景、业务需求和目标]
35
-
36
- **关键功能**: [列出主要功能点]
37
-
38
- **涉及角色**: [列出所有相关角色]
39
-
40
- ## 2. {featureName}功能设计说明
41
-
42
- | | | | | |
43
- |---|---|---|---|---|
44
- |**流程编号**|F001|**流程名称**|{featureName}|
45
- |**业务功能编号**|BF001|**业务功能名称**|{featureName}|
46
- |**功能设计编号**|FD001|**系统功能名称**|{featureName}|
47
- |**前置条件**|[详细描述前置条件]|
48
- |**角色(岗位)**|[详细描述角色]|
49
- |**入口渠道**|[描述入口渠道]|
50
- |**功能描述**|[详细的功能描述]|
51
- |**调用能力域/中心**|[如适用]|
52
-
53
- ## 3. 页面说明
54
-
55
- [详细描述用户界面布局、主要区域、导航结构等,至少200字]
56
-
57
- ## 4. 界面字段说明
58
-
59
- 实体一
60
- | | | | | |
61
- |---|---|---|---|---|
62
- |**字段名称**|**数据类型**|**长度**|**必填**|**说明**|
63
- |[字段1]|[类型]|[长度]|[是/否]|[详细说明]|
64
- |[字段2]|[类型]|[长度]|[是/否]|[详细说明]|
65
- |[添加更多相关字段...]|||
66
-
67
- 实体二
68
- | | | | | |
69
- |---|---|---|---|---|
70
- |**字段名称**|**数据类型**|**长度**|**必填**|**说明**|
71
- |[字段1]|[类型]|[长度]|[是/否]|[详细说明]|
72
- |[字段2]|[类型]|[长度]|[是/否]|[详细说明]|
73
- |[添加更多相关字段...]|||
74
-
75
- ## 5. 界面操作
76
-
77
- | | | |
78
- |---|---|---|
79
- |**序号**|**业务操作**|**说明**|
80
- |1|[操作1]|[详细说明操作流程和结果]|
81
- |2|[操作2]|[详细说明操作流程和结果]|
82
- |[添加更多操作...]|
83
-
84
- ## 6. 业务对象时序图
85
-
86
- ### 6.1 主要成功流程(正向流程)
87
-
88
- \`\`\`mermaid
89
- sequenceDiagram
90
- participant 用户
91
- participant 前端界面
92
- participant 认证服务
93
- participant 权限服务
94
- participant 业务逻辑层
95
- participant 数据访问层
96
- participant 数据库
97
- participant 缓存服务
98
- participant 消息队列
99
- participant 第三方API
100
-
101
- %% 正常流程
102
- 用户->>前端界面: 发起请求
103
- 前端界面->>路由管理器: 解析路由
104
- 路由管理器-->>前端界面: 返回路由信息
105
- 前端界面->>状态管理器: 初始化状态
106
- 前端界面->>认证服务: 验证身份
107
- 认证服务-->>前端界面: 返回认证结果
108
- 前端界面->>权限服务: 检查权限
109
- 权限服务-->>前端界面: 返回权限信息
110
- 前端界面->>业务逻辑层: 调用业务方法
111
- 业务逻辑层->>缓存服务: 查询缓存
112
- alt 缓存命中
113
- 缓存服务-->>业务逻辑层: 返回缓存数据
114
- 业务逻辑层->>监控服务: 记录缓存命中
115
- else 缓存未命中
116
- 业务逻辑层->>数据访问层: 查询数据库
117
- 数据访问层->>数据库: 执行查询
118
- 数据库-->>数据访问层: 返回结果
119
- 数据访问层->>缓存服务: 存储到缓存
120
- 数据访问层-->>业务逻辑层: 返回数据
121
- 业务逻辑层->>监控服务: 记录数据库查询
122
- end
123
- 业务逻辑层->>消息队列: 发送异步消息
124
- 业务逻辑层-->>前端界面: 返回业务结果
125
- 前端界面->>状态管理器: 更新界面状态
126
- 前端界面->>用户: 展示结果
127
- 前端界面->>日志服务: 记录操作日志
128
- 前端界面->>监控服务: 记录性能指标
129
- \`\`\`
130
-
131
- ### 6.2 替代流程(不同有效路径)
132
-
133
- #### 6.2.1 大文件处理流程
134
- \`\`\`mermaid
135
- sequenceDiagram
136
- participant 用户
137
- participant 前端界面
138
- participant 文件服务
139
- participant 后端服务
140
-
141
- 用户->>前端界面: 上传大文件
142
- 前端界面->>路由管理器: 解析路由
143
- 路由管理器-->>前端界面: 返回路由信息
144
- 前端界面->>状态管理器: 初始化上传状态
145
- 前端界面->>文件服务: 分块上传文件
146
- 文件服务-->>前端界面: 返回上传进度
147
- 前端界面->>状态管理器: 更新上传进度
148
- 前端界面->>后端服务: 提交文件处理请求
149
- 后端服务->>后端服务: 分块处理文件
150
- loop 处理文件块
151
- 后端服务->>文件服务: 读取文件块
152
- 文件服务-->>后端服务: 返回文件块内容
153
- 后端服务->>后端服务: 处理文件块
154
- 后端服务->>存储服务: 保存处理结果
155
- 后端服务->>监控服务: 记录处理进度
156
- end
157
- 后端服务->>日志服务: 记录处理完成
158
- 后端服务-->>前端界面: 返回处理结果
159
- 前端界面->>状态管理器: 更新处理状态
160
- 前端界面->>用户: 展示处理完成
161
- \`\`\`
162
-
163
- #### 6.2.2 多功能点分析流程
164
- \`\`\`mermaid
165
- sequenceDiagram
166
- participant 用户
167
- participant 前端界面
168
- participant 分析服务
169
- participant AI服务
170
- participant 文件系统
171
-
172
- 用户->>前端界面: 提交多功能需求
173
- 前端界面->>路由管理器: 解析路由
174
- 路由管理器-->>前端界面: 返回路由信息
175
- 前端界面->>状态管理器: 初始化分析状态
176
- 前端界面->>分析服务: 发送需求分析请求
177
- 分析服务->>AI服务: 广度优先搜索分析
178
- AI服务-->>分析服务: 返回功能点列表
179
- 分析服务->>AI服务: 提取增强功能点
180
- AI服务-->>分析服务: 返回增强功能
181
- 分析服务->>AI服务: 分析功能依赖关系
182
- AI服务-->>分析服务: 返回依赖分析
183
- loop 处理每个功能点
184
- 分析服务->>AI服务: 生成详细需求文档
185
- AI服务-->>分析服务: 返回详细文档
186
- 分析服务->>文件系统: 保存功能文档
187
- 分析服务->>数据库: 存储功能信息
188
- 分析服务->>缓存服务: 更新缓存
189
- 分析服务->>监控服务: 记录处理进度
190
- end
191
- 分析服务->>日志服务: 记录分析完成
192
- 分析服务-->>前端界面: 返回分析结果
193
- 前端界面->>状态管理器: 更新分析状态
194
- 前端界面->>用户: 展示分析完成
195
- \`\`\`
196
-
197
- ### 6.3 异常流程(错误处理)
198
-
199
- #### 6.3.1 文件未找到错误
200
- \`\`\`mermaid
201
- sequenceDiagram
202
- participant 用户
203
- participant 前端界面
204
- participant 文件系统
205
- participant 日志服务
206
-
207
- 用户->>前端界面: 请求文件处理
208
- 前端界面->>路由管理器: 解析路由
209
- 路由管理器-->>前端界面: 返回路由信息
210
- 前端界面->>状态管理器: 初始化处理状态
211
- 前端界面->>文件系统: 尝试读取文件
212
- 文件系统-->>前端界面: 返回文件不存在错误
213
- 前端界面->>缓存服务: 检查缓存中是否存在文件
214
- alt 缓存中有文件
215
- 缓存服务-->>前端界面: 返回缓存文件
216
- 前端界面->>状态管理器: 更新状态为成功
217
- 前端界面->>用户: 显示文件内容
218
- else 缓存中无文件
219
- 前端界面->>日志服务: 记录文件未找到错误
220
- 前端界面->>监控服务: 记录错误指标
221
- 前端界面->>状态管理器: 更新状态为错误
222
- 前端界面-->>用户: 显示友好错误提示
223
- end
224
- \`\`\`
225
-
226
- #### 6.3.2 AI服务错误
227
- \`\`\`mermaid
228
- sequenceDiagram
229
- participant 前端界面
230
- participant 分析服务
231
- participant AI服务
232
- participant 日志服务
233
-
234
- 前端界面->>分析服务: 发送分析请求
235
- 分析服务->>AI服务: 调用AI服务
236
- AI服务-->>分析服务: 返回超时/网络错误
237
- 分析服务->>分析服务: 指数退避重试
238
- alt 重试成功
239
- AI服务-->>分析服务: 返回成功响应
240
- 分析服务->>监控服务: 记录重试成功
241
- else 重试失败
242
- 分析服务->>日志服务: 记录AI服务失败
243
- 分析服务->>分析服务: 生成回退文档
244
- 分析服务->>缓存服务: 检查是否有缓存的分析结果
245
- alt 有缓存结果
246
- 缓存服务-->>分析服务: 返回缓存结果
247
- 分析服务->>监控服务: 记录使用缓存
248
- else 无缓存结果
249
- 分析服务->>分析服务: 使用默认模板生成文档
250
- end
251
- end
252
- 分析服务-->>前端界面: 返回结果
253
- 前端界面->>状态管理器: 更新分析状态
254
- \`\`\`
255
-
256
- #### 6.3.3 JSON解析错误
257
- \`\`\`mermaid
258
- sequenceDiagram
259
- participant 分析服务
260
- participant AI服务
261
- participant 日志服务
262
-
263
- 分析服务->>AI服务: 请求需求分析
264
- AI服务-->>分析服务: 返回格式错误的JSON
265
- 分析服务->>分析服务: 尝试解析JSON
266
- 分析服务-->>分析服务: 解析失败
267
- 分析服务->>日志服务: 记录JSON解析错误
268
- 分析服务->>监控服务: 记录解析错误指标
269
- 分析服务->>分析服务: 使用回退分析
270
- 分析服务->>缓存服务: 检查是否有缓存的有效JSON
271
- alt 有缓存JSON
272
- 缓存服务-->>分析服务: 返回缓存JSON
273
- 分析服务->>分析服务: 解析缓存JSON
274
- 分析服务->>监控服务: 记录使用缓存
275
- else 无缓存JSON
276
- 分析服务->>分析服务: 使用默认数据结构
277
- end
278
- \`\`\`
279
-
280
- #### 6.3.4 无效UI组件错误
281
- \`\`\`mermaid
282
- sequenceDiagram
283
- participant 前端界面
284
- participant 组件库
285
- participant 设计系统
286
- participant 性能优化器
287
- participant 缓存服务
288
- participant 日志服务
289
- participant 监控服务
290
-
291
- 前端界面->>组件库: 请求未知组件
292
- 组件库-->>前端界面: 返回组件不存在错误
293
- 前端界面->>设计系统: 获取默认组件规范
294
- 设计系统->>性能优化器: 分析组件替代方案
295
- 性能优化器-->>设计系统: 返回优化建议
296
- 设计系统-->>前端界面: 返回默认组件实现
297
- 前端界面->>前端界面: 使用默认组件替代
298
- 前端界面->>缓存服务: 存储替代组件映射
299
- 前端界面->>日志服务: 记录组件错误日志
300
- 前端界面->>监控服务: 记录错误指标
301
- 前端界面->>用户: 展示默认组件
302
- 前端界面->>性能优化器: 反馈替代效果
303
- \`\`\`
304
-
305
- ### 6.4 边缘情况流程(并发、超时等)
306
-
307
- #### 6.4.1 并发请求处理
308
- \`\`\`mermaid
309
- sequenceDiagram
310
- participant 用户1
311
- participant 用户2
312
- participant 分析服务
313
- participant AI服务
314
-
315
- par 并发请求
316
- 用户1->>前端界面1: 提交请求1
317
- 用户2->>前端界面2: 提交请求2
318
- end
319
- 前端界面1->>分析服务: 发送请求1
320
- 前端界面2->>分析服务: 发送请求2
321
- 分析服务->>队列服务: 将请求加入处理队列
322
- 队列服务-->>分析服务: 确认入队
323
- 分析服务->>缓存服务: 检查是否有缓存结果
324
- alt 有缓存结果
325
- 缓存服务-->>分析服务: 返回缓存结果
326
- 分析服务->>监控服务: 记录缓存命中
327
- else 无缓存结果
328
- 分析服务->>AI服务: 队列请求
329
- loop 处理请求
330
- 分析服务->>AI服务: 处理请求
331
- AI服务-->>分析服务: 返回结果
332
- 分析服务->>数据库: 存储结果
333
- 分析服务->>缓存服务: 更新缓存
334
- 分析服务->>监控服务: 记录处理完成
335
- end
336
- end
337
- 分析服务-->>前端界面1: 返回结果1
338
- 分析服务-->>前端界面2: 返回结果2
339
- 前端界面1->>用户1: 显示结果
340
- 前端界面2->>用户2: 显示结果
341
- 分析服务->>日志服务: 记录并发处理完成
342
- \`\`\`
343
-
344
- #### 6.4.2 超时处理
345
- \`\`\`mermaid
346
- sequenceDiagram
347
- participant 分析服务
348
- participant AI服务
349
- participant 日志服务
350
-
351
- 分析服务->>AI服务: 带超时的请求
352
- AI服务-->>分析服务: 超时内无响应
353
- 分析服务->>日志服务: 记录超时
354
- 分析服务->>监控服务: 记录超时指标
355
- 分析服务->>分析服务: 重试请求
356
- alt 重试成功
357
- AI服务-->>分析服务: 返回结果
358
- 分析服务->>监控服务: 记录重试成功
359
- else 重试失败
360
- 分析服务->>分析服务: 生成回退
361
- 分析服务->>缓存服务: 检查是否有缓存结果
362
- alt 有缓存结果
363
- 缓存服务-->>分析服务: 返回缓存结果
364
- 分析服务->>监控服务: 记录使用缓存
365
- else 无缓存结果
366
- 分析服务->>分析服务: 使用默认模板
367
- end
368
- end
369
- 分析服务->>数据库: 存储最终结果
370
- 分析服务->>缓存服务: 更新缓存
371
- \`\`\`
372
-
373
- #### 6.4.4 复杂布局处理
374
- \`\`\`mermaid
375
- sequenceDiagram
376
- participant 前端开发
377
- participant 布局引擎
378
- participant 性能优化器
379
- participant 缓存服务
380
- participant 日志服务
381
- participant 监控服务
382
-
383
- 前端开发->>布局引擎: 请求复杂布局计算
384
- 布局引擎->>布局引擎: 执行多区域布局算法
385
- 布局引擎->>性能优化器: 分析布局复杂度
386
- 性能优化器-->>布局引擎: 返回优化建议
387
- alt 布局计算超时
388
- 布局引擎->>性能优化器: 请求优化策略
389
- 性能优化器-->>布局引擎: 返回简化策略
390
- 布局引擎->>布局引擎: 应用简化计算
391
- 布局引擎->>日志服务: 记录超时事件
392
- 布局引擎->>监控服务: 发送性能告警
393
- else 布局计算完成
394
- 布局引擎->>缓存服务: 存储计算结果
395
- 布局引擎->>监控服务: 记录计算性能
396
- end
397
- 布局引擎-->>前端开发: 返回优化布局
398
- 前端开发->>缓存服务: 存储布局结果
399
- 前端开发->>性能优化器: 记录布局性能
400
- 前端开发->>日志服务: 记录布局日志
401
- 前端开发->>监控服务: 记录性能指标
402
- \`\`\`
403
-
404
- #### 6.4.3 UI组件设计流程
405
- \`\`\`mermaid
406
- sequenceDiagram
407
- participant 前端开发
408
- participant 设计系统
409
- participant 组件库
410
- participant 样式管理器
411
- participant 布局引擎
412
- participant 性能优化器
413
- participant 缓存服务
414
- participant 日志服务
415
- participant 监控服务
416
-
417
- 前端开发->>设计系统: 请求UI组件规范
418
- 设计系统->>组件库: 获取组件设计规范
419
- 组件库-->>设计系统: 返回组件规范
420
- 设计系统->>样式管理器: 应用样式规则
421
- 样式管理器-->>设计系统: 返回样式配置
422
- 设计系统->>布局引擎: 计算组件布局
423
- 布局引擎->>性能优化器: 分析布局性能
424
- 性能优化器-->>布局引擎: 返回优化建议
425
- alt 布局复杂
426
- 布局引擎->>布局引擎: 应用优化策略
427
- 布局引擎->>缓存服务: 存储优化方案
428
- end
429
- 布局引擎-->>设计系统: 返回布局信息
430
- 设计系统->>设计系统: 生成组件实现代码
431
- 设计系统->>缓存服务: 存储组件实现
432
- 设计系统-->>前端开发: 返回组件实现
433
- 前端开发->>日志服务: 记录组件使用日志
434
- 前端开发->>监控服务: 记录性能指标
435
- 前端开发->>性能优化器: 反馈使用体验
436
- \`\`\`
437
-
438
- ## 7. 业务状态描述
439
-
440
- | | | |
441
- |---|---|---|
442
- |**状态编号**|**状态名称**|**描述**|
443
- |01|待处理|新创建的记录,等待处理|
444
- |02|处理中|正在处理的记录|
445
- |03|已完成|处理完成的记录|
446
- |[添加更多状态...]|
447
-
448
- ## 8. 处理逻辑详细说明
449
-
450
- ### 8.1 前台交互规则
451
- [详细描述前台交互规则,包括字段验证、显示控制等]
452
-
453
- ### 8.2 后台处理逻辑
454
- [详细描述后台处理流程、业务规则、数据处理等]
455
-
456
- ## 9. 伪代码示例
457
-
458
- \`\`\`gherkin
459
- Scenario Outline: 用户提交需求分析请求
460
- Given 用户已准备好<requirement_type>需求内容
461
- When 用户提交分析请求并指定功能名称<feature_name>
462
- Then 系统应分析需求并生成包含以下内容的技术文档:
463
- | 文档内容 | 说明 |
464
- |---------------|--------------------------|
465
- | 需求背景 | 功能背景和业务目标 |
466
- | 功能设计说明 | 标准化功能设计表格 |
467
- | 页面说明 | 用户界面布局描述 |
468
- | 界面字段说明 | 数据字段定义表格 |
469
- | 界面操作 | 操作流程说明 |
470
- | 业务对象时序图 | Mermaid格式时序图 |
471
- | 业务状态描述 | 状态流转表 |
472
- | 处理逻辑说明 | 前后台处理规则 |
473
-
474
- Examples:
475
- | requirement_type | feature_name |
476
- | 文本需求 | 用户管理 |
477
- | Markdown文件 | 订单处理 |
478
-
479
- Scenario Outline: 并发请求处理流程
480
- Given 系统正在处理用户需求分析请求
481
- When 同时收到<multiple_requests>个并发请求时
482
- Then 系统应:
483
- 1. 将请求加入处理队列
484
- 2. 检查缓存中是否有可用结果
485
- 3. 对于缓存命中的请求直接返回结果
486
- 4. 对于缓存未命中的请求按队列顺序处理
487
- 5. 确保每个请求都能得到正确处理
488
-
489
- Examples:
490
- | multiple_requests | 处理方式 |
491
- |-------------------|---------------------------------|
492
- | 2-5个请求 | 实时处理所有请求 |
493
- | 6-20个请求 | 队列处理,提供进度反馈 |
494
- | 20个以上请求 | 限制并发,提示用户稍后重试 |
495
-
496
- Scenario Outline: 大文件处理流程
497
- Given 用户上传了一个<size>大小的文件
498
- When 系统开始处理该文件时
499
- Then 系统应:
500
- 1. 将文件分块处理
501
- 2. 显示处理进度给用户
502
- 3. 在处理过程中保持响应
503
- 4. 处理完成后返回结果
504
-
505
- Examples:
506
- | size | 处理策略 |
507
- |-----------|----------------------------------|
508
- | <1MB | 直接处理,无需分块 |
509
- | 1MB-10MB | 分成5个块并行处理 |
510
- | 10MB-100MB| 分成20个块顺序处理,显示进度条 |
511
- | >100MB | 分成50个块处理,提供预估时间 |
512
-
513
- Scenario Outline: 需求分析异常处理
514
- Given 系统正在处理用户需求分析请求
515
- When 发生<error_type>错误时
516
- Then 系统应:
517
- 1. 记录详细的错误日志
518
- 2. 向用户提供友好的错误提示
519
- 3. 根据错误类型采取相应的恢复措施
520
- 4. 在可能的情况下提供回退方案
521
-
522
- Examples:
523
- | error_type | 恢复措施 |
524
- |------------------|----------------------------------|
525
- | 文件未找到 | 提示用户检查文件路径 |
526
- | AI服务不可用 | 使用回退文档生成机制 |
527
- | JSON解析失败 | 使用备用解析逻辑 |
528
- | 数据库连接失败 | 重试连接或使用缓存数据 |
529
- | 网络超时 | 指数退避重试 |
530
-
531
- Scenario Outline: 多功能点分析流程
532
- Given 用户提交了包含<multiple_features>个功能点的需求
533
- When 系统开始分析时
534
- Then 系统应:
535
- 1. 识别所有功能点
536
- 2. 分析功能点间的依赖关系
537
- 3. 为每个功能点生成详细文档
538
- 4. 提供功能点间关系图
539
-
540
- Examples:
541
- | multiple_features | 分析策略 |
542
- |-------------------|---------------------------------|
543
- | 1-3个功能点 | 详细分析每个功能点 |
544
- | 4-10个功能点 | 识别核心功能点,分析依赖关系 |
545
- | 10个以上功能点 | 分组处理,提供功能点导航 |
546
-
547
- Scenario Outline: 缓存命中处理流程
548
- Given 系统收到用户请求
549
- When 检查到<cache_status>时
550
- Then 系统应:
551
- 1. 直接从缓存中获取结果
552
- 2. 记录缓存命中日志
553
- 3. 返回结果给用户
554
- 4. 更新缓存时间戳
555
-
556
- Examples:
557
- | cache_status | 处理方式 |
558
- |----------------|----------------------------------|
559
- | 缓存命中且有效 | 直接返回缓存结果 |
560
- | 缓存命中但过期 | 重新生成结果并更新缓存 |
561
- | 缓存未命中 | 生成新结果并存入缓存 |
562
-
563
- Scenario Outline: 超时重试处理流程
564
- Given 系统调用外部服务
565
- When 发生<timeout_status>时
566
- Then 系统应:
567
- 1. 记录超时日志
568
- 2. 按指数退避策略重试
569
- 3. 重试次数达到上限后使用回退方案
570
- 4. 向用户反馈处理状态
571
-
572
- Examples:
573
- | timeout_status | 重试策略 |
574
- |----------------|----------------------------------|
575
- | 首次超时 | 等待1秒后重试 |
576
- | 二次超时 | 等待2秒后重试 |
577
- | 三次超时 | 等待4秒后重试 |
578
- | 超过三次超时 | 使用默认模板生成结果 |
579
-
580
- Scenario Outline: UI组件交互处理流程
581
- Given 用户在<page_context>中与<component_type>组件进行交互
582
- When 发生<interaction_type>交互时
583
- Then 系统应:
584
- 1. 验证交互的合法性
585
- 2. 更新组件状态
586
- 3. 触发相应的业务逻辑
587
- 4. 提供用户反馈
588
-
589
- Examples:
590
- | page_context | component_type | interaction_type | 处理逻辑 |
591
- | 用户管理页面 | 表格组件 | 点击行选择 | 高亮选中行,显示操作按钮,更新状态栏信息 |
592
- | 订单详情页 | 表单组件 | 输入数据验证 | 实时验证输入格式,显示错误提示和正确标识 |
593
- | 数据分析页 | 图表组件 | 悬停显示详情 | 显示数据点详细信息,支持数据导出功能 |
594
- | 设置页面 | 开关组件 | 切换状态 | 保存设置到本地存储,同步到服务器(如需要) |
595
- | 搜索页面 | 搜索框组件 | 输入关键词 | 实时搜索建议,防抖处理避免频繁请求 |
596
-
597
- Scenario Outline: 响应式布局适配处理
598
- Given 用户在<device_type>设备上访问<page_name>页面
599
- When 屏幕尺寸发生变化或页面内容更新时
600
- Then 系统应:
601
- 1. 检测当前视口尺寸
602
- 2. 应用相应的响应式断点规则
603
- 3. 调整布局结构和组件显示
604
- 4. 优化交互元素的可用性
605
-
606
- Examples:
607
- | device_type | page_name | layout_change_trigger | 适配策略 |
608
- | 桌面端 | 数据列表页 | 窗口宽度缩小 | 隐藏非关键列,提供水平滚动条 |
609
- | 平板端 | 数据列表页 | 屏幕旋转 | 调整网格布局,优化触控区域大小 |
610
- | 移动端 | 数据列表页 | 首次加载 | 采用卡片式布局,支持下拉刷新和上拉加载更多 |
611
- | 桌面端 | 表单页面 | 窗口高度变化 | 调整表单元素间距,优化表单填写体验 |
612
- | 移动端 | 表单页面 | 软键盘弹出 | 自动调整页面布局,确保输入框在可视区域内 |
613
-
614
- Scenario Outline: 响应式布局适配处理
615
- Given 用户在<device_type>设备上访问<page_name>页面
616
- When 屏幕尺寸发生变化或页面内容更新时
617
- Then 系统应:
618
- 1. 检测当前视口尺寸
619
- 2. 应用相应的响应式断点规则
620
- 3. 调整布局结构和组件显示
621
- 4. 优化交互元素的可用性
622
-
623
- Examples:
624
- | device_type | page_name | layout_change_trigger | 适配策略 |
625
- | 桌面端 | 数据列表页 | 窗口宽度缩小 | 隐藏非关键列,提供水平滚动条 |
626
- | 平板端 | 数据列表页 | 屏幕旋转 | 调整网格布局,优化触控区域大小 |
627
- | 移动端 | 数据列表页 | 首次加载 | 采用卡片式布局,支持下拉刷新和上拉加载更多 |
628
- | 桌面端 | 表单页面 | 窗口高度变化 | 调整表单元素间距,优化表单填写体验 |
629
- | 移动端 | 表单页面 | 软键盘弹出 | 自动调整页面布局,确保输入框在可视区域内 |
630
- | 桌面端 | 仪表板页 | 窗口尺寸放大 | 增加图表密度,显示更多数据维度 |
631
- | 移动端 | 仪表板页 | 屏幕方向切换 | 重新排列图表组件,适应新的宽高比 |
632
-
633
- Scenario Outline: UI组件交互处理流程
634
- Given 用户在<page_context>中与<component_type>组件进行交互
635
- When 发生<interaction_type>交互时
636
- Then 系统应:
637
- 1. 验证交互的合法性
638
- 2. 更新组件状态
639
- 3. 触发相应的业务逻辑
640
- 4. 提供用户反馈
641
-
642
- Examples:
643
- | page_context | component_type | interaction_type | 处理逻辑 |
644
- | 用户管理页面 | 表格组件 | 点击行选择 | 高亮选中行,显示操作按钮,更新状态栏信息 |
645
- | 订单详情页 | 表单组件 | 输入数据验证 | 实时验证输入格式,显示错误提示和正确标识 |
646
- | 数据分析页 | 图表组件 | 悬停显示详情 | 显示数据点详细信息,支持数据导出功能 |
647
- | 设置页面 | 开关组件 | 切换状态 | 保存设置到本地存储,同步到服务器(如需要) |
648
- | 搜索页面 | 搜索框组件 | 输入关键词 | 实时搜索建议,防抖处理避免频繁请求 |
649
- | 导航菜单 | 菜单组件 | 点击展开 | 动画展开子菜单,记录用户偏好设置 |
650
- | 图片上传页 | 上传组件 | 拖拽文件 | 显示文件预览,验证文件格式和大小 |
651
- \`\`\`
652
-
653
- ---
654
-
655
- **重要提醒**:
656
- 1. 请输出完整的Markdown文档,不要省略任何章节
657
- 2. 每个章节都要有实质性的内容,不能只是模板
658
- 3. 根据输入的原始内容进行具体分析,不要使用通用模板
659
- 4. 文档总长度应该在3000字以上
660
- 5. 表格中的内容要填写具体信息,不要保留占位符
661
-
662
- 现在请开始生成完整的需求文档:\`;
663
- `;
664
- exports.systemPrompt = "你是一位专业的软件工程需求分析专家,善于将用户需求转化为结构化的需求文档。";