From d05f6985bb882924292c10cfcc81c0b3d987e12a Mon Sep 17 00:00:00 2001 From: SuYao Date: Thu, 1 May 2025 11:04:43 +0800 Subject: [PATCH] fix(messageThunk): ensure usage is only estimated when not already present in response (#5553) * fix(messageThunk): ensure usage is only estimated when not already present in response * refactor: clean logic --- src/renderer/src/store/thunk/messageThunk.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/store/thunk/messageThunk.ts b/src/renderer/src/store/thunk/messageThunk.ts index 3b9485565f..3cd8be0b3c 100644 --- a/src/renderer/src/store/thunk/messageThunk.ts +++ b/src/renderer/src/store/thunk/messageThunk.ts @@ -603,7 +603,7 @@ const fetchAndProcessAssistantResponseImpl = async ( const finalStateOnComplete = getState() const finalAssistantMsg = finalStateOnComplete.messages.entities[assistantMsgId] - if (status === 'success' && finalAssistantMsg && response && !response?.usage) { + if (status === 'success' && finalAssistantMsg) { const userMsgId = finalAssistantMsg.askId const orderedMsgs = selectMessagesForTopic(finalStateOnComplete, topicId) const userMsgIndex = orderedMsgs.findIndex((m) => m.id === userMsgId) @@ -613,8 +613,10 @@ const fetchAndProcessAssistantResponseImpl = async ( // 更新topic的name autoRenameTopic(assistant, topicId) - const usage = await estimateMessagesUsage({ assistant, messages: finalContextWithAssistant }) - response.usage = usage + if (response && !response.usage) { + const usage = await estimateMessagesUsage({ assistant, messages: finalContextWithAssistant }) + response.usage = usage + } } if (response && response.metrics) { if (!response.metrics.completion_tokens && response.usage) {