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();