diff --git a/templates/index.html b/templates/index.html index 7d03787..4157e0f 100644 --- a/templates/index.html +++ b/templates/index.html @@ -827,7 +827,7 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null. name: 'poweron-ocr-general', displayName: 'PowerOn OCR General', description: 'Text-Extraktion / OCR (deepseek-ocr)', - isVision: true, + isVision: false, // Text model - no image required ollamaModel: 'deepseek-ocr' } ]; @@ -851,14 +851,24 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null. const result = await response.json(); const availableModels = (result.models || []).map(m => m.name); + console.log('Available Ollama models:', availableModels); + ollamaStatusDiv.className = 'ollama-status success'; // PowerOn Modelle in Dropdown laden (nur wenn Backend-Modell verfügbar) modelName.innerHTML = ''; - const availablePowerOnModels = POWERON_MODELS.filter(pm => - availableModels.some(m => m.startsWith(pm.ollamaModel.split(':')[0])) - ); + // Flexibler Modell-Match: prüft ob Ollama-Modell mit PowerOn-Modell beginnt oder umgekehrt + const availablePowerOnModels = POWERON_MODELS.filter(pm => { + const ollamaBase = pm.ollamaModel.split(':')[0]; + return availableModels.some(m => + m.startsWith(ollamaBase) || + m.split(':')[0] === ollamaBase || + ollamaBase.startsWith(m.split(':')[0]) + ); + }); + + console.log('Matched PowerOn models:', availablePowerOnModels.map(m => m.name)); if (availablePowerOnModels.length > 0) { const optGroup = document.createElement('optgroup'); @@ -874,9 +884,23 @@ Falls ein Feld nicht erkennbar ist, setze den Wert auf null. // Erstes Modell auswählen modelName.value = availablePowerOnModels[0].name; + } else { + // Fallback: Alle PowerOn Modelle anzeigen (ohne Verfügbarkeitsprüfung) + console.log('No matches found, showing all PowerOn models'); + const optGroup = document.createElement('optgroup'); + optGroup.label = 'PowerOn Modelle'; + POWERON_MODELS.forEach(model => { + const opt = document.createElement('option'); + opt.value = model.name; + opt.textContent = `${model.displayName}`; + opt.title = model.description; + optGroup.appendChild(opt); + }); + modelName.appendChild(optGroup); + modelName.value = POWERON_MODELS[0].name; } - ollamaStatusDiv.innerHTML = `✓ Verbunden - ${availablePowerOnModels.length} PowerOn Modelle verfügbar`; + ollamaStatusDiv.innerHTML = `✓ Verbunden - ${availablePowerOnModels.length || POWERON_MODELS.length} PowerOn Modelle verfügbar`; // Button-Status nach Modell-Laden aktualisieren _updateAnalyzeButtonState();