From 2e369174e7ec47b157c683964fdb04065b811ec7 Mon Sep 17 00:00:00 2001 From: icarus Date: Tue, 15 Jul 2025 16:24:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B6=88=E6=81=AF=E9=87=8D=E4=BC=A0):=20?= =?UTF-8?q?=E5=8D=95=E6=9D=A1=E6=97=A0=E6=8F=90=E5=8F=8A=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=87=8D=E4=BC=A0=E6=97=B6=E4=BD=BF=E7=94=A8=E5=8A=A9=E6=89=8B?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当重传单条无提及消息时,使用助手模型进行重传,其他情况保持原有逻辑 --- src/renderer/src/store/thunk/messageThunk.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/store/thunk/messageThunk.ts b/src/renderer/src/store/thunk/messageThunk.ts index 6678ae87d9..79a2c79eea 100644 --- a/src/renderer/src/store/thunk/messageThunk.ts +++ b/src/renderer/src/store/thunk/messageThunk.ts @@ -1164,16 +1164,31 @@ export const resendMessageThunk = const messagesToUpdateInRedux: { topicId: string; messageId: string; updates: Partial }[] = [] // 先处理已有的重传 - for (const originalMsg of assistantMessagesToReset) { + if (assistantMessagesToReset.length === 1 && !userMessageToResend?.mentions?.length) { + // 单条消息无mention时使用助手模型 + const originalMsg = assistantMessagesToReset[0] const blockIdsToDelete = [...(originalMsg.blocks || [])] const resetMsg = resetAssistantMessage(originalMsg, { status: AssistantMessageStatus.PENDING, - updatedAt: new Date().toISOString() + updatedAt: new Date().toISOString(), + model: assistant.model }) resetDataList.push(resetMsg) allBlockIdsToDelete.push(...blockIdsToDelete) messagesToUpdateInRedux.push({ topicId, messageId: resetMsg.id, updates: resetMsg }) + } else { + for (const originalMsg of assistantMessagesToReset) { + const blockIdsToDelete = [...(originalMsg.blocks || [])] + const resetMsg = resetAssistantMessage(originalMsg, { + status: AssistantMessageStatus.PENDING, + updatedAt: new Date().toISOString() + }) + + resetDataList.push(resetMsg) + allBlockIdsToDelete.push(...blockIdsToDelete) + messagesToUpdateInRedux.push({ topicId, messageId: resetMsg.id, updates: resetMsg }) + } } // 再处理新的重传(用户消息提及,但是现有助手消息中不存在提及的模型)