From 0a6431675a8cf9054b68724b445b50d056a19ecf Mon Sep 17 00:00:00 2001 From: Henry Estela Date: Fri, 20 Mar 2026 12:58:29 -0700 Subject: [PATCH] fix(easy-setup): fix warning/block for easy setup managing of models --- admin/app/controllers/easy_setup_controller.ts | 7 ++++++- admin/inertia/pages/easy-setup/index.tsx | 12 ++++++++---- admin/inertia/pages/settings/models.tsx | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/admin/app/controllers/easy_setup_controller.ts b/admin/app/controllers/easy_setup_controller.ts index 29fafdf..34276f4 100644 --- a/admin/app/controllers/easy_setup_controller.ts +++ b/admin/app/controllers/easy_setup_controller.ts @@ -1,6 +1,7 @@ import { SystemService } from '#services/system_service' import { ZimService } from '#services/zim_service' import { CollectionManifestService } from '#services/collection_manifest_service' +import KVStore from '#models/kv_store' import { inject } from '@adonisjs/core' import type { HttpContext } from '@adonisjs/core/http' @@ -12,10 +13,14 @@ export default class EasySetupController { ) {} async index({ inertia }: HttpContext) { - const services = await this.systemService.getServices({ installedOnly: false }) + const [services, remoteOllamaUrl] = await Promise.all([ + this.systemService.getServices({ installedOnly: false }), + KVStore.getValue('ai.remoteOllamaUrl'), + ]) return inertia.render('easy-setup/index', { system: { services: services, + remoteOllamaUrl: remoteOllamaUrl ?? '', }, }) } diff --git a/admin/inertia/pages/easy-setup/index.tsx b/admin/inertia/pages/easy-setup/index.tsx index 4ff41b0..2036faf 100644 --- a/admin/inertia/pages/easy-setup/index.tsx +++ b/admin/inertia/pages/easy-setup/index.tsx @@ -112,7 +112,9 @@ const CURATED_MAP_COLLECTIONS_KEY = 'curated-map-collections' const CURATED_CATEGORIES_KEY = 'curated-categories' const WIKIPEDIA_STATE_KEY = 'wikipedia-state' -export default function EasySetupWizard(props: { system: { services: ServiceSlim[] } }) { +export default function EasySetupWizard(props: { + system: { services: ServiceSlim[]; remoteOllamaUrl: string } +}) { const { aiAssistantName } = usePage<{ aiAssistantName: string }>().props const CORE_CAPABILITIES = buildCoreCapabilities(aiAssistantName) @@ -122,8 +124,10 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim const [selectedAiModels, setSelectedAiModels] = useState([]) const [isProcessing, setIsProcessing] = useState(false) const [showAdditionalTools, setShowAdditionalTools] = useState(false) - const [remoteOllamaEnabled, setRemoteOllamaEnabled] = useState(false) - const [remoteOllamaUrl, setRemoteOllamaUrl] = useState('') + const [remoteOllamaEnabled, setRemoteOllamaEnabled] = useState( + () => !!props.system.remoteOllamaUrl + ) + const [remoteOllamaUrl, setRemoteOllamaUrl] = useState(() => props.system.remoteOllamaUrl ?? '') const [remoteOllamaUrlError, setRemoteOllamaUrlError] = useState(null) // Category/tier selection state @@ -843,7 +847,7 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim {remoteOllamaEnabled && remoteOllamaUrl ? ( diff --git a/admin/inertia/pages/settings/models.tsx b/admin/inertia/pages/settings/models.tsx index 2c3d652..a982985 100644 --- a/admin/inertia/pages/settings/models.tsx +++ b/admin/inertia/pages/settings/models.tsx @@ -377,7 +377,7 @@ export default function ModelsPage(props: {

- Model downloading is only supported when using a local Ollama backend. If you are connected to a remote AI host (e.g. LM Studio), download models directly in that application. + Model downloading is only supported when using an Ollama backend. If you are connected to an OpenAI API host (e.g. LM Studio), you will need to download models directly in that application.