diff --git a/packages/client/src/api/hermes/system.ts b/packages/client/src/api/hermes/system.ts
index 1eeddab..4835202 100644
--- a/packages/client/src/api/hermes/system.ts
+++ b/packages/client/src/api/hermes/system.ts
@@ -33,6 +33,7 @@ export interface AvailableModelGroup {
export interface AvailableModelsResponse {
default: string
+ default_provider: string
groups: AvailableModelGroup[]
}
diff --git a/packages/client/src/components/layout/ModelSelector.vue b/packages/client/src/components/layout/ModelSelector.vue
index 7861378..91c5ee3 100644
--- a/packages/client/src/components/layout/ModelSelector.vue
+++ b/packages/client/src/components/layout/ModelSelector.vue
@@ -30,8 +30,8 @@ function isGroupCollapsed(provider: string) {
return !!collapsedGroups.value[provider]
}
-function handleSelect(model: string) {
- appStore.switchModel(model)
+function handleSelect(model: string, provider: string) {
+ appStore.switchModel(model, provider)
showModal.value = false
searchQuery.value = ''
}
@@ -85,11 +85,11 @@ function openModal() {
v-for="model in group.models"
:key="model"
class="model-item"
- :class="{ active: model === appStore.selectedModel }"
- @click="handleSelect(model)"
+ :class="{ active: model === appStore.selectedModel && group.provider === appStore.selectedProvider }"
+ @click="handleSelect(model, group.provider)"
>
{{ model }}
-