From 56d68276e15481e6800ae7ae9434ae648e17d7a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A7=91=E5=9B=BF=E8=84=91=E8=A2=8B?= <70054568+eeee0717@users.noreply.github.com> Date: Tue, 28 Oct 2025 16:37:58 +0800 Subject: [PATCH] fix(knowledge): force choose knowledge aisdk error (#11006) fix: aisdk error --- src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts index 54116949f1..b10607b670 100644 --- a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts +++ b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts @@ -5,6 +5,7 @@ import { isSupportEnableThinkingProvider } from '@renderer/config/providers' import { type Assistant, MCPTool, type Message, type Model, type Provider } from '@renderer/types' import type { Chunk } from '@renderer/types/chunk' import { extractReasoningMiddleware, LanguageModelMiddleware, simulateStreamingMiddleware } from 'ai' +import { isEmpty } from 'lodash' import { isOpenRouterGeminiGenerateImageModel } from '../utils/image' import { noThinkMiddleware } from './noThinkMiddleware' @@ -131,7 +132,7 @@ export function buildAiSdkMiddlewares(config: AiSdkMiddlewareConfig): LanguageMo const builder = new AiSdkMiddlewareBuilder() // 0. 知识库强制调用中间件(必须在最前面,确保第一轮强制调用知识库) - if (config.knowledgeRecognition === 'off') { + if (!isEmpty(config.assistant?.knowledge_bases?.map((base) => base.id)) && config.knowledgeRecognition !== 'on') { builder.add({ name: 'force-knowledge-first', middleware: toolChoiceMiddleware('builtin_knowledge_search')