From d869c5750acc6829e669822f60a2091cd80b10a8 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Thu, 23 Oct 2025 16:57:06 +0800 Subject: [PATCH] feat: enhance model capabilities with endpoint type validation and add 'gemini' to supported providers --- .../src/aiCore/prepareParams/modelCapabilities.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/aiCore/prepareParams/modelCapabilities.ts b/src/renderer/src/aiCore/prepareParams/modelCapabilities.ts index 4a3c3f4bbf..ac91a0d2b6 100644 --- a/src/renderer/src/aiCore/prepareParams/modelCapabilities.ts +++ b/src/renderer/src/aiCore/prepareParams/modelCapabilities.ts @@ -5,7 +5,7 @@ import { isVisionModel } from '@renderer/config/models' import { getProviderByModel } from '@renderer/services/AssistantService' -import type { Model } from '@renderer/types' +import type { EndpointType, Model } from '@renderer/types' import { FileTypes } from '@renderer/types' import { getAiSdkProviderId } from '../provider/factory' @@ -17,12 +17,14 @@ function modelSupportValidator( supportedModels = [], unsupportedModels = [], supportedProviders = [], - unsupportedProviders = [] + unsupportedProviders = [], + supportedEndpointTypes = [] }: { supportedModels?: string[] unsupportedModels?: string[] supportedProviders?: string[] unsupportedProviders?: string[] + supportedEndpointTypes?: EndpointType[] } ): boolean { const provider = getProviderByModel(model) @@ -43,6 +45,11 @@ function modelSupportValidator( return true } + // 根据 EndpointType 进行判断 + if (model.endpoint_type && supportedEndpointTypes.includes(model.endpoint_type)) { + return true + } + // 回退到提供商判断 return supportedProviders.includes(aiSdkId) } @@ -54,6 +61,7 @@ export function supportsPdfInput(model: Model): boolean { // 基于AI SDK文档,以下模型或提供商支持PDF输入 return modelSupportValidator(model, { supportedModels: ['qwen-long', 'qwen-doc'], + supportedEndpointTypes: ['anthropic', 'gemini'], supportedProviders: [ 'openai', 'azure-openai',