templates/index.html aktualisiert
This commit is contained in:
@@ -288,9 +288,20 @@
|
|||||||
try {
|
try {
|
||||||
const res = await fetch('/api/settings');
|
const res = await fetch('/api/settings');
|
||||||
currentSettings = await res.json();
|
currentSettings = await res.json();
|
||||||
document.getElementById('ai-provider').value = currentSettings.provider;
|
|
||||||
updateModelDropdown(true);
|
const providerSelect = document.getElementById('ai-provider');
|
||||||
} catch (e) {}
|
providerSelect.value = currentSettings.provider;
|
||||||
|
|
||||||
|
// Falls eine Ollama-URL in den Settings gespeichert ist, diese setzen
|
||||||
|
if (currentSettings.ollama_url) {
|
||||||
|
document.getElementById('ollama-url').value = currentSettings.ollama_url;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Jetzt die Modelle laden - WICHTIG: await nutzen
|
||||||
|
await updateModelDropdown(true);
|
||||||
|
} catch (e) {
|
||||||
|
console.error("Fehler beim Laden der Initial-Settings:", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
loadSettings();
|
loadSettings();
|
||||||
|
|
||||||
@@ -306,18 +317,23 @@
|
|||||||
const provider = document.getElementById('ai-provider').value;
|
const provider = document.getElementById('ai-provider').value;
|
||||||
const modelSelect = document.getElementById('ai-model');
|
const modelSelect = document.getElementById('ai-model');
|
||||||
const urlContainer = document.getElementById('ollama-url-container');
|
const urlContainer = document.getElementById('ollama-url-container');
|
||||||
|
const ollamaUrl = document.getElementById('ollama-url').value;
|
||||||
|
|
||||||
// FIX: Zeige das URL-Feld nur an, wenn Ollama ausgewählt ist
|
// Sichtbarkeit des URL-Feldes steuern
|
||||||
if (provider === "ollama") {
|
urlContainer.style.display = (provider === "ollama") ? "flex" : "none";
|
||||||
urlContainer.style.display = "flex";
|
|
||||||
} else {
|
|
||||||
urlContainer.style.display = "none";
|
|
||||||
}
|
|
||||||
|
|
||||||
modelSelect.innerHTML = '<option>Lade Modelle...</option>';
|
modelSelect.innerHTML = '<option>Lade Modelle...</option>';
|
||||||
|
|
||||||
|
// API-Query vorbereiten
|
||||||
|
let apiUrl = `/api/models?provider=${provider}`;
|
||||||
|
if (provider === "ollama" && ollamaUrl) {
|
||||||
|
apiUrl += `&base_url=${encodeURIComponent(ollamaUrl)}`;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(`/api/models?provider=${provider}`);
|
const res = await fetch(apiUrl);
|
||||||
|
if (!res.ok) throw new Error("Server-Antwort nicht OK");
|
||||||
|
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
modelSelect.innerHTML = '';
|
modelSelect.innerHTML = '';
|
||||||
|
|
||||||
@@ -327,16 +343,18 @@
|
|||||||
opt.value = opt.textContent = m;
|
opt.value = opt.textContent = m;
|
||||||
modelSelect.appendChild(opt);
|
modelSelect.appendChild(opt);
|
||||||
});
|
});
|
||||||
// Setze gespeichertes Modell beim ersten Laden
|
|
||||||
if (isInitialLoad && currentSettings[`${provider}_model`]) {
|
// Gespeichertes Modell setzen
|
||||||
modelSelect.value = currentSettings[`${provider}_model`];
|
const savedModel = currentSettings[`${provider}_model`];
|
||||||
|
if (isInitialLoad && savedModel) {
|
||||||
|
modelSelect.value = savedModel;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
modelSelect.innerHTML = '<option value="">Keine Modelle gefunden</option>';
|
modelSelect.innerHTML = '<option value="">Keine Modelle gefunden</option>';
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Fehler beim Laden der Modelle:", e);
|
console.error("Fehler beim Modell-Abruf:", e);
|
||||||
modelSelect.innerHTML = '<option value="">Fehler beim Laden</option>';
|
modelSelect.innerHTML = '<option value="">Modelle konnten nicht geladen werden</option>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user