@@ -3505,14 +3505,20 @@ async function parseMessage(data: MessageEventData): Promise<ParsedMessage | nul
35053505 logger . warn ( { messageId : message . message_id , sizeBytes : buf . length , fileName } , 'Quoted file too large, skipping' ) ;
35063506 }
35073507 } else if ( isTextFile ( fileName ) ) {
3508- const MAX_TEXT_SIZE = 1 * 1024 * 1024 ;
3508+ const MAX_TEXT_SIZE = 30 * 1024 * 1024 ;
3509+ const INLINE_THRESHOLD = 64 * 1024 ;
35093510 const buf = await feishuClient . downloadMessageFile ( parent . message_id , fileKey ) ;
3510- if ( buf . length <= MAX_TEXT_SIZE ) {
3511+ if ( buf . length > MAX_TEXT_SIZE ) {
3512+ logger . warn ( { messageId : message . message_id , sizeBytes : buf . length , fileName } , 'Quoted text file too large, skipping' ) ;
3513+ } else if ( buf . length <= INLINE_THRESHOLD ) {
35113514 const fileContent = buf . toString ( 'utf-8' ) ;
35123515 text = `${ text } \n\n[引用的文件: ${ fileName } ]\n\n<file name="${ fileName } ">\n${ fileContent } \n</file>` ;
3513- logger . info ( { messageId : message . message_id , parentId : message . parent_id , fileName, sizeBytes : buf . length } , 'Text file downloaded from quoted parent message ' ) ;
3516+ logger . info ( { messageId : message . message_id , parentId : message . parent_id , fileName, sizeBytes : buf . length } , 'Quoted text file embedded inline ' ) ;
35143517 } else {
3515- logger . warn ( { messageId : message . message_id , sizeBytes : buf . length , fileName } , 'Quoted text file too large, skipping' ) ;
3518+ const filePath = await saveMessageFileToCache ( parent . message_id , fileKey , buf , fileName ) ;
3519+ const sizeKB = ( buf . length / 1024 ) . toFixed ( 1 ) ;
3520+ text = `${ text } \n\n[引用的文件: ${ fileName } (${ sizeKB } KB),已保存到本地: ${ filePath } \n请使用 Read 工具按需读取该文件,支持 offset/limit 分段;文件保留 24 小时。]` ;
3521+ logger . info ( { messageId : message . message_id , parentId : message . parent_id , fileName, sizeBytes : buf . length , filePath } , 'Quoted text file saved to cache for lazy read' ) ;
35163522 }
35173523 }
35183524 }
0 commit comments