@@ -48,7 +48,7 @@ export async function convertMessageContentToParts(
4848 case 'file_reference' :
4949 return `@[${ item . value . fileName } ]` ;
5050 case 'folder_reference' : // 🎯 文件夹引用
51- return `@[📁 ${ item . value . folderName } ]` ;
51+ return `@[${ item . value . folderName } ]` ;
5252 case 'image_reference' :
5353 return `[IMAGE:${ item . value . fileName } ]` ;
5454 case 'code_reference' : // 🎯 代码引用
@@ -120,27 +120,12 @@ export async function convertMessageContentToParts(
120120 }
121121 fileParts ++ ; // 计入文件部分(作为上下文内容)
122122 } else if ( item . type === 'folder_reference' ) {
123- // 🎯 文件夹引用:读取文件夹内所有文件内容
123+ // 🚫 严禁展开文件夹内容:只传递路径文本。
124+ // 原因:展开会将整个文件夹文件塞入上下文,瞬间耗尽模型上下文窗口,导致响应失败/错乱。
125+ // 如需展开,必须通过显式的“文件夹展开”功能并加上限制/确认,不得在此处修改。
124126 console . log ( `📁 [MessageConverter] 处理 folder_reference: ${ item . value . folderName } , path: ${ item . value . folderPath } ` ) ;
125127 const folderInfo = `--- Folder: ${ item . value . folderName } (${ item . value . folderPath } ) ---` ;
126128 allParts . push ( { text : folderInfo } ) ;
127-
128- // 读取文件夹内的文件
129- try {
130- const result = await processFolderToPartsList ( item . value . folderPath , workspaceRoot ) ;
131- if ( result . parts . length > 0 ) {
132- console . log ( `✅ [MessageConverter] 文件夹内容已添加: ${ item . value . folderName } , ${ result . parts . length } parts, ${ result . fileCount } files` ) ;
133- allParts . push ( ...result . parts ) ;
134- fileParts += result . fileCount ;
135- } else {
136- console . warn ( `⚠️ [MessageConverter] 文件夹为空或无可读文件: ${ item . value . folderName } ` ) ;
137- allParts . push ( { text : '(Folder is empty or contains no readable files)' } ) ;
138- }
139- } catch ( error ) {
140- const errorMessage = error instanceof Error ? error . message : String ( error ) ;
141- console . error ( `❌ [MessageConverter] 读取文件夹失败: ${ item . value . folderName } ` , errorMessage ) ;
142- warnings . push ( `Error reading folder ${ item . value . folderName } : ${ errorMessage } ` ) ;
143- }
144129 }
145130 // text类型已经在第一步处理了,这里跳过
146131 } catch ( error ) {
0 commit comments