bmall-mcp 1.10.1 → 1.10.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.
- package/README.md +11 -0
- package/dist/tools/requirements/index.d.ts.map +1 -1
- package/dist/tools/requirements/index.js +52 -4
- package/dist/tools/requirements/index.js.map +1 -1
- package/dist/tools/requirements/requirement-processor.d.ts.map +1 -1
- package/dist/tools/requirements/requirement-processor.js +24 -13
- package/dist/tools/requirements/requirement-processor.js.map +1 -1
- package/package.json +1 -1
- package/src/tools/requirements/index.ts +55 -4
- package/src/tools/requirements/requirement-processor.ts +24 -13
package/README.md
CHANGED
|
@@ -204,6 +204,17 @@ src/
|
|
|
204
204
|
|
|
205
205
|
## Changelog
|
|
206
206
|
|
|
207
|
+
### v1.10.3 (2026-03-17)
|
|
208
|
+
- ✅ 修复 generate_requirements 流程问题:每处理完一个文档后返回并提示重新调用
|
|
209
|
+
- ✅ 优化 PDF 读取提示词:使用通用描述让 AI 自己查找正确的工具名称
|
|
210
|
+
- ✅ 添加详细调试日志:帮助定位问题(步骤 3.2、3.3、步骤 4)
|
|
211
|
+
- ✅ 确保按顺序处理:PRD → 设计稿 → 后端文档 → 最终分析
|
|
212
|
+
|
|
213
|
+
### v1.10.2 (2026-03-16)
|
|
214
|
+
- ✅ 修复 PDF OCR 调用问题:明确说明需要分别调用两个工具(文本读取 + OCR)
|
|
215
|
+
- ✅ 优化提示词:分 5 个步骤说明(读取文本层 → OCR 识别 → 合并 → 保存 → 重新调用)
|
|
216
|
+
- ✅ 强调必须调用两个工具,缺一不可
|
|
217
|
+
|
|
207
218
|
### v1.10.1 (2026-03-16)
|
|
208
219
|
- ✅ 修复 PDF OCR 问题:明确说明 include_images: true 用于 OCR 识别图片和表格
|
|
209
220
|
- ✅ 修复中间文件保存问题:优化提示词,分步骤说明读取→保存→重新调用
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/requirements/index.ts"],"names":[],"mappings":"AAoBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,0BAA0B;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAmCD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;QAClD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/requirements/index.ts"],"names":[],"mappings":"AAoBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,0BAA0B;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAmCD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;QAClD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC,CA+ND"}
|
|
@@ -64,14 +64,31 @@ export async function generateRequirements(params) {
|
|
|
64
64
|
needsAction: requirementResult.needsAction
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
// 需求文档刚刚处理完成,返回并提示重新调用
|
|
68
|
+
debugLog(`需求文档已处理完成,提示重新调用`);
|
|
69
|
+
return {
|
|
70
|
+
success: false,
|
|
71
|
+
message: `✅ 需求文档已保存到:${originDocPath}\n\n请重新调用 \`generate_requirements\` 工具继续处理${params.designSource ? '设计稿' : ''}${params.backendSource ? (params.designSource ? '和后端文档' : '后端文档') : ''}`,
|
|
72
|
+
needsAction: {
|
|
73
|
+
type: "analyze_content",
|
|
74
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
75
|
+
}
|
|
76
|
+
};
|
|
68
77
|
}
|
|
69
78
|
else {
|
|
70
79
|
debugLog(`需求文档已存在,跳过处理`);
|
|
71
80
|
}
|
|
72
81
|
// 3.2 处理设计稿
|
|
82
|
+
debugLog(`步骤 3.2:检查设计稿`, {
|
|
83
|
+
hasDesignSource: !!params.designSource,
|
|
84
|
+
designSourceType: params.designSource?.type
|
|
85
|
+
});
|
|
73
86
|
if (params.designSource) {
|
|
74
87
|
const savedDesign = await tryReadSavedDesign(params.featureName, projectRoot);
|
|
88
|
+
debugLog(`设计稿检查结果`, {
|
|
89
|
+
savedDesignExists: !!savedDesign,
|
|
90
|
+
savedDesignLength: savedDesign?.length
|
|
91
|
+
});
|
|
75
92
|
if (!savedDesign) {
|
|
76
93
|
debugLog(`设计稿未找到,开始处理`);
|
|
77
94
|
if (params.designSource.type === "figma") {
|
|
@@ -111,7 +128,16 @@ export async function generateRequirements(params) {
|
|
|
111
128
|
needsAction: designResult.needsAction
|
|
112
129
|
};
|
|
113
130
|
}
|
|
114
|
-
|
|
131
|
+
// 设计稿刚刚处理完成,返回并提示重新调用
|
|
132
|
+
debugLog(`设计稿已处理完成,提示重新调用`);
|
|
133
|
+
return {
|
|
134
|
+
success: false,
|
|
135
|
+
message: `✅ 设计稿已保存到:${designDocPath}\n\n请重新调用 \`generate_requirements\` 工具继续处理${params.backendSource ? '后端文档' : ''}`,
|
|
136
|
+
needsAction: {
|
|
137
|
+
type: "analyze_content",
|
|
138
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
139
|
+
}
|
|
140
|
+
};
|
|
115
141
|
}
|
|
116
142
|
}
|
|
117
143
|
else {
|
|
@@ -119,8 +145,16 @@ export async function generateRequirements(params) {
|
|
|
119
145
|
}
|
|
120
146
|
}
|
|
121
147
|
// 3.3 处理后端文档
|
|
148
|
+
debugLog(`步骤 3.3:检查后端文档`, {
|
|
149
|
+
hasBackendSource: !!params.backendSource,
|
|
150
|
+
backendSourceType: params.backendSource?.type
|
|
151
|
+
});
|
|
122
152
|
if (params.backendSource) {
|
|
123
153
|
const savedBackend = await tryReadSavedBackend(params.featureName, projectRoot);
|
|
154
|
+
debugLog(`后端文档检查结果`, {
|
|
155
|
+
savedBackendExists: !!savedBackend,
|
|
156
|
+
savedBackendLength: savedBackend?.length
|
|
157
|
+
});
|
|
124
158
|
if (!savedBackend) {
|
|
125
159
|
debugLog(`后端文档未找到,开始处理`);
|
|
126
160
|
const backendResult = await processRequirementDocument(params.backendSource, params.featureName, "backend-doc.md");
|
|
@@ -132,14 +166,28 @@ export async function generateRequirements(params) {
|
|
|
132
166
|
needsAction: backendResult.needsAction
|
|
133
167
|
};
|
|
134
168
|
}
|
|
135
|
-
|
|
169
|
+
// 后端文档刚刚处理完成,返回并提示重新调用
|
|
170
|
+
debugLog(`后端文档已处理完成,提示重新调用`);
|
|
171
|
+
return {
|
|
172
|
+
success: false,
|
|
173
|
+
message: `✅ 后端文档已保存到:${backendDocPath}\n\n请重新调用 \`generate_requirements\` 工具进行最终分析`,
|
|
174
|
+
needsAction: {
|
|
175
|
+
type: "analyze_content",
|
|
176
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
177
|
+
}
|
|
178
|
+
};
|
|
136
179
|
}
|
|
137
180
|
else {
|
|
138
181
|
debugLog(`后端文档已存在,跳过处理`);
|
|
139
182
|
}
|
|
140
183
|
}
|
|
141
184
|
// 步骤 4:所有文档已准备完毕,生成分析提示词
|
|
142
|
-
debugLog(
|
|
185
|
+
debugLog(`所有文档已准备完毕,生成分析提示词`, {
|
|
186
|
+
hasDesignSource: !!params.designSource,
|
|
187
|
+
hasBackendSource: !!params.backendSource,
|
|
188
|
+
designDocPath,
|
|
189
|
+
backendDocPath
|
|
190
|
+
});
|
|
143
191
|
const outputPath = buildOutputPath(params.featureName, "requirements.md", projectRoot);
|
|
144
192
|
let message = "📝 需求文档已准备完毕\n\n";
|
|
145
193
|
message += `**原始文档位置**:${originDocPath}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/requirements/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/requirements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAU;IAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,UAAU,SAAS,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACxG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAuBD;;GAEG;AACH,SAAS,sBAAsB,CAC7B,MAAkC;IAYlC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yLAAyL;gBAClM,WAAW,EAAE;oBACX,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,4EAA4E;iBAC1F;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAkC;IASlC,QAAQ,CAAC,yBAAyB,EAAE;QAClC,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,cAAc;QACd,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,KAAM,CAAC;QAC3B,CAAC;QAED,eAAe;QACf,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC9E,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAChG,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrH,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAExH,kBAAkB;QAElB,kBAAkB;QAClB,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACxF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,cAAc,CAAC,CAAC;YACzB,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CACxD,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,WAAW,EAClB,uBAAuB,CACxB,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC/B,QAAQ,CAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,iBAAiB,CAAC,OAAQ;oBACnC,WAAW,EAAE,iBAAiB,CAAC,WAAW;iBAC3C,CAAC;YACJ,CAAC;YAED,uBAAuB;YACvB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,cAAc,aAAa,6CAA6C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1L,WAAW,EAAE;oBACX,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,uCAAuC;iBACrD;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC;QAED,YAAY;QACZ,QAAQ,CAAC,cAAc,EAAE;YACvB,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;YACtC,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI;SAC5C,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9E,QAAQ,CAAC,SAAS,EAAE;gBAClB,iBAAiB,EAAE,CAAC,CAAC,WAAW;gBAChC,iBAAiB,EAAE,WAAW,EAAE,MAAM;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAExB,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzC,YAAY;oBACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,CAAC;oBAE/C,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE;;;oBAGD,QAAQ;;;cAGd,aAAa;;;wCAGa;wBAC5B,WAAW,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,sBAAsB,QAAQ;cAC3C,aAAa;8BACG;yBACjB;qBACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC/C,UAAU;oBACV,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;qBAC/B,EACD,MAAM,CAAC,WAAW,EAClB,eAAe,CAChB,CAAC;oBAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;wBAC1B,QAAQ,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;wBACzC,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,YAAY,CAAC,OAAQ;4BAC9B,WAAW,EAAE,YAAY,CAAC,WAAW;yBACtC,CAAC;oBACJ,CAAC;oBAED,sBAAsB;oBACtB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,aAAa,aAAa,6CAA6C,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpH,WAAW,EAAE;4BACX,IAAI,EAAE,iBAAiB;4BACvB,WAAW,EAAE,uCAAuC;yBACrD;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,aAAa;QACb,QAAQ,CAAC,eAAe,EAAE;YACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;YACxC,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI;SAC9C,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAChF,QAAQ,CAAC,UAAU,EAAE;gBACnB,kBAAkB,EAAE,CAAC,CAAC,YAAY;gBAClC,kBAAkB,EAAE,YAAY,EAAE,MAAM;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACzB,MAAM,aAAa,GAAG,MAAM,0BAA0B,CACpD,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,WAAW,EAClB,gBAAgB,CACjB,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3B,QAAQ,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC3C,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,aAAa,CAAC,OAAQ;wBAC/B,WAAW,EAAE,aAAa,CAAC,WAAW;qBACvC,CAAC;gBACJ,CAAC;gBAED,uBAAuB;gBACvB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,cAAc,8CAA8C;oBACnF,WAAW,EAAE;wBACX,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE,uCAAuC;qBACrD;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,QAAQ,CAAC,mBAAmB,EAAE;YAC5B,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;YACtC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;YACxC,aAAa;YACb,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAEvF,IAAI,OAAO,GAAG,kBAAkB,CAAC;QACjC,OAAO,IAAI,cAAc,aAAa,IAAI,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,aAAa,aAAa,IAAI,CAAC;QAC5C,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,cAAc,cAAc,IAAI,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,cAAc,UAAU,MAAM,CAAC;QAC1C,OAAO,IAAI,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAErG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO;YACP,WAAW,EAAE;gBACX,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,UAAU,EAAE;aAClJ;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,EAAE;YACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAClB,CAAC,CAAC;QACH,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,CAAC,KAAK,EACN,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,aAAqB,EACrB,UAAkB,EAClB,YAAsE,EACtE,aAAqE;IAErE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,MAAM,GAAG;;;UAGL,aAAa;EACrB,YAAY,CAAC,CAAC,CAAC,+BAA+B,WAAW,kBAAkB,CAAC,CAAC,CAAC,EAAE;EAChF,aAAa,CAAC,CAAC,CAAC,gCAAgC,WAAW,mBAAmB,CAAC,CAAC,CAAC,EAAE;;aAExE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0BA,CAAC;IAEtB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirement-processor.d.ts","sourceRoot":"","sources":["../../../src/tools/requirements/requirement-processor.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAexD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAElG;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;QAClD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,MAAgC,GAC/C,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"requirement-processor.d.ts","sourceRoot":"","sources":["../../../src/tools/requirements/requirement-processor.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAexD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAElG;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;QAClD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,MAAgC,GAC/C,OAAO,CAAC,aAAa,CAAC,CAuKxB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB"}
|
|
@@ -98,24 +98,35 @@ export async function processRequirementDocument(requirementSource, featureName,
|
|
|
98
98
|
debugLog(`准备提取PDF内容`, { filePath });
|
|
99
99
|
return {
|
|
100
100
|
success: false,
|
|
101
|
-
message: `📄 检测到 PDF
|
|
101
|
+
message: `📄 检测到 PDF 文件,需要分两步读取并保存
|
|
102
102
|
|
|
103
|
-
**步骤 1
|
|
104
|
-
使用 PDF Reader MCP
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
- 合并两种方式的结果
|
|
103
|
+
**步骤 1:读取文本层**
|
|
104
|
+
使用 PDF Reader MCP 的**文本读取工具**(如 \`read_pdf_text\` 或类似名称)读取:
|
|
105
|
+
- 文件路径:${filePath}
|
|
106
|
+
- 获取文本层内容
|
|
108
107
|
|
|
109
|
-
**步骤 2
|
|
110
|
-
|
|
108
|
+
**步骤 2:OCR 识别图片和表格**
|
|
109
|
+
使用 PDF Reader MCP 的 **OCR 工具**(如 \`read_by_ocr\` 或类似名称)读取:
|
|
110
|
+
- 文件路径:${filePath}
|
|
111
|
+
- 识别图片和表格中的文字
|
|
111
112
|
|
|
112
|
-
**步骤 3
|
|
113
|
-
|
|
113
|
+
**步骤 3:合并内容**
|
|
114
|
+
将步骤 1 和步骤 2 的内容合并
|
|
115
|
+
|
|
116
|
+
**步骤 4:保存文件**
|
|
117
|
+
将合并后的完整内容保存到:\`${outputMdPath}\`
|
|
118
|
+
|
|
119
|
+
**步骤 5:重新调用工具**
|
|
120
|
+
保存完成后,重新调用 \`generate_requirements\` 工具(不要把文件内容放在上下文中)
|
|
121
|
+
|
|
122
|
+
⚠️ **重要**:必须调用两个工具(文本读取 + OCR),缺一不可`,
|
|
114
123
|
needsAction: {
|
|
115
124
|
type: "read_pdf",
|
|
116
|
-
instruction: `1.
|
|
117
|
-
2.
|
|
118
|
-
3.
|
|
125
|
+
instruction: `1. 调用 PDF Reader MCP 的文本读取工具读取 ${filePath}
|
|
126
|
+
2. 调用 PDF Reader MCP 的 OCR 工具读取 ${filePath}
|
|
127
|
+
3. 合并两次读取的内容
|
|
128
|
+
4. 保存到文件 ${outputMdPath}
|
|
129
|
+
5. 重新调用 generate_requirements`,
|
|
119
130
|
},
|
|
120
131
|
};
|
|
121
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirement-processor.js","sourceRoot":"","sources":["../../../src/tools/requirements/requirement-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"requirement-processor.js","sourceRoot":"","sources":["../../../src/tools/requirements/requirement-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -127,14 +127,32 @@ export async function generateRequirements(
|
|
|
127
127
|
needsAction: requirementResult.needsAction
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
|
|
131
|
+
// 需求文档刚刚处理完成,返回并提示重新调用
|
|
132
|
+
debugLog(`需求文档已处理完成,提示重新调用`);
|
|
133
|
+
return {
|
|
134
|
+
success: false,
|
|
135
|
+
message: `✅ 需求文档已保存到:${originDocPath}\n\n请重新调用 \`generate_requirements\` 工具继续处理${params.designSource ? '设计稿' : ''}${params.backendSource ? (params.designSource ? '和后端文档' : '后端文档') : ''}`,
|
|
136
|
+
needsAction: {
|
|
137
|
+
type: "analyze_content",
|
|
138
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
139
|
+
}
|
|
140
|
+
};
|
|
131
141
|
} else {
|
|
132
142
|
debugLog(`需求文档已存在,跳过处理`);
|
|
133
143
|
}
|
|
134
144
|
|
|
135
145
|
// 3.2 处理设计稿
|
|
146
|
+
debugLog(`步骤 3.2:检查设计稿`, {
|
|
147
|
+
hasDesignSource: !!params.designSource,
|
|
148
|
+
designSourceType: params.designSource?.type
|
|
149
|
+
});
|
|
136
150
|
if (params.designSource) {
|
|
137
151
|
const savedDesign = await tryReadSavedDesign(params.featureName, projectRoot);
|
|
152
|
+
debugLog(`设计稿检查结果`, {
|
|
153
|
+
savedDesignExists: !!savedDesign,
|
|
154
|
+
savedDesignLength: savedDesign?.length
|
|
155
|
+
});
|
|
138
156
|
if (!savedDesign) {
|
|
139
157
|
debugLog(`设计稿未找到,开始处理`);
|
|
140
158
|
|
|
@@ -180,7 +198,17 @@ export async function generateRequirements(
|
|
|
180
198
|
needsAction: designResult.needsAction
|
|
181
199
|
};
|
|
182
200
|
}
|
|
183
|
-
|
|
201
|
+
|
|
202
|
+
// 设计稿刚刚处理完成,返回并提示重新调用
|
|
203
|
+
debugLog(`设计稿已处理完成,提示重新调用`);
|
|
204
|
+
return {
|
|
205
|
+
success: false,
|
|
206
|
+
message: `✅ 设计稿已保存到:${designDocPath}\n\n请重新调用 \`generate_requirements\` 工具继续处理${params.backendSource ? '后端文档' : ''}`,
|
|
207
|
+
needsAction: {
|
|
208
|
+
type: "analyze_content",
|
|
209
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
210
|
+
}
|
|
211
|
+
};
|
|
184
212
|
}
|
|
185
213
|
} else {
|
|
186
214
|
debugLog(`设计稿已存在,跳过处理`);
|
|
@@ -188,8 +216,16 @@ export async function generateRequirements(
|
|
|
188
216
|
}
|
|
189
217
|
|
|
190
218
|
// 3.3 处理后端文档
|
|
219
|
+
debugLog(`步骤 3.3:检查后端文档`, {
|
|
220
|
+
hasBackendSource: !!params.backendSource,
|
|
221
|
+
backendSourceType: params.backendSource?.type
|
|
222
|
+
});
|
|
191
223
|
if (params.backendSource) {
|
|
192
224
|
const savedBackend = await tryReadSavedBackend(params.featureName, projectRoot);
|
|
225
|
+
debugLog(`后端文档检查结果`, {
|
|
226
|
+
savedBackendExists: !!savedBackend,
|
|
227
|
+
savedBackendLength: savedBackend?.length
|
|
228
|
+
});
|
|
193
229
|
if (!savedBackend) {
|
|
194
230
|
debugLog(`后端文档未找到,开始处理`);
|
|
195
231
|
const backendResult = await processRequirementDocument(
|
|
@@ -206,14 +242,29 @@ export async function generateRequirements(
|
|
|
206
242
|
needsAction: backendResult.needsAction
|
|
207
243
|
};
|
|
208
244
|
}
|
|
209
|
-
|
|
245
|
+
|
|
246
|
+
// 后端文档刚刚处理完成,返回并提示重新调用
|
|
247
|
+
debugLog(`后端文档已处理完成,提示重新调用`);
|
|
248
|
+
return {
|
|
249
|
+
success: false,
|
|
250
|
+
message: `✅ 后端文档已保存到:${backendDocPath}\n\n请重新调用 \`generate_requirements\` 工具进行最终分析`,
|
|
251
|
+
needsAction: {
|
|
252
|
+
type: "analyze_content",
|
|
253
|
+
instruction: `重新调用 generate_requirements 工具,使用相同的参数`
|
|
254
|
+
}
|
|
255
|
+
};
|
|
210
256
|
} else {
|
|
211
257
|
debugLog(`后端文档已存在,跳过处理`);
|
|
212
258
|
}
|
|
213
259
|
}
|
|
214
260
|
|
|
215
261
|
// 步骤 4:所有文档已准备完毕,生成分析提示词
|
|
216
|
-
debugLog(
|
|
262
|
+
debugLog(`所有文档已准备完毕,生成分析提示词`, {
|
|
263
|
+
hasDesignSource: !!params.designSource,
|
|
264
|
+
hasBackendSource: !!params.backendSource,
|
|
265
|
+
designDocPath,
|
|
266
|
+
backendDocPath
|
|
267
|
+
});
|
|
217
268
|
|
|
218
269
|
const outputPath = buildOutputPath(params.featureName, "requirements.md", projectRoot);
|
|
219
270
|
|
|
@@ -127,24 +127,35 @@ export async function processRequirementDocument(
|
|
|
127
127
|
|
|
128
128
|
return {
|
|
129
129
|
success: false,
|
|
130
|
-
message: `📄 检测到 PDF
|
|
130
|
+
message: `📄 检测到 PDF 文件,需要分两步读取并保存
|
|
131
131
|
|
|
132
|
-
**步骤 1
|
|
133
|
-
使用 PDF Reader MCP
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
- 合并两种方式的结果
|
|
132
|
+
**步骤 1:读取文本层**
|
|
133
|
+
使用 PDF Reader MCP 的**文本读取工具**(如 \`read_pdf_text\` 或类似名称)读取:
|
|
134
|
+
- 文件路径:${filePath}
|
|
135
|
+
- 获取文本层内容
|
|
137
136
|
|
|
138
|
-
**步骤 2
|
|
139
|
-
|
|
137
|
+
**步骤 2:OCR 识别图片和表格**
|
|
138
|
+
使用 PDF Reader MCP 的 **OCR 工具**(如 \`read_by_ocr\` 或类似名称)读取:
|
|
139
|
+
- 文件路径:${filePath}
|
|
140
|
+
- 识别图片和表格中的文字
|
|
140
141
|
|
|
141
|
-
**步骤 3
|
|
142
|
-
|
|
142
|
+
**步骤 3:合并内容**
|
|
143
|
+
将步骤 1 和步骤 2 的内容合并
|
|
144
|
+
|
|
145
|
+
**步骤 4:保存文件**
|
|
146
|
+
将合并后的完整内容保存到:\`${outputMdPath}\`
|
|
147
|
+
|
|
148
|
+
**步骤 5:重新调用工具**
|
|
149
|
+
保存完成后,重新调用 \`generate_requirements\` 工具(不要把文件内容放在上下文中)
|
|
150
|
+
|
|
151
|
+
⚠️ **重要**:必须调用两个工具(文本读取 + OCR),缺一不可`,
|
|
143
152
|
needsAction: {
|
|
144
153
|
type: "read_pdf",
|
|
145
|
-
instruction: `1.
|
|
146
|
-
2.
|
|
147
|
-
3.
|
|
154
|
+
instruction: `1. 调用 PDF Reader MCP 的文本读取工具读取 ${filePath}
|
|
155
|
+
2. 调用 PDF Reader MCP 的 OCR 工具读取 ${filePath}
|
|
156
|
+
3. 合并两次读取的内容
|
|
157
|
+
4. 保存到文件 ${outputMdPath}
|
|
158
|
+
5. 重新调用 generate_requirements`,
|
|
148
159
|
},
|
|
149
160
|
};
|
|
150
161
|
}
|