chore: clear flow loacl api server

This commit is contained in:
Faisal Amir 2025-10-01 11:23:59 +07:00
parent 2679b19e32
commit 199623b414

View File

@ -97,24 +97,37 @@ function LocalAPIServerContent() {
} }
setShowApiKeyError(false) setShowApiKeyError(false)
setServerStatus('pending')
// Check if there's already a loaded model
serviceHub
.models()
.getActiveModels()
.then((loadedModels) => {
if (loadedModels && loadedModels.length > 0) {
console.log(`Using already loaded model: ${loadedModels[0]}`)
// Model already loaded, just start the server
return Promise.resolve()
} else {
// No loaded model, start one first
const modelToStart = getModelToStart({ const modelToStart = getModelToStart({
selectedModel, selectedModel,
selectedProvider, selectedProvider,
getProviderByName, getProviderByName,
}) })
// Only start server if we have a model to load // Only start server if we have a model to load
if (!modelToStart) { if (!modelToStart) {
console.warn( console.warn(
'Cannot start Local API Server: No model available to load' 'Cannot start Local API Server: No model available to load'
) )
return throw new Error('No model available to load')
} }
setServerStatus('pending')
setIsModelLoading(true) // Start loading state setIsModelLoading(true) // Start loading state
// Start the model first // Start the model first
serviceHub return serviceHub
.models() .models()
.startModel(modelToStart.provider, modelToStart.model) .startModel(modelToStart.provider, modelToStart.model)
.then(() => { .then(() => {
@ -124,6 +137,8 @@ function LocalAPIServerContent() {
// Add a small delay for the backend to update state // Add a small delay for the backend to update state
return new Promise((resolve) => setTimeout(resolve, 500)) return new Promise((resolve) => setTimeout(resolve, 500))
}) })
}
})
.then(() => { .then(() => {
// Then start the server // Then start the server
return window.core?.api?.startServer({ return window.core?.api?.startServer({