From 833fe06f9251ec376e5772db891335dc721db7b4 Mon Sep 17 00:00:00 2001 From: ekko <152005280+EKKOLearnAI@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:30:34 +0800 Subject: [PATCH] fix: restore fetchAvailableModels to fix provider lost as custom (#194) * fix: restore fetchAvailableModels to fix provider lost as custom (#174) #174 replaced fetchAvailableModels with fetchConfigModels, but config/models response lacks default_provider, label, base_url and api_key fields. This caused selectedProvider to always be empty, making all models appear as "custom" in the model selector. Co-Authored-By: Claude Opus 4.6 * chore: bump version to 0.4.6 Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- package.json | 2 +- packages/client/src/stores/hermes/app.ts | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index da8f011..9c5113a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hermes-web-ui", - "version": "0.4.5", + "version": "0.4.6", "description": "Self-hosted AI chat dashboard for Hermes Agent — multi-model (Claude, GPT, Gemini, DeepSeek) web UI with Telegram, Discord, Slack, WhatsApp integration", "repository": { "type": "git", diff --git a/packages/client/src/stores/hermes/app.ts b/packages/client/src/stores/hermes/app.ts index 00d3633..5df84a2 100644 --- a/packages/client/src/stores/hermes/app.ts +++ b/packages/client/src/stores/hermes/app.ts @@ -1,6 +1,6 @@ import { defineStore } from 'pinia' import { ref } from 'vue' -import { checkHealth, fetchConfigModels, updateDefaultModel, triggerUpdate, type AvailableModelGroup } from '@/api/hermes/system' +import { checkHealth, fetchAvailableModels, updateDefaultModel, triggerUpdate, type AvailableModelGroup } from '@/api/hermes/system' const WEB_UI_VERSION = __APP_VERSION__ @@ -57,16 +57,10 @@ export const useAppStore = defineStore('app', () => { async function loadModels() { try { - const res = await fetchConfigModels() - modelGroups.value = res.groups.map(g => ({ - provider: g.provider, - label: g.provider, - base_url: '', - models: g.models.map(m => typeof m === 'string' ? m : m.id), - api_key: '', - })) + const res = await fetchAvailableModels() + modelGroups.value = res.groups selectedModel.value = res.default - selectedProvider.value = '' + selectedProvider.value = res.default_provider || '' } catch { // ignore }