intention-coding 0.4.8 → 0.4.9
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/dist/index.cjs +65 -180
- package/dist/services/image-analysis/analyzer.d.ts +3 -3
- package/dist/services/image-analysis/analyzer.d.ts.map +1 -1
- package/dist/services/image-analysis/index.d.ts +7 -0
- package/dist/services/image-analysis/index.d.ts.map +1 -1
- package/dist/services/image-analysis/types.d.ts +1 -0
- package/dist/services/image-analysis/types.d.ts.map +1 -1
- package/dist/services/image-converter/index.d.ts.map +1 -1
- package/dist/services/image-recognition-agent/index.d.ts.map +1 -1
- package/dist/services/pdf2md/index.d.ts.map +1 -1
- package/dist/services/world2md/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3938,12 +3938,13 @@ var __webpack_exports__ = {};
|
|
|
3938
3938
|
}).describe("\u8F6C\u6362\u9009\u9879")
|
|
3939
3939
|
});
|
|
3940
3940
|
const word2mdTool = {
|
|
3941
|
-
name: "
|
|
3941
|
+
name: "read_word",
|
|
3942
3942
|
description: "word\u6587\u6863\u5904\u7406\u667A\u80FD\u4F53 - \u5C06Word\u6587\u6863(.docx)\u8F6C\u6362\u4E3AMarkdown\u683C\u5F0F",
|
|
3943
3943
|
inputSchema: {
|
|
3944
3944
|
filePath: stringType().describe("\u9700\u8981\u89E3\u6790\u7684Word\u6587\u6863\u7684\u7EDD\u5BF9\u8DEF\u5F84")
|
|
3945
3945
|
},
|
|
3946
3946
|
handler: async (args)=>{
|
|
3947
|
+
initializeProjectRoot();
|
|
3947
3948
|
const { filePath } = args;
|
|
3948
3949
|
if (!filePath) throw new Error("\u6587\u4EF6\u8DEF\u5F84\u53C2\u6570\u7F3A\u5931\uFF0C\u8BF7\u63D0\u4F9B filePath \u53C2\u6570");
|
|
3949
3950
|
try {
|
|
@@ -4054,7 +4055,7 @@ var __webpack_exports__ = {};
|
|
|
4054
4055
|
}).describe("\u8F6C\u6362\u9009\u9879")
|
|
4055
4056
|
});
|
|
4056
4057
|
const pdf2mdTool = {
|
|
4057
|
-
name: "
|
|
4058
|
+
name: "read_pdf",
|
|
4058
4059
|
description: "pdf\u5904\u7406\u667A\u80FD\u4F53 - \u5C06PDF\u6587\u6863\u8F6C\u6362\u4E3AMarkdown\u683C\u5F0F\uFF0C\u652F\u6301\u6587\u672C\u63D0\u53D6\u548C\u683C\u5F0F\u4FDD\u7559",
|
|
4059
4060
|
inputSchema: {
|
|
4060
4061
|
file_path: stringType().describe("\u9700\u8981\u89E3\u6790\u7684PDF\u6587\u6863\u7684\u7EDD\u5BF9\u8DEF\u5F84"),
|
|
@@ -4072,6 +4073,7 @@ var __webpack_exports__ = {};
|
|
|
4072
4073
|
const { file_path, options = {} } = args;
|
|
4073
4074
|
const { preserve_formatting = true, extract_metadata = true } = options;
|
|
4074
4075
|
try {
|
|
4076
|
+
initializeProjectRoot();
|
|
4075
4077
|
const resolvedPath = await common_validateAndResolvePath(file_path);
|
|
4076
4078
|
if (!file_path.toLowerCase().endsWith('.pdf')) throw new Error("\u6587\u4EF6\u5FC5\u987B\u662FPDF\u683C\u5F0F\uFF08.pdf\u6269\u5C55\u540D\uFF09");
|
|
4077
4079
|
logger_logger.info("\u5F00\u59CB\u8BFB\u53D6PDF\u6587\u4EF6", {
|
|
@@ -4300,7 +4302,7 @@ var __webpack_exports__ = {};
|
|
|
4300
4302
|
});
|
|
4301
4303
|
const initProjectStandard = {
|
|
4302
4304
|
name: "\u9879\u76EE\u5F00\u53D1\u89C4\u8303\u751F\u6210\u667A\u80FD\u4F53",
|
|
4303
|
-
description: "\u5206\u6790\u9879\u76EE\u67B6\u6784\u5E76\u751F\u6210\u5F00\u53D1\u89C4\u8303",
|
|
4305
|
+
description: "\u9879\u76EE\u5F00\u53D1\u89C4\u8303\u751F\u6210\u667A\u80FD\u4F53-\u5206\u6790\u9879\u76EE\u67B6\u6784\u5E76\u751F\u6210\u5F00\u53D1\u89C4\u8303",
|
|
4304
4306
|
inputSchema: {
|
|
4305
4307
|
project_name: stringType().optional().describe("\u9879\u76EE\u540D\u79F0\uFF0C\u7528\u4E8E\u751F\u6210\u6587\u4EF6\u540D"),
|
|
4306
4308
|
project_path: stringType().optional().describe("\u9879\u76EE\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u7528\u4E8E\u6307\u5B9A\u8981\u5206\u6790\u7684\u9879\u76EE\u76EE\u5F55"),
|
|
@@ -4723,7 +4725,7 @@ ${customRules}` : '';
|
|
|
4723
4725
|
message: "\u5F53input_type\u4E3Atext\u65F6content\u5FC5\u586B\uFF0C\u5F53input_type\u4E3Amd_file\u65F6md_file_path\u5FC5\u586B"
|
|
4724
4726
|
});
|
|
4725
4727
|
const requirementAnalyzerTool = {
|
|
4726
|
-
name: "\u9700\u6C42\
|
|
4728
|
+
name: "\u9700\u6C42\u62A5\u544A\u751F\u6210\u667A\u80FD\u4F53",
|
|
4727
4729
|
description: "\u667A\u80FD\u5206\u6790\u9700\u6C42\u5E76\u751F\u6210\u7EDF\u4E00\u7684\u6280\u672F\u6587\u6863\uFF0C\u652F\u6301\u9879\u76EE\u60C5\u51B5\u611F\u77E5\u548C\u7CBE\u786E\u6A21\u677F\u5339\u914D",
|
|
4728
4730
|
inputSchema: {
|
|
4729
4731
|
input_type: enumType([
|
|
@@ -5005,7 +5007,7 @@ ${requirementSection}
|
|
|
5005
5007
|
'webp'
|
|
5006
5008
|
];
|
|
5007
5009
|
class ImageAnalyzer {
|
|
5008
|
-
async analyzeImage(imagePath) {
|
|
5010
|
+
async analyzeImage(imagePath, context) {
|
|
5009
5011
|
const startTime = Date.now();
|
|
5010
5012
|
try {
|
|
5011
5013
|
logger_logger.info("\u5F00\u59CB\u56FE\u7247\u5185\u5BB9\u5206\u6790", {
|
|
@@ -5013,7 +5015,7 @@ ${requirementSection}
|
|
|
5013
5015
|
});
|
|
5014
5016
|
await this.validateParams(imagePath);
|
|
5015
5017
|
const basicInfo = await this.getImageBasicInfo(imagePath);
|
|
5016
|
-
const analysisContent = await this.performAIAnalysis(imagePath, basicInfo);
|
|
5018
|
+
const analysisContent = await this.performAIAnalysis(imagePath, basicInfo, context);
|
|
5017
5019
|
const processingTime = Date.now() - startTime;
|
|
5018
5020
|
if (!analysisContent) throw new ImageAnalysisError("AI\u5206\u6790\u8FD4\u56DE\u7A7A\u7ED3\u679C", types_AnalysisErrorCodes.ANALYSIS_FAILED, {
|
|
5019
5021
|
params: {
|
|
@@ -5044,10 +5046,10 @@ ${requirementSection}
|
|
|
5044
5046
|
throw error;
|
|
5045
5047
|
}
|
|
5046
5048
|
}
|
|
5047
|
-
async performAIAnalysis(imagePath, basicInfo) {
|
|
5049
|
+
async performAIAnalysis(imagePath, basicInfo, context) {
|
|
5048
5050
|
try {
|
|
5049
5051
|
const imageBase64 = await this.imageToBase64(imagePath);
|
|
5050
|
-
const prompt = this.buildAnalysisPrompt(imagePath, basicInfo);
|
|
5052
|
+
const prompt = this.buildAnalysisPrompt(imagePath, basicInfo, context);
|
|
5051
5053
|
const aiResponse = await openai_openAIService.analyzeImage({
|
|
5052
5054
|
image_base64: imageBase64,
|
|
5053
5055
|
prompt: prompt,
|
|
@@ -5067,39 +5069,38 @@ ${requirementSection}
|
|
|
5067
5069
|
});
|
|
5068
5070
|
}
|
|
5069
5071
|
}
|
|
5070
|
-
buildAnalysisPrompt(imagePath, basicInfo) {
|
|
5071
|
-
const
|
|
5072
|
-
const isUIDesign = this.detectUIDesign(imagePath, basicInfo);
|
|
5073
|
-
const basePrompt = `\u{8BF7}\u{5BF9}\u{8FD9}\u{5F20}\u{56FE}\u{7247}\u{8FDB}\u{884C}\u{4E13}\u{4E1A}\u{7684}\u{5185}\u{5BB9}\u{5206}\u{6790}\u{3002}
|
|
5072
|
+
buildAnalysisPrompt(imagePath, basicInfo, context) {
|
|
5073
|
+
const basePrompt = `\u{8BF7}\u{5BF9}\u{8FD9}\u{5F20}\u{56FE}\u{7247}\u{8FDB}\u{884C}\u{4E25}\u{683C}\u{7684}\u{5185}\u{5BB9}\u{5206}\u{6790}\u{3002}
|
|
5074
5074
|
|
|
5075
5075
|
\u{56FE}\u{7247}\u{4FE1}\u{606F}\u{FF1A}
|
|
5076
5076
|
- \u{6587}\u{4EF6}\u{540D}\u{FF1A}${external_path_namespaceObject.basename(imagePath)}
|
|
5077
5077
|
- \u{683C}\u{5F0F}\u{FF1A}${basicInfo.format.toUpperCase()}
|
|
5078
5078
|
- \u{5C3A}\u{5BF8}\u{FF1A}${basicInfo.dimensions.width} \xd7 ${basicInfo.dimensions.height} \u{50CF}\u{7D20}
|
|
5079
|
-
- \u{6587}\u{4EF6}\u{5927}\u{5C0F}\u{FF1A}${this.formatFileSize(basicInfo.file_size)}
|
|
5080
|
-
- \u{56FE}\u{7247}\u{7C7B}\u{578B}\u{FF1A}${isLongImage ? "\u957F\u56FE" : "\u666E\u901A\u56FE\u7247"}${isUIDesign ? "\uFF0C\u7591\u4F3CUI\u8BBE\u8BA1\u7A3F" : ''}`;
|
|
5079
|
+
- \u{6587}\u{4EF6}\u{5927}\u{5C0F}\u{FF1A}${this.formatFileSize(basicInfo.file_size)}`;
|
|
5081
5080
|
const analysisRequirements = `
|
|
5082
|
-
\u{
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}\u{957F}\u{56FE}\u{7684}\u{5185}\u{5BB9}\u{7ED3}\u{6784}\u{3001}\u{4FE1}\u{606F}\u{5C42}\u{6B21}\u{7B49}` : ''}
|
|
5092
|
-
|
|
5093
|
-
\u{8BF7}\u{63D0}\u{4F9B}\u{8BE6}\u{7EC6}\u{3001}\u{51C6}\u{786E}\u{3001}\u{4E13}\u{4E1A}\u{7684}\u{5206}\u{6790}\u{7ED3}\u{679C}\u{3002}`;
|
|
5081
|
+
## \u{1F3AF} \u{6838}\u{5FC3}\u{5206}\u{6790}\u{6307}\u{4EE4}
|
|
5082
|
+
\u{4F60}\u{662F}\u{4E00}\u{4E2A}\u{4E13}\u{4E1A}\u{7684}\u{56FE}\u{7247}\u{5206}\u{6790}\u{4E13}\u{5BB6}\u{FF0C}\u{8BF7}\u{4E25}\u{683C}\u{6309}\u{7167}\u{4EE5}\u{4E0B}\u{539F}\u{5219}\u{8FDB}\u{884C}\u{5206}\u{6790}\u{FF1A}
|
|
5083
|
+
|
|
5084
|
+
1. **\u{4E25}\u{683C}\u{9075}\u{5FAA}\u{4EFB}\u{52A1}\u{8981}\u{6C42}**\u{FF1A}\u{4EC5}\u{6839}\u{636E}\u{7528}\u{6237}\u{6307}\u{4EE4}\u{5206}\u{6790}\u{56FE}\u{7247}\u{5185}\u{5BB9}\u{FF0C}\u{4E0D}\u{504F}\u{79BB}\u{4EFB}\u{52A1}\u{8303}\u{56F4}
|
|
5085
|
+
2. **\u{7CBE}\u{51C6}\u{805A}\u{7126}**\u{FF1A}\u{4EC5}\u{5728}\u{7528}\u{6237}\u{6307}\u{5B9A}\u{7684}\u{8303}\u{56F4}\u{5185}\u{89E3}\u{6790}\u{56FE}\u{7247}\u{5185}\u{5BB9}\u{FF0C}\u{4E0D}\u{6DFB}\u{52A0}\u{65E0}\u{5173}\u{4FE1}\u{606F}
|
|
5086
|
+
3. **\u{5BA2}\u{89C2}\u{51C6}\u{786E}**\u{FF1A}\u{63D0}\u{4F9B}\u{6E05}\u{6670}\u{3001}\u{51C6}\u{786E}\u{7684}\u{5206}\u{6790}\u{7ED3}\u{679C}\u{FF0C}\u{4E0D}\u{8FDB}\u{884C}\u{4E3B}\u{89C2}\u{63A8}\u{6D4B}
|
|
5087
|
+
4. **\u{7B80}\u{6D01}\u{660E}\u{4E86}**\u{FF1A}\u{8F93}\u{51FA}\u{5185}\u{5BB9}\u{8981}\u{5E72}\u{51C0}\u{3001}\u{7B80}\u{6D01}\u{3001}\u{4E13}\u{4E1A}\u{FF0C}\u{907F}\u{514D}\u{5197}\u{4F59}\u{4FE1}\u{606F}
|
|
5088
|
+
|
|
5089
|
+
\u{8BF7}\u{786E}\u{4FDD}\u{4F60}\u{7684}\u{5206}\u{6790}\u{7ED3}\u{679C}\u{5B8C}\u{5168}\u{7B26}\u{5408}\u{7528}\u{6237}\u{6307}\u{4EE4}\u{8981}\u{6C42}\u{FF0C}\u{4E0D}\u{6DFB}\u{52A0}\u{4EFB}\u{4F55}\u{989D}\u{5916}\u{7684}\u{5206}\u{7C7B}\u{6216}\u{5904}\u{7406}\u{3002}`;
|
|
5094
5090
|
const outputFormat = `
|
|
5095
|
-
\u{8F93}\u{51FA}\u{8981}\u{6C42}
|
|
5091
|
+
## \u{1F4CB} \u{8F93}\u{51FA}\u{8981}\u{6C42}
|
|
5096
5092
|
- \u{4F7F}\u{7528}\u{4E2D}\u{6587}\u{56DE}\u{7B54}
|
|
5097
|
-
- \u{5185}\u{5BB9}\u{
|
|
5098
|
-
- \u{
|
|
5099
|
-
- \u{
|
|
5100
|
-
- \u{
|
|
5101
|
-
|
|
5102
|
-
|
|
5093
|
+
- \u{5185}\u{5BB9}\u{51C6}\u{786E}\u{3001}\u{5BA2}\u{89C2}\u{3001}\u{4E13}\u{4E1A}
|
|
5094
|
+
- \u{4E25}\u{683C}\u{6839}\u{636E}\u{4E0A}\u{4E0B}\u{6587}\u{6307}\u{4EE4}\u{8FDB}\u{884C}\u{5206}\u{6790}
|
|
5095
|
+
- \u{53EA}\u{63D0}\u{4F9B}\u{76F4}\u{63A5}\u{7684}\u{5206}\u{6790}\u{7ED3}\u{679C}\u{FF0C}\u{4E0D}\u{8FDB}\u{884C}\u{5206}\u{7C7B}\u{5904}\u{7406}
|
|
5096
|
+
- \u{4FDD}\u{6301}\u{8F93}\u{51FA}\u{5185}\u{5BB9}\u{5E72}\u{51C0}\u{660E}\u{4E86}\u{FF0C}\u{907F}\u{514D}\u{65E0}\u{5173}\u{4FE1}\u{606F}`;
|
|
5097
|
+
const contextPrompt = context ? `
|
|
5098
|
+
|
|
5099
|
+
## \u{1F4CB} \u{4E0A}\u{4E0B}\u{6587}\u{6307}\u{4EE4}
|
|
5100
|
+
${context}
|
|
5101
|
+
|
|
5102
|
+
\u{8BF7}\u{4E25}\u{683C}\u{6839}\u{636E}\u{4EE5}\u{4E0A}\u{4E0A}\u{4E0B}\u{6587}\u{6307}\u{4EE4}\u{8FDB}\u{884C}\u{56FE}\u{7247}\u{5206}\u{6790}\u{FF0C}\u{4E0D}\u{8981}\u{504F}\u{79BB}\u{4EFB}\u{52A1}\u{8981}\u{6C42}\u{FF0C}\u{4E0D}\u{8981}\u{6DFB}\u{52A0}\u{4EFB}\u{4F55}\u{989D}\u{5916}\u{7684}\u{5185}\u{5BB9}\u{6216}\u{63A8}\u{6D4B}\u{3002}` : '';
|
|
5103
|
+
return `${basePrompt}\n${analysisRequirements}\n${outputFormat}${contextPrompt}`.trim();
|
|
5103
5104
|
}
|
|
5104
5105
|
detectUIDesign(imagePath, basicInfo) {
|
|
5105
5106
|
const fileName = external_path_namespaceObject.basename(imagePath).toLowerCase();
|
|
@@ -5153,43 +5154,31 @@ ${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}
|
|
|
5153
5154
|
responseLength: aiResponse.length,
|
|
5154
5155
|
responsePreview: aiResponse.substring(0, 200) + (aiResponse.length > 200 ? '...' : '')
|
|
5155
5156
|
});
|
|
5157
|
+
const cleanedResponse = this.cleanAIResponse(aiResponse);
|
|
5156
5158
|
const content = {
|
|
5157
|
-
summary:
|
|
5158
|
-
details:
|
|
5159
|
-
|
|
5159
|
+
summary: cleanedResponse,
|
|
5160
|
+
details: {
|
|
5161
|
+
raw_response: aiResponse
|
|
5162
|
+
},
|
|
5163
|
+
tags: []
|
|
5160
5164
|
};
|
|
5161
|
-
content.objects = this.extractObjects(aiResponse);
|
|
5162
|
-
content.text_content = this.extractTextContent(aiResponse);
|
|
5163
|
-
content.scene_info = this.extractSceneInfo(aiResponse);
|
|
5164
|
-
content.people_info = this.extractPeopleInfo(aiResponse);
|
|
5165
|
-
content.technical_info = this.extractTechnicalInfo(aiResponse);
|
|
5166
|
-
content.ui_design_info = this.extractUIDesignInfo(aiResponse);
|
|
5167
|
-
content.requirement_info = this.extractRequirementInfo(aiResponse);
|
|
5168
5165
|
logger_logger.debug("\u5185\u5BB9\u89E3\u6790\u7ED3\u679C", {
|
|
5169
|
-
summaryLength: content.summary.length
|
|
5170
|
-
tagsCount: content.tags?.length || 0,
|
|
5171
|
-
objectsCount: content.objects?.length || 0,
|
|
5172
|
-
textContentCount: content.text_content?.length || 0,
|
|
5173
|
-
hasSceneInfo: !!content.scene_info,
|
|
5174
|
-
hasTechnicalInfo: !!content.technical_info,
|
|
5175
|
-
hasUIDesignInfo: !!content.ui_design_info
|
|
5166
|
+
summaryLength: content.summary.length
|
|
5176
5167
|
});
|
|
5177
5168
|
return content;
|
|
5178
5169
|
}
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
/^(
|
|
5170
|
+
cleanAIResponse(response) {
|
|
5171
|
+
let cleaned = response.trim();
|
|
5172
|
+
const patternsToRemove = [
|
|
5173
|
+
/^(?:好的|明白了|根据您的要求|根据分析|根据图片内容)[,,::]\s*/i,
|
|
5174
|
+
/(?:以下是|下面是对|分析结果如下|内容如下)[::]\s*/i,
|
|
5175
|
+
/\n(?:总结|结论|综上所述)[::]\s*/i
|
|
5183
5176
|
];
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
}
|
|
5190
|
-
}
|
|
5191
|
-
const firstParagraph = response.split('\n\n')[0] || response.split('\n')[0] || response;
|
|
5192
|
-
return firstParagraph.substring(0, 200).trim() + (firstParagraph.length > 200 ? '...' : '');
|
|
5177
|
+
patternsToRemove.forEach((pattern)=>{
|
|
5178
|
+
cleaned = cleaned.replace(pattern, '');
|
|
5179
|
+
});
|
|
5180
|
+
cleaned = cleaned.replace(/\n{3,}/g, '\n\n').trim();
|
|
5181
|
+
return cleaned;
|
|
5193
5182
|
}
|
|
5194
5183
|
extractDetails(response) {
|
|
5195
5184
|
const details = {};
|
|
@@ -5558,14 +5547,16 @@ ${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}
|
|
|
5558
5547
|
}
|
|
5559
5548
|
const ImageAnalysisParamsSchema = objectType({
|
|
5560
5549
|
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84"),
|
|
5561
|
-
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u5F53\u524D\u5DE5\u7A0B\
|
|
5550
|
+
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u3010\u5F53\u524D\u5DE5\u7A0B\u3011/.aico/image-recognition\u76EE\u5F55"),
|
|
5551
|
+
context: stringType().optional().describe("\u4E0A\u4E0B\u6587\u5185\u5BB9\uFF0C\u7528\u4E8E\u6307\u5BFC\u56FE\u7247\u5206\u6790\u7684\u65B9\u5411\u548C\u8303\u56F4")
|
|
5562
5552
|
});
|
|
5563
5553
|
const read_imageTool = {
|
|
5564
5554
|
name: "read_image",
|
|
5565
|
-
description: "\u4E13\u4E1A\u56FE\u7247\u5185\u5BB9\u5206\u6790\u5DE5\u5177\uFF0C\u652F\u6301\u901A\u7528\u5206\u6790\u3001\u7269\u4F53\u8BC6\u522B\u3001\u6587\u5B57\u8BC6\u522B\u3001\u573A\u666F\u5206\u6790\u3001\u4EBA\u7269\u5206\u6790\u3001\u6280\u672F\u5206\u6790\u3001UI\u8BBE\u8BA1\u7A3F\u5206\u6790\u3001\u9700\u6C42\u8BC6\u522B\u7B49\u591A\u79CD\u6A21\u5F0F\uFF0C\
|
|
5555
|
+
description: "\u4E13\u4E1A\u56FE\u7247\u5185\u5BB9\u5206\u6790\u5DE5\u5177\uFF0C\u63D0\u4F9B\u4E25\u683C\u57FA\u4E8E\u4EFB\u52A1\u6307\u4EE4\u7684\u56FE\u7247\u5185\u5BB9\u5206\u6790\u3002\u5206\u6790\u903B\u8F91\u9075\u5FAA\uFF1A\u6839\u636E\u4EFB\u52A1\u8981\u6C42\u4E25\u683C\u5206\u6790\u56FE\u7247\u5185\u5BB9\u3001\u4EC5\u5728\u7528\u6237\u6307\u4EE4\u8303\u56F4\u5185\u89E3\u6790\u3001\u4E0D\u504F\u79BB\u4EFB\u52A1\u8981\u6C42\u3001\u63D0\u4F9B\u6E05\u6670\u51C6\u786E\u7684\u5206\u6790\u7ED3\u679C\u3002\u652F\u6301\u901A\u7528\u5206\u6790\u3001\u7269\u4F53\u8BC6\u522B\u3001\u6587\u5B57\u8BC6\u522B\u3001\u573A\u666F\u5206\u6790\u3001\u4EBA\u7269\u5206\u6790\u3001\u6280\u672F\u5206\u6790\u3001UI\u8BBE\u8BA1\u7A3F\u5206\u6790\u3001\u9700\u6C42\u8BC6\u522B\u7B49\u591A\u79CD\u6A21\u5F0F\uFF0C\u8F93\u51FA\u5185\u5BB9\u5E72\u51C0\u660E\u4E86\u3002\u5206\u6790\u7ED3\u679C\u5C06\u4FDD\u5B58\u5230\u5F53\u524D\u5DE5\u7A0B\u7684.aico/image-recognition\u76EE\u5F55\u3002",
|
|
5566
5556
|
inputSchema: {
|
|
5567
5557
|
image_path: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84"),
|
|
5568
|
-
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u5F53\u524D\u5DE5\u7A0B\
|
|
5558
|
+
output_path: stringType().optional().describe("\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\uFF0C\u4E0D\u6307\u5B9A\u5219\u8F93\u51FA\u5230\u3010\u5F53\u524D\u5DE5\u7A0B\u3011/.aico/image-recognition\u76EE\u5F55"),
|
|
5559
|
+
context: stringType().optional().describe("\u4E0A\u4E0B\u6587\u5185\u5BB9\uFF0C\u7528\u4E8E\u6307\u5BFC\u56FE\u7247\u5206\u6790\u7684\u65B9\u5411\u548C\u8303\u56F4")
|
|
5569
5560
|
},
|
|
5570
5561
|
handler: async (args)=>{
|
|
5571
5562
|
initializeProjectRoot();
|
|
@@ -5575,7 +5566,7 @@ ${isLongImage ? `8. **\u{957F}\u{56FE}\u{7279}\u{5F81}**\u{FF1A}\u{5206}\u{6790}
|
|
|
5575
5566
|
imagePath: args.image_path
|
|
5576
5567
|
});
|
|
5577
5568
|
const validatedArgs = ImageAnalysisParamsSchema.parse(args);
|
|
5578
|
-
const result = await analyzer.analyzeImage(validatedArgs.image_path);
|
|
5569
|
+
const result = await analyzer.analyzeImage(validatedArgs.image_path, validatedArgs.context);
|
|
5579
5570
|
const outputPath = await generateOutputFile(result, validatedArgs.image_path, validatedArgs.output_path);
|
|
5580
5571
|
formatAnalysisResult(result, validatedArgs);
|
|
5581
5572
|
logger_logger.info("\u56FE\u7247\u5185\u5BB9\u7406\u89E3\u667A\u80FD\u4F53\u6267\u884C\u5B8C\u6210", {
|
|
@@ -5729,124 +5720,19 @@ ${content.tags && content.tags.length > 0 ? `
|
|
|
5729
5720
|
${content.tags.map((tag)=>`\`${tag}\``).join(" ")}
|
|
5730
5721
|
` : ""}
|
|
5731
5722
|
|
|
5732
|
-
|
|
5733
|
-
### \u{1F3AF} \u{8BC6}\u{522B}\u{7269}\u{4F53}
|
|
5734
|
-
${content.objects.map((obj, index)=>`
|
|
5735
|
-
${index + 1}. **${obj.name}** (\u{7F6E}\u{4FE1}\u{5EA6}: ${(100 * obj.confidence).toFixed(1)}%)
|
|
5736
|
-
${obj.attributes ? Object.entries(obj.attributes).map(([key, value])=>`- ${key}: ${value}`).join("\n ") : ""}
|
|
5737
|
-
`).join("")}
|
|
5738
|
-
` : ""}
|
|
5739
|
-
|
|
5740
|
-
${content.text_content && content.text_content.length > 0 ? `
|
|
5741
|
-
### \u{1F4C4} \u{6587}\u{5B57}\u{5185}\u{5BB9}
|
|
5742
|
-
${content.text_content.map((text, index)=>`
|
|
5743
|
-
${index + 1}. "${text.text}" (\u{7F6E}\u{4FE1}\u{5EA6}: ${(100 * text.confidence).toFixed(1)}%)
|
|
5744
|
-
${text.language ? `- \u{8BED}\u{8A00}: ${text.language}` : ""}
|
|
5745
|
-
`).join("")}
|
|
5746
|
-
` : ""}
|
|
5747
|
-
|
|
5748
|
-
${content.scene_info ? `
|
|
5749
|
-
### \u{1F30D} \u{573A}\u{666F}\u{4FE1}\u{606F}
|
|
5750
|
-
- **\u{5730}\u{70B9}\u{7C7B}\u{578B}**: ${content.scene_info.location_type || "\u672A\u8BC6\u522B"}
|
|
5751
|
-
- **\u{73AF}\u{5883}**: ${content.scene_info.environment || "\u672A\u8BC6\u522B"}
|
|
5752
|
-
- **\u{5149}\u{7167}**: ${content.scene_info.lighting || "\u672A\u8BC6\u522B"}
|
|
5753
|
-
${content.scene_info.weather ? `- **\u{5929}\u{6C14}**: ${content.scene_info.weather}` : ""}
|
|
5754
|
-
${content.scene_info.time_of_day ? `- **\u{65F6}\u{95F4}**: ${content.scene_info.time_of_day}` : ""}
|
|
5755
|
-
${content.scene_info.mood ? `- **\u{6C1B}\u{56F4}**: ${content.scene_info.mood}` : ""}
|
|
5756
|
-
` : ""}
|
|
5757
|
-
|
|
5758
|
-
${content.people_info && content.people_info.length > 0 ? `
|
|
5759
|
-
### \u{1F465} \u{4EBA}\u{7269}\u{4FE1}\u{606F}
|
|
5760
|
-
${content.people_info.map((person, index)=>`
|
|
5761
|
-
${index + 1}. **\u{4EBA}\u{7269}${index + 1}**
|
|
5762
|
-
- \u{6570}\u{91CF}: ${person.count}
|
|
5763
|
-
${person.age_range ? `- \u{5E74}\u{9F84}: ${person.age_range}` : ""}
|
|
5764
|
-
${person.gender ? `- \u{6027}\u{522B}: ${person.gender}` : ""}
|
|
5765
|
-
${person.emotions ? `- \u{60C5}\u{7EEA}: ${person.emotions.join(", ")}` : ""}
|
|
5766
|
-
${person.activities ? `- \u{6D3B}\u{52A8}: ${person.activities.join(", ")}` : ""}
|
|
5767
|
-
${person.clothing ? `- \u{670D}\u{88C5}: ${person.clothing.join(", ")}` : ""}
|
|
5768
|
-
`).join("")}
|
|
5769
|
-
` : ""}
|
|
5770
|
-
|
|
5771
|
-
${content.technical_info ? `
|
|
5772
|
-
### \u{1F527} \u{6280}\u{672F}\u{5206}\u{6790}
|
|
5773
|
-
#### \u{8272}\u{5F69}\u{5206}\u{6790}
|
|
5774
|
-
- **\u{4E3B}\u{8272}\u{8C03}**: ${content.technical_info.color_analysis?.dominant_colors?.join(", ") || "\u672A\u5206\u6790"}
|
|
5775
|
-
- **\u{8272}\u{5F69}\u{642D}\u{914D}**: ${content.technical_info.color_analysis?.color_palette?.join(", ") || "\u672A\u5206\u6790"}
|
|
5776
|
-
- **\u{4EAE}\u{5EA6}**: ${content.technical_info.color_analysis?.brightness || "\u672A\u5206\u6790"}
|
|
5777
|
-
- **\u{5BF9}\u{6BD4}\u{5EA6}**: ${content.technical_info.color_analysis?.contrast || "\u672A\u5206\u6790"}
|
|
5778
|
-
|
|
5779
|
-
#### \u{6784}\u{56FE}\u{5206}\u{6790}
|
|
5780
|
-
- **\u{4E09}\u{5206}\u{6CD5}\u{5219}**: ${content.technical_info.composition?.rule_of_thirds ? "\u7B26\u5408" : "\u4E0D\u7B26\u5408"}
|
|
5781
|
-
- **\u{5BF9}\u{79F0}\u{6027}**: ${content.technical_info.composition?.symmetry ? "\u5BF9\u79F0" : "\u975E\u5BF9\u79F0"}
|
|
5782
|
-
- **\u{5F15}\u{5BFC}\u{7EBF}**: ${content.technical_info.composition?.leading_lines ? "\u5B58\u5728" : "\u4E0D\u5B58\u5728"}
|
|
5783
|
-
|
|
5784
|
-
#### \u{8D28}\u{91CF}\u{8BC4}\u{4F30}
|
|
5785
|
-
- **\u{6E05}\u{6670}\u{5EA6}**: ${content.technical_info.quality_metrics?.sharpness || "\u672A\u8BC4\u4F30"}
|
|
5786
|
-
- **\u{566A}\u{70B9}\u{6C34}\u{5E73}**: ${content.technical_info.quality_metrics?.noise_level || "\u672A\u8BC4\u4F30"}
|
|
5787
|
-
- **\u{66DD}\u{5149}**: ${content.technical_info.quality_metrics?.exposure || "\u672A\u8BC4\u4F30"}
|
|
5788
|
-
` : ""}
|
|
5789
|
-
|
|
5790
|
-
${content.ui_design_info ? `
|
|
5791
|
-
### \u{1F3A8} UI\u{8BBE}\u{8BA1}\u{5206}\u{6790}
|
|
5792
|
-
#### \u{5E03}\u{5C40}\u{7ED3}\u{6784}
|
|
5793
|
-
- **\u{5E03}\u{5C40}\u{7C7B}\u{578B}**: ${content.ui_design_info.layout_type}
|
|
5794
|
-
- **\u{54CD}\u{5E94}\u{5F0F}\u{8BBE}\u{8BA1}**: ${content.ui_design_info.responsive_design ? "\u652F\u6301" : "\u4E0D\u652F\u6301"}
|
|
5795
|
-
|
|
5796
|
-
#### \u{7EC4}\u{4EF6}\u{5206}\u{6790}
|
|
5797
|
-
${content.ui_design_info.components && content.ui_design_info.components.length > 0 ? content.ui_design_info.components.map((comp, index)=>`${index + 1}. **${comp.type}**: ${comp.name}`).join("\n") : "\u672A\u8BC6\u522B\u5230\u5177\u4F53\u7EC4\u4EF6"}
|
|
5798
|
-
|
|
5799
|
-
#### \u{8272}\u{5F69}\u{65B9}\u{6848}
|
|
5800
|
-
- **\u{4E3B}\u{8272}\u{8C03}**: ${content.ui_design_info.color_scheme?.primary_colors?.join(", ") || "\u672A\u8BC6\u522B"}
|
|
5801
|
-
- **\u{8F85}\u{52A9}\u{8272}**: ${content.ui_design_info.color_scheme?.secondary_colors?.join(", ") || "\u672A\u8BC6\u522B"}
|
|
5802
|
-
- **\u{80CC}\u{666F}\u{8272}**: ${content.ui_design_info.color_scheme?.background_colors?.join(", ") || "\u672A\u8BC6\u522B"}
|
|
5803
|
-
|
|
5804
|
-
#### \u{5BFC}\u{822A}\u{8BBE}\u{8BA1}
|
|
5805
|
-
- **\u{5BFC}\u{822A}\u{7C7B}\u{578B}**: ${content.ui_design_info.navigation?.type || "\u672A\u8BC6\u522B"}
|
|
5806
|
-
- **\u{5BFC}\u{822A}\u{5143}\u{7D20}**: ${content.ui_design_info.navigation?.elements?.join(", ") || "\u672A\u8BC6\u522B"}
|
|
5807
|
-
|
|
5808
|
-
#### \u{8BBE}\u{8BA1}\u{6A21}\u{5F0F}
|
|
5809
|
-
${content.ui_design_info.design_patterns && content.ui_design_info.design_patterns.length > 0 ? content.ui_design_info.design_patterns.map((pattern)=>`- ${pattern}`).join("\n") : "- \u672A\u8BC6\u522B\u5230\u7279\u5B9A\u8BBE\u8BA1\u6A21\u5F0F"}
|
|
5810
|
-
` : ""}
|
|
5811
|
-
|
|
5812
|
-
${content.requirement_info ? `
|
|
5813
|
-
### \u{1F4CB} \u{9700}\u{6C42}\u{5206}\u{6790}
|
|
5814
|
-
#### \u{529F}\u{80FD}\u{9700}\u{6C42}
|
|
5815
|
-
${content.requirement_info.functional_requirements && content.requirement_info.functional_requirements.length > 0 ? content.requirement_info.functional_requirements.map((req, index)=>`
|
|
5816
|
-
${index + 1}. **${req.title}** (\u{4F18}\u{5148}\u{7EA7}: ${req.priority})
|
|
5817
|
-
- \u{63CF}\u{8FF0}: ${req.description}
|
|
5818
|
-
- \u{7C7B}\u{522B}: ${req.category}`).join("") : "\u672A\u8BC6\u522B\u5230\u5177\u4F53\u529F\u80FD\u9700\u6C42"}
|
|
5819
|
-
|
|
5820
|
-
#### \u{975E}\u{529F}\u{80FD}\u{9700}\u{6C42}
|
|
5821
|
-
${content.requirement_info.non_functional_requirements && content.requirement_info.non_functional_requirements.length > 0 ? content.requirement_info.non_functional_requirements.map((req, index)=>`
|
|
5822
|
-
${index + 1}. **${req.type}**: ${req.description}`).join("") : "\u672A\u8BC6\u522B\u5230\u975E\u529F\u80FD\u9700\u6C42"}
|
|
5723
|
+
---
|
|
5823
5724
|
|
|
5824
|
-
|
|
5825
|
-
${content.requirement_info.user_stories && content.requirement_info.user_stories.length > 0 ? content.requirement_info.user_stories.map((story, index)=>`
|
|
5826
|
-
${index + 1}. \u{4F5C}\u{4E3A} **${story.as_a}**\u{FF0C}\u{6211}\u{5E0C}\u{671B} **${story.i_want}**\u{FF0C}\u{4EE5}\u{4FBF} **${story.so_that}** (\u{4F18}\u{5148}\u{7EA7}: ${story.priority})`).join("") : "\u672A\u8BC6\u522B\u5230\u7528\u6237\u6545\u4E8B"}
|
|
5725
|
+
> **\u{5206}\u{6790}\u{539F}\u{5219}**\u{FF1A}\u{4EC5}\u{6839}\u{636E}\u{7528}\u{6237}\u{4EFB}\u{52A1}\u{6307}\u{4EE4}\u{8303}\u{56F4}\u{FF0C}\u{4E25}\u{683C}\u{5206}\u{6790}\u{56FE}\u{7247}\u{5185}\u{5BB9}\u{FF0C}\u{4E0D}\u{504F}\u{79BB}\u{4EFB}\u{52A1}\u{8981}\u{6C42}\u{FF0C}\u{8F93}\u{51FA}\u{5E72}\u{51C0}\u{660E}\u{4E86}\u{3001}\u{6E05}\u{6670}\u{51C6}\u{786E}\u{3001}\u{65E0}\u{5197}\u{4F59}\u{548C}\u{4E3B}\u{89C2}\u{63A8}\u{6D4B}\u{3002}
|
|
5827
5726
|
|
|
5828
|
-
#### \u{4E1A}\u{52A1}\u{89C4}\u{5219}
|
|
5829
|
-
${content.requirement_info.business_rules && content.requirement_info.business_rules.length > 0 ? content.requirement_info.business_rules.map((rule)=>`- ${rule}`).join("\n") : "- \u672A\u8BC6\u522B\u5230\u4E1A\u52A1\u89C4\u5219"}
|
|
5830
|
-
` : ""}
|
|
5831
5727
|
|
|
5832
|
-
${Object.keys(content.details).length > 0 ? `
|
|
5833
|
-
### \u{1F4CB} \u{8BE6}\u{7EC6}\u{4FE1}\u{606F}
|
|
5834
|
-
${Object.entries(content.details).map(([key, value])=>`
|
|
5835
|
-
**${key}**: ${"object" == typeof value ? JSON.stringify(value, null, 2) : value}
|
|
5836
|
-
`).join("")}
|
|
5837
|
-
` : ""}
|
|
5838
5728
|
|
|
5839
5729
|
## \u{1F4A1} \u{5206}\u{6790}\u{603B}\u{7ED3}
|
|
5840
5730
|
|
|
5841
|
-
\u{
|
|
5842
|
-
${confidence_score && confidence_score > 0.8 ? "\u5206\u6790\u7ED3\u679C\u7F6E\u4FE1\u5EA6\u8F83\u9AD8\uFF0C\u53EF\u4FE1\u5EA6\u826F\u597D\u3002" : ""}
|
|
5731
|
+
\u{56FE}\u{7247}\u{5185}\u{5BB9}\u{5206}\u{6790}\u{5B8C}\u{6210}\u{FF0C}\u{5206}\u{6790}\u{8FC7}\u{7A0B}\u{4E25}\u{683C}\u{9075}\u{5FAA}\u{4EFB}\u{52A1}\u{6307}\u{4EE4}\u{8981}\u{6C42}\u{FF0C}\u{8F93}\u{51FA}\u{5185}\u{5BB9}\u{5E72}\u{51C0}\u{660E}\u{4E86}\u{3002}
|
|
5843
5732
|
|
|
5844
5733
|
**\u{5206}\u{6790}\u{5B8C}\u{6210}\u{65F6}\u{95F4}**: ${new Date().toLocaleString('zh-CN')}
|
|
5845
5734
|
**\u{62A5}\u{544A}\u{751F}\u{6210}\u{65F6}\u{95F4}**: ${new Date().toLocaleString('zh-CN')}
|
|
5846
5735
|
|
|
5847
|
-
---
|
|
5848
|
-
|
|
5849
|
-
*\u{62A5}\u{544A}\u{7531}\u{56FE}\u{7247}\u{5185}\u{5BB9}\u{7406}\u{89E3}\u{667A}\u{80FD}\u{4F53}\u{81EA}\u{52A8}\u{751F}\u{6210}*
|
|
5850
5736
|
`.trim();
|
|
5851
5737
|
}
|
|
5852
5738
|
async function getFileSize(filePath) {
|
|
@@ -5888,15 +5774,12 @@ ${confidence_score && confidence_score > 0.8 ? "\u5206\u6790\u7ED3\u679C\u7F6E\u
|
|
|
5888
5774
|
- **\u{900F}\u{660E}\u{901A}\u{9053}**: ${basic_info.has_alpha ? "\u662F" : "\u5426"}
|
|
5889
5775
|
|
|
5890
5776
|
## \u{1F3AF} \u{5206}\u{6790}\u{914D}\u{7F6E}
|
|
5891
|
-
- **\u{5206}\u{6790}\u{7C7B}\u{578B}**: \u{
|
|
5892
|
-
- **\u{8BE6}\u{7EC6}\u{7A0B}\u{5EA6}**: \u{8BE6}\u{7EC6}
|
|
5777
|
+
- **\u{5206}\u{6790}\u{7C7B}\u{578B}**: \u{4E25}\u{683C}\u{4EFB}\u{52A1}\u{6307}\u{4EE4}\u{5206}\u{6790}
|
|
5893
5778
|
- **\u{5206}\u{6790}\u{8BED}\u{8A00}**: \u{4E2D}\u{6587}
|
|
5894
5779
|
- **\u{5904}\u{7406}\u{65F6}\u{95F4}**: ${processing_time_ms}ms
|
|
5895
|
-
- **\u{7F6E}\u{4FE1}\u{5EA6}**: ${confidence_score ? (100 * confidence_score).toFixed(1) + "%" : "\u672A\u77E5"}
|
|
5896
5780
|
|
|
5897
5781
|
## \u{1F4DD} \u{5206}\u{6790}\u{7ED3}\u{679C}
|
|
5898
5782
|
|
|
5899
|
-
### \u{5185}\u{5BB9}\u{6982}\u{8FF0}
|
|
5900
5783
|
${content.summary}
|
|
5901
5784
|
|
|
5902
5785
|
${content.tags && content.tags.length > 0 ? `
|
|
@@ -6406,6 +6289,7 @@ ${getErrorSuggestion(error.code)}
|
|
|
6406
6289
|
output_directory: stringType().optional().describe("\u8F93\u51FA\u76EE\u5F55\uFF0C\u4E0D\u6307\u5B9A\u5219\u5728\u539F\u6587\u4EF6\u76EE\u5F55\u751F\u6210")
|
|
6407
6290
|
},
|
|
6408
6291
|
handler: async (args)=>{
|
|
6292
|
+
initializeProjectRoot();
|
|
6409
6293
|
const converter = new ImageConverter();
|
|
6410
6294
|
try {
|
|
6411
6295
|
logger_logger.info("\u56FE\u7247\u683C\u5F0F\u8F6C\u6362\u667A\u80FD\u4F53\u5F00\u59CB\u6267\u884C", {
|
|
@@ -7907,12 +7791,13 @@ ${allTextContent || "\u672A\u8BC6\u522B\u5230\u6587\u5B57\u5185\u5BB9"}
|
|
|
7907
7791
|
}
|
|
7908
7792
|
}
|
|
7909
7793
|
const imageRecognitionAgentTool = {
|
|
7910
|
-
name: "
|
|
7794
|
+
name: "analyzeLongImage",
|
|
7911
7795
|
description: "\u4E13\u95E8\u5904\u7406\u957F\u56FE\u7684\u5185\u5BB9\u8BC6\u522B\u667A\u80FD\u4F53\uFF0C\u652F\u6301\u5206\u6BB5\u5904\u7406\u548C\u7EFC\u5408\u5185\u5BB9\u8BC6\u522B\uFF08\u6587\u5B57+\u56FE\u50CF\u63CF\u8FF0\uFF09\uFF0C\u4EE5\u4E2D\u6587Markdown\u683C\u5F0F\u8F93\u51FA\u3002\u53EA\u9700\u63D0\u4F9B\u56FE\u7247\u8DEF\u5F84\u5373\u53EF\uFF0C\u5176\u4ED6\u53C2\u6570\u81EA\u52A8\u4F18\u5316\u3002",
|
|
7912
7796
|
inputSchema: {
|
|
7913
7797
|
imagePath: stringType().min(1).describe("\u56FE\u7247\u6587\u4EF6\u8DEF\u5F84")
|
|
7914
7798
|
},
|
|
7915
7799
|
handler: async (args)=>{
|
|
7800
|
+
initializeProjectRoot();
|
|
7916
7801
|
logger_logger.info("\u56FE\u7247\u5185\u5BB9\u8BC6\u522B\u667A\u80FD\u4F53: \u5F00\u59CB\u5904\u7406", {
|
|
7917
7802
|
args
|
|
7918
7803
|
});
|
|
@@ -7,7 +7,7 @@ export declare class ImageAnalyzer {
|
|
|
7
7
|
/**
|
|
8
8
|
* 分析图片内容
|
|
9
9
|
*/
|
|
10
|
-
analyzeImage(imagePath: string): Promise<AnalysisResult>;
|
|
10
|
+
analyzeImage(imagePath: string, context?: string): Promise<AnalysisResult>;
|
|
11
11
|
/**
|
|
12
12
|
* 执行AI分析
|
|
13
13
|
*/
|
|
@@ -29,9 +29,9 @@ export declare class ImageAnalyzer {
|
|
|
29
29
|
*/
|
|
30
30
|
private parseAIResponse;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* 清理AI响应内容
|
|
33
33
|
*/
|
|
34
|
-
private
|
|
34
|
+
private cleanAIResponse;
|
|
35
35
|
/**
|
|
36
36
|
* 提取详细信息
|
|
37
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,cAAc,EAQf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,cAAc,EAQf,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmDhF;;OAEG;YACW,iBAAiB;IAkC/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;YACW,aAAa;IAsC3B;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,6BAA6B;IA2BrC,OAAO,CAAC,gCAAgC;IAqBxC,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,cAAc;CASvB"}
|
|
@@ -2,12 +2,15 @@ import { z } from "zod";
|
|
|
2
2
|
declare const ImageAnalysisParamsSchema: z.ZodObject<{
|
|
3
3
|
image_path: z.ZodString;
|
|
4
4
|
output_path: z.ZodOptional<z.ZodString>;
|
|
5
|
+
context: z.ZodOptional<z.ZodString>;
|
|
5
6
|
}, "strip", z.ZodTypeAny, {
|
|
6
7
|
image_path: string;
|
|
7
8
|
output_path?: string | undefined;
|
|
9
|
+
context?: string | undefined;
|
|
8
10
|
}, {
|
|
9
11
|
image_path: string;
|
|
10
12
|
output_path?: string | undefined;
|
|
13
|
+
context?: string | undefined;
|
|
11
14
|
}>;
|
|
12
15
|
export type ImageAnalysisToolParams = z.infer<typeof ImageAnalysisParamsSchema>;
|
|
13
16
|
/**
|
|
@@ -20,10 +23,12 @@ export declare const read_imageTool: {
|
|
|
20
23
|
inputSchema: {
|
|
21
24
|
image_path: z.ZodString;
|
|
22
25
|
output_path: z.ZodOptional<z.ZodString>;
|
|
26
|
+
context: z.ZodOptional<z.ZodString>;
|
|
23
27
|
};
|
|
24
28
|
handler: (args: {
|
|
25
29
|
image_path: string;
|
|
26
30
|
output_path?: string;
|
|
31
|
+
context?: string;
|
|
27
32
|
}) => Promise<{
|
|
28
33
|
content: {
|
|
29
34
|
type: string;
|
|
@@ -52,10 +57,12 @@ export declare const imageAnalysisTool: {
|
|
|
52
57
|
inputSchema: {
|
|
53
58
|
image_path: z.ZodString;
|
|
54
59
|
output_path: z.ZodOptional<z.ZodString>;
|
|
60
|
+
context: z.ZodOptional<z.ZodString>;
|
|
55
61
|
};
|
|
56
62
|
handler: (args: {
|
|
57
63
|
image_path: string;
|
|
58
64
|
output_path?: string;
|
|
65
|
+
context?: string;
|
|
59
66
|
}) => Promise<{
|
|
60
67
|
content: {
|
|
61
68
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,yBAAyB;;;;;;;;;;;;EAK3B,CAAC;AAEL,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;oBAUH;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;CA6FrF,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;oBAhGN;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;CAgGvC,CAAC;AAiehD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/image-analysis/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAuB/B,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,2BAA2B,CACnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;oBA6BP,GAAG;;;;;;;;;;;;;CAwD1B,CAAC;AAoMF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-recognition-agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/image-recognition-agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;oBAMd,GAAG;;;;;;;;;;;;;CA2D1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/pdf2md/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;oBAWG,GAAG;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/pdf2md/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;oBAWG,GAAG;;;;;;;;;;;;;CAsJ5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/world2md/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW;;;;;;oBAME,GAAG;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/world2md/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW;;;;;;oBAME,GAAG;;;;;;;;;;;;;CA8H5B,CAAC"}
|