ux(diagnostic): klarere Beschreibungen fuer die Lokales-LLM-Schalter

Pro Schalter ein kurzer Hilfetext (AN/AUS-Bedeutung, Testmodus-Warnung),
deutlichere Labels, Status-Zeile mit Ampel (/🟡/🟢) + Hinweis auf aktuellen
B1a-Stand (lokal plaudert nur, Tools folgen in B1b).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 12:32:12 +02:00
co-authored by Claude Opus 4.8
parent 1d4f23ada3
commit 3a3c14fdc5
+42 -21
View File
@@ -912,30 +912,51 @@
<div class="settings-section">
<h2>Lokales LLM (schnelle Antworten) <button class="info-btn" onclick="showInfo('local-llm')" title="Wie funktioniert das?"></button></h2>
<div class="card" style="max-width:500px;">
<div style="font-size:11px;color:#8888AA;margin-bottom:10px;line-height:1.5;">
Ein schnelles lokales Modell (Qwen3 auf der Gamebox) beantwortet einfache
Plauder-Turns in unter 1&nbsp;Sekunde; alles Schwere/Werkzeug-artige geht
weiter an Claude. Schreibt <code>/shared/config/local_llm.json</code>
der Router im Brain liest sie live (kein Neustart noetig).
<div class="card" style="max-width:540px;">
<div style="font-size:11px;color:#8888AA;margin-bottom:12px;line-height:1.55;">
Ein schnelles lokales Modell (<strong>Qwen3</strong> auf der Gamebox) beantwortet
<strong>leichte Fragen in unter 1&nbsp;Sekunde</strong>. Was schwerer wird, gibt es
automatisch an <strong>Claude</strong> ab. Aenderungen greifen sofort
(kein Neustart) — geschrieben nach <code>/shared/config/local_llm.json</code>.
</div>
<label style="display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:#E0E0F0;cursor:pointer;">
<input type="checkbox" id="local-llm-enabled" onchange="saveLocalLlmConfig()" style="margin:0;">
<span>Lokales LLM nutzen <span style="color:#8888AA;">(aus = alles ueber Claude)</span></span>
<!-- Master -->
<label style="display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;font-size:13px;color:#E0E0F0;cursor:pointer;">
<input type="checkbox" id="local-llm-enabled" onchange="saveLocalLlmConfig()" style="margin:2px 0 0 0;">
<span><strong>Lokales LLM einschalten</strong></span>
</label>
<label style="display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:#E0E0F0;cursor:pointer;">
<input type="checkbox" id="local-llm-onlylocal" onchange="saveLocalLlmConfig()" style="margin:0;">
<span>Nur lokales LLM — kein Claude-Fallback <span style="color:#8888AA;">(zum Testen)</span></span>
<div style="font-size:10px;color:#8888AA;margin:0 0 12px 24px;line-height:1.5;">
<strong style="color:#4ADE80;">AN:</strong> leichte Fragen → lokal (schnell), schwere → Claude.&nbsp;
<strong style="color:#8888AA;">AUS:</strong> alles laeuft ueber Claude (wie bisher). — <em>Das ist der Normal-Betrieb.</em>
</div>
<!-- Nur lokal -->
<label style="display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;font-size:13px;color:#E0E0F0;cursor:pointer;">
<input type="checkbox" id="local-llm-onlylocal" onchange="saveLocalLlmConfig()" style="margin:2px 0 0 0;">
<span><strong>Nur lokales LLM</strong> — Claude komplett aussperren</span>
</label>
<div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;">
<span style="font-size:12px;color:#8888AA;">Tool-Umfang:</span>
<div style="font-size:10px;color:#8888AA;margin:0 0 12px 24px;line-height:1.5;">
<strong style="color:#FFD60A;">Nur zum Testen.</strong> Erzwingt IMMER das lokale Modell — auch bei
schweren Fragen, ohne Claude-Rettung. So siehst du, was Qwen allein kann. Werkzeug-Fragen
(Wetter/Timer/…) funktionieren dann nicht. <strong>Fuer den Alltag: AUS lassen.</strong>
</div>
<!-- Tool-Umfang -->
<div style="display:flex;align-items:center;gap:8px;margin-bottom:4px;">
<span style="font-size:13px;color:#E0E0F0;"><strong>Werkzeuge lokal:</strong></span>
<select id="local-llm-toolvariant" onchange="saveLocalLlmConfig()" style="background:#1E1E2E;border:1px solid #333;border-radius:4px;padding:6px 8px;color:#E0E0F0;font-family:inherit;font-size:12px;">
<option value="slim">Abgespeckt (kuratierte Tools)</option>
<option value="full" disabled>Voll (braucht mehr VRAM)</option>
<option value="slim">Abgespeckt kuratierte Tools</option>
<option value="full" disabled>Voll — ganzes Arsenal (braucht mehr VRAM)</option>
</select>
<button class="info-btn" onclick="showInfo('local-llm-tools')" title="Voll: wie viel VRAM?"></button>
</div>
<div id="local-llm-status" style="font-size:10px;color:#6a6a88;margin-top:6px;min-height:12px;"></div>
<div style="font-size:10px;color:#8888AA;margin:0 0 6px 0;line-height:1.5;">
Welche Werkzeuge das lokale Modell <em>selbst</em> ausfuehren darf. „Voll" ist gesperrt,
bis eine 2.&nbsp;Grafikkarte da ist (siehe&nbsp;ⓘ).
<br><span style="color:#FFD60A;">Aktueller Stand (B1a): das lokale Modell <strong>plaudert nur</strong> — Werkzeuge macht noch Claude. Lokale Tools kommen mit B1b.</span>
</div>
<div id="local-llm-status" style="font-size:11px;color:#6a6a88;margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3a;min-height:14px;"></div>
</div>
</div>
@@ -6205,15 +6226,15 @@
const el = document.getElementById('local-llm-status');
if (!el) return;
if (!c || !c.enabled) {
el.textContent = 'Aus — alle Anfragen laufen ueber Claude.';
el.style.color = '#6a6a88';
el.textContent = '⚪ Status: AUS — alle Fragen laufen ueber Claude (wie bisher).';
el.style.color = '#8888AA';
return;
}
if (c.localOnly) {
el.textContent = 'NUR lokal — kein Claude-Fallback (Testmodus). Werkzeug-Turns funktionieren hier nicht.';
el.textContent = '🟡 Status: TESTMODUS — nur lokal, Claude ausgesperrt. Werkzeug-Fragen funktionieren nicht.';
el.style.color = '#FFD60A';
} else {
el.textContent = 'Aktiv — einfache Turns lokal (<1s), Rest Claude.';
el.textContent = '🟢 Status: AKTIVleichte Fragen lokal (<1s), schwere automatisch an Claude.';
el.style.color = '#4ADE80';
}
}