diff --git a/src/renderer/src/services/ApiService.ts b/src/renderer/src/services/ApiService.ts index 841d9de934..8976780449 100644 --- a/src/renderer/src/services/ApiService.ts +++ b/src/renderer/src/services/ApiService.ts @@ -312,16 +312,18 @@ async function fetchExternalTool( let memorySearchReferences: MemoryItem[] | undefined const parentSpanId = currentSpan(lastUserMessage.topicId, assistant.model?.name)?.spanContext().spanId - // 并行执行搜索 - if (shouldWebSearch || shouldKnowledgeSearch || shouldSearchMemory) { - ;[webSearchResponseFromSearch, knowledgeReferencesFromSearch, memorySearchReferences] = await Promise.all([ - searchTheWeb(extractResults, parentSpanId), - searchKnowledgeBase(extractResults, parentSpanId, assistant.model?.name), - searchMemory() - ]) + if (shouldWebSearch) { + webSearchResponseFromSearch = await searchTheWeb(extractResults, parentSpanId) + } + + if (shouldKnowledgeSearch) { + knowledgeReferencesFromSearch = await searchKnowledgeBase(extractResults, parentSpanId, assistant.model?.name) + } + + if (shouldSearchMemory) { + memorySearchReferences = await searchMemory() } - // 存储搜索结果 if (lastUserMessage) { if (webSearchResponseFromSearch) { window.keyv.set(`web-search-${lastUserMessage.id}`, webSearchResponseFromSearch) @@ -492,7 +494,7 @@ export async function fetchChatCompletion({ // Post-conversation memory processing const globalMemoryEnabled = selectGlobalMemoryEnabled(store.getState()) if (globalMemoryEnabled && assistant.enableMemory) { - await processConversationMemory(messages, assistant) + processConversationMemory(messages, assistant) } return await AI.completionsForTrace(completionsParams, requestOptions)