@@ -115,13 +115,11 @@ function renderMarkdownSafely(text: string): string {
115115
116116/**
117117 * 构建聊天请求体
118- * @param message 当前消息内容(可选,如果只发送历史则为空)
119- * @param conversationHistory 对话历史
118+ * @param conversationHistory 对话历史(应包含当前最新消息)
120119 * @param options API选项
121120 * @returns 请求体对象
122121 */
123122export function buildChatRequestBody (
124- message : string | null ,
125123 conversationHistory : ChatMessage [ ] = [ ] ,
126124 options : Partial < ChatApiOptions > = { }
127125) : any {
@@ -133,11 +131,6 @@ export function buildChatRequestBody(
133131 }
134132 }
135133
136- // 如果有新消息,则添加到请求体中
137- if ( message && message . trim ( ) ) {
138- requestBody . message = message
139- }
140-
141134 return requestBody
142135}
143136
@@ -297,24 +290,27 @@ export async function sendStreamChatRequest(
297290 callbacks : StreamCallbacks ,
298291 options : Partial < ChatApiOptions > = { }
299292) : Promise < AbortController > {
300- // 提取消息文本内容
301- let messageText : string | null = null
293+ // 提取消息文本内容并构建最新对话历史
294+ let latestMessage : ChatMessage | null = null
302295
303296 if ( typeof message === 'string' ) {
304- messageText = message
305- } else if ( message && typeof message === 'object' ) {
306- // 如果是ChatMessage对象,提取文本内容
307- if ( Array . isArray ( message . content ) ) {
308- const textContents = message . content . filter ( item => item . type === 'text' )
309- if ( textContents . length > 0 && textContents [ 0 ] . text ) {
310- messageText = textContents [ 0 ] . text
297+ const trimmed = message . trim ( )
298+ if ( trimmed ) {
299+ latestMessage = {
300+ role : 'user' ,
301+ content : trimmed
311302 }
312- } else {
313- messageText = message . content
314303 }
304+ } else if ( message && typeof message === 'object' ) {
305+ latestMessage = message
306+ }
307+
308+ const requestConversationHistory = [ ...conversationHistory ]
309+ if ( latestMessage ) {
310+ requestConversationHistory . push ( latestMessage )
315311 }
316312
317- const requestBody = buildChatRequestBody ( messageText , conversationHistory , options )
313+ const requestBody = buildChatRequestBody ( requestConversationHistory , options )
318314 console . log ( 'requestBody' , requestBody )
319315 const abortController = new AbortController ( )
320316
@@ -412,7 +408,7 @@ export function base64ToFile(
412408
413409 // 将base64解码为二进制数据
414410 const byteCharacters = atob ( base64Content )
415- const byteArrays : Uint8Array [ ] = [ ]
411+ const byteArrays : BlobPart [ ] = [ ]
416412
417413 for ( let offset = 0 ; offset < byteCharacters . length ; offset += 1024 ) {
418414 const slice = byteCharacters . slice ( offset , offset + 1024 )
0 commit comments