diff --git a/src/renderer/src/store/thunk/messageThunk.ts b/src/renderer/src/store/thunk/messageThunk.ts index c2c51b25e4..78f2876212 100644 --- a/src/renderer/src/store/thunk/messageThunk.ts +++ b/src/renderer/src/store/thunk/messageThunk.ts @@ -805,21 +805,19 @@ export const deleteMessageGroupThunk = const currentState = getState() const topicMessageIds = currentState.messages.messageIdsByTopic[topicId] || [] const messagesToDelete: Message[] = [] - const idsToDelete: string[] = [] topicMessageIds.forEach((id) => { const msg = currentState.messages.entities[id] if (msg && msg.askId === askId) { messagesToDelete.push(msg) - idsToDelete.push(id) } }) - const userQuery = currentState.messages.entities[askId] - if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) { - messagesToDelete.push(userQuery) - idsToDelete.push(askId) - } + // const userQuery = currentState.messages.entities[askId] + // if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) { + // messagesToDelete.push(userQuery) + // idsToDelete.push(askId) + // } if (messagesToDelete.length === 0) { console.warn(`[deleteMessageGroup] No messages found with askId ${askId} in topic ${topicId}.`) @@ -894,13 +892,29 @@ export const resendMessageThunk = const resetDataList: Message[] = [] if (assistantMessagesToReset.length === 0) { - // 没有用户消息,就创建一个 - const assistantMessage = createAssistantMessage(assistant.id, topicId, { - askId: userMessageToResend.id, - model: assistant.model + // 没有用户消息,就创建一个或多个 + + if (userMessageToResend?.mentions?.length) { + console.log('userMessageToResend.mentions', userMessageToResend.mentions) + for (const mention of userMessageToResend.mentions) { + const assistantMessage = createAssistantMessage(assistant.id, topicId, { + askId: userMessageToResend.id, + model: mention, + modelId: mention.id + }) + resetDataList.push(assistantMessage) + } + } else { + const assistantMessage = createAssistantMessage(assistant.id, topicId, { + askId: userMessageToResend.id, + model: assistant.model + }) + resetDataList.push(assistantMessage) + } + + resetDataList.forEach((message) => { + dispatch(newMessagesActions.addMessage({ topicId, message })) }) - resetDataList.push(assistantMessage) - dispatch(newMessagesActions.addMessage({ topicId, message: assistantMessage })) } const allBlockIdsToDelete: string[] = []