From 5cb1ab51a4cb69aba9ef8ee237b517e263aacdd0 Mon Sep 17 00:00:00 2001 From: hllshiro <40970081+hllshiro@users.noreply.github.com> Date: Tue, 17 Jun 2025 14:55:51 +0800 Subject: [PATCH 1/4] fix: update the default model selection logic to ensure that only the "chat" model is selected. --- src/renderer/src/components/NewThread.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/components/NewThread.vue b/src/renderer/src/components/NewThread.vue index 1185fd5dd..ac0753723 100644 --- a/src/renderer/src/components/NewThread.vue +++ b/src/renderer/src/components/NewThread.vue @@ -114,6 +114,7 @@ import { usePresenter } from '@/composables/usePresenter' import { useEventListener } from '@vueuse/core' import { useThemeStore } from '@/stores/theme' import { useLanguageStore } from '@/stores/language' +import { ModelType } from '@shared/model' const configPresenter = usePresenter('configPresenter') const themeStore = useThemeStore() @@ -229,12 +230,12 @@ watch( // 如果没有偏好模型或偏好模型不可用,使用第一个可用模型 if (settingsStore.enabledModels.length > 0) { - const model = settingsStore.enabledModels[0].models[0] + const model = settingsStore.enabledModels[0]?.models.find(m => m.type === ModelType.Chat) if (model) { activeModel.value = { name: model.name, id: model.id, - providerId: settingsStore.enabledModels[0].providerId, + providerId: model.providerId, tags: [] } } From 595709648b9044831b59d6de63c95b69de49b004 Mon Sep 17 00:00:00 2001 From: hllshiro <40970081+hllshiro@users.noreply.github.com> Date: Tue, 17 Jun 2025 15:07:53 +0800 Subject: [PATCH 2/4] fix: improve model selection logic to handle multiple providers --- src/renderer/src/components/NewThread.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/components/NewThread.vue b/src/renderer/src/components/NewThread.vue index ac0753723..df99acb99 100644 --- a/src/renderer/src/components/NewThread.vue +++ b/src/renderer/src/components/NewThread.vue @@ -230,7 +230,9 @@ watch( // 如果没有偏好模型或偏好模型不可用,使用第一个可用模型 if (settingsStore.enabledModels.length > 0) { - const model = settingsStore.enabledModels[0]?.models.find(m => m.type === ModelType.Chat) + const model = settingsStore.enabledModels + .flatMap(provider => provider.models) + .find(m => m.type === ModelType.Chat) if (model) { activeModel.value = { name: model.name, From a2ac58b6ea97900bc944b6e83e7a2b024a8844b0 Mon Sep 17 00:00:00 2001 From: hllshiro <40970081+hllshiro@users.noreply.github.com> Date: Tue, 17 Jun 2025 15:22:02 +0800 Subject: [PATCH 3/4] fix: enhance model selection to include provider IDs for better identification --- src/renderer/src/components/NewThread.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/components/NewThread.vue b/src/renderer/src/components/NewThread.vue index df99acb99..0c2aaa8d9 100644 --- a/src/renderer/src/components/NewThread.vue +++ b/src/renderer/src/components/NewThread.vue @@ -231,8 +231,10 @@ watch( // 如果没有偏好模型或偏好模型不可用,使用第一个可用模型 if (settingsStore.enabledModels.length > 0) { const model = settingsStore.enabledModels - .flatMap(provider => provider.models) - .find(m => m.type === ModelType.Chat) + .flatMap((provider) => + provider.models.map((m) => ({ ...m, providerId: provider.providerId })) + ) + .find((m) => m.type === ModelType.Chat) if (model) { activeModel.value = { name: model.name, From f1d97063a32769369df231f00656db3c2477951f Mon Sep 17 00:00:00 2001 From: hllshiro <40970081+hllshiro@users.noreply.github.com> Date: Tue, 17 Jun 2025 16:06:56 +0800 Subject: [PATCH 4/4] fix: update model selection to include ImageGeneration type --- src/renderer/src/components/NewThread.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/src/components/NewThread.vue b/src/renderer/src/components/NewThread.vue index 0c2aaa8d9..73351ff60 100644 --- a/src/renderer/src/components/NewThread.vue +++ b/src/renderer/src/components/NewThread.vue @@ -234,7 +234,7 @@ watch( .flatMap((provider) => provider.models.map((m) => ({ ...m, providerId: provider.providerId })) ) - .find((m) => m.type === ModelType.Chat) + .find((m) => m.type === ModelType.Chat || m.type === ModelType.ImageGeneration) if (model) { activeModel.value = { name: model.name,