From 76ac1bd8f79b606acd46894d1a681ac489d0359d Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Wed, 3 Sep 2025 11:43:42 +0800 Subject: [PATCH] fix: enhance provider selection logic in AssistantService - Updated getProviderByModel function to improve provider selection. - Added fallback logic to return a default or cherryin provider if the specified model provider is not found. - Ensured that the first provider is returned as a last resort, enhancing robustness in provider retrieval. --- src/renderer/src/services/AssistantService.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/services/AssistantService.ts b/src/renderer/src/services/AssistantService.ts index fe4c040d0d..567c59991c 100644 --- a/src/renderer/src/services/AssistantService.ts +++ b/src/renderer/src/services/AssistantService.ts @@ -134,8 +134,15 @@ export function getAssistantProvider(assistant: Assistant): Provider { export function getProviderByModel(model?: Model): Provider { const providers = store.getState().llm.providers - const providerId = model ? model.provider : getDefaultProvider().id - return providers.find((p) => p.id === providerId) as Provider + const provider = providers.find((p) => p.id === model?.provider) + + if (!provider) { + const defaultProvider = providers.find((p) => p.id === getDefaultModel()?.provider) + const cherryinProvider = providers.find((p) => p.id === 'cherryin') + return defaultProvider || cherryinProvider || providers[0] + } + + return provider } export function getProviderByModelId(modelId?: string) {