@@ -49,11 +49,11 @@ export async function doUploadCommand(cvbFilePath: string, userPrompt: string, o
4949
5050 const filenameSummary = await generateFilenameFromRequest ( userPrompt ) ;
5151 const timestamp = generateTimestamp ( ) ;
52- let baseFileName = `${ timestamp } _${ filenameSummary } .cvb ` ;
53- let fileName = baseFileName ;
52+ let baseFileName = `${ timestamp } _${ filenameSummary } ` ;
53+ let fileName = ` ${ baseFileName } .cvb` ;
5454 let i = 1 ;
5555 while ( fs . existsSync ( path . join ( tmpDir , fileName ) ) ) {
56- fileName = `${ timestamp } _ ${ filenameSummary } _${ i } .cvb` ;
56+ fileName = `${ baseFileName } _${ i } .cvb` ;
5757 i ++ ;
5858 }
5959
@@ -84,20 +84,26 @@ export async function doUploadCommand(cvbFilePath: string, userPrompt: string, o
8484 }
8585 } while ( ! processSuccess && attemptCount < 3 && ! CurrentOperationController . signal . aborted ) ;
8686
87- const lastMessageBody = GetLastMessageBody ( ) ;
87+ let lastMessageBody = GetLastMessageBody ( ) ;
8888
8989 if ( lastMessageBody && lastMessageBody . length > 2 ) {
90- const timestamp = generateTimestamp ( ) ;
91- const summary = await generateFilenameFromRequest ( userPrompt ) ;
92- const mdFileName = `${ timestamp } _${ summary } .md` ;
90+ const mdFileName = `${ baseFileName } .md` ;
9391 const mdFilePath = path . join ( tmpDir , mdFileName ) ;
9492
9593 // 创建新数组,第一条消息替换为 { "role": "user", "content": userPrompt }
9694 const modifiedMessages = [ { role : "user" , content : userPrompt } , ...lastMessageBody . slice ( 2 ) ] ;
9795
98- const mdContent = modifiedMessages . map ( msg => {
96+ let mdContent = modifiedMessages . map ( msg => {
9997 return `**${ msg . role } **:\n\n${ msg . content } \n\n` ;
10098 } ) . join ( '\n' ) ;
99+
100+ // 处理 TCVB 格式,只匹配行首的标记
101+ if ( mdContent . includes ( '## BEGIN_TCVB' ) ) {
102+ // 匹配行首的 ```任意语言标记\n## BEGIN_TCVB
103+ mdContent = mdContent . replace ( / ^ ` ` ` [ ^ \n ] * \n # # B E G I N _ T C V B / gm, '## BEGIN_TCVB' ) ;
104+ // 匹配行首的 ## END_TCVB\n```
105+ mdContent = mdContent . replace ( / ^ # # E N D _ T C V B \n ` ` ` $ / gm, '## END_TCVB' ) ;
106+ }
101107
102108 fs . writeFileSync ( mdFilePath , mdContent , 'utf-8' ) ;
103109 vscode . window . showInformationMessage ( `Conversation log saved as: ${ mdFilePath } ` ) ;
0 commit comments