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:
+42
-21
@@ -912,30 +912,51 @@
|
|||||||
|
|
||||||
<div class="settings-section">
|
<div class="settings-section">
|
||||||
<h2>Lokales LLM (schnelle Antworten) <button class="info-btn" onclick="showInfo('local-llm')" title="Wie funktioniert das?">ℹ</button></h2>
|
<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 class="card" style="max-width:540px;">
|
||||||
<div style="font-size:11px;color:#8888AA;margin-bottom:10px;line-height:1.5;">
|
<div style="font-size:11px;color:#8888AA;margin-bottom:12px;line-height:1.55;">
|
||||||
Ein schnelles lokales Modell (Qwen3 auf der Gamebox) beantwortet einfache
|
Ein schnelles lokales Modell (<strong>Qwen3</strong> auf der Gamebox) beantwortet
|
||||||
Plauder-Turns in unter 1 Sekunde; alles Schwere/Werkzeug-artige geht
|
<strong>leichte Fragen in unter 1 Sekunde</strong>. Was schwerer wird, gibt es
|
||||||
weiter an Claude. Schreibt <code>/shared/config/local_llm.json</code> —
|
automatisch an <strong>Claude</strong> ab. Aenderungen greifen sofort
|
||||||
der Router im Brain liest sie live (kein Neustart noetig).
|
(kein Neustart) — geschrieben nach <code>/shared/config/local_llm.json</code>.
|
||||||
</div>
|
</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;">
|
<!-- Master -->
|
||||||
<span>Lokales LLM nutzen <span style="color:#8888AA;">(aus = alles ueber Claude)</span></span>
|
<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>
|
||||||
<label style="display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:#E0E0F0;cursor:pointer;">
|
<div style="font-size:10px;color:#8888AA;margin:0 0 12px 24px;line-height:1.5;">
|
||||||
<input type="checkbox" id="local-llm-onlylocal" onchange="saveLocalLlmConfig()" style="margin:0;">
|
<strong style="color:#4ADE80;">AN:</strong> leichte Fragen → lokal (schnell), schwere → Claude.
|
||||||
<span>Nur lokales LLM — kein Claude-Fallback <span style="color:#8888AA;">(zum Testen)</span></span>
|
<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>
|
</label>
|
||||||
<div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;">
|
<div style="font-size:10px;color:#8888AA;margin:0 0 12px 24px;line-height:1.5;">
|
||||||
<span style="font-size:12px;color:#8888AA;">Tool-Umfang:</span>
|
<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;">
|
<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="slim">Abgespeckt — kuratierte Tools</option>
|
||||||
<option value="full" disabled>Voll (braucht mehr VRAM)</option>
|
<option value="full" disabled>Voll — ganzes Arsenal (braucht mehr VRAM)</option>
|
||||||
</select>
|
</select>
|
||||||
<button class="info-btn" onclick="showInfo('local-llm-tools')" title="Voll: wie viel VRAM?">ℹ</button>
|
<button class="info-btn" onclick="showInfo('local-llm-tools')" title="Voll: wie viel VRAM?">ℹ</button>
|
||||||
</div>
|
</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. Grafikkarte da ist (siehe ⓘ).
|
||||||
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -6205,15 +6226,15 @@
|
|||||||
const el = document.getElementById('local-llm-status');
|
const el = document.getElementById('local-llm-status');
|
||||||
if (!el) return;
|
if (!el) return;
|
||||||
if (!c || !c.enabled) {
|
if (!c || !c.enabled) {
|
||||||
el.textContent = 'Aus — alle Anfragen laufen ueber Claude.';
|
el.textContent = '⚪ Status: AUS — alle Fragen laufen ueber Claude (wie bisher).';
|
||||||
el.style.color = '#6a6a88';
|
el.style.color = '#8888AA';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (c.localOnly) {
|
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';
|
el.style.color = '#FFD60A';
|
||||||
} else {
|
} else {
|
||||||
el.textContent = 'Aktiv — einfache Turns lokal (<1s), Rest → Claude.';
|
el.textContent = '🟢 Status: AKTIV — leichte Fragen lokal (<1s), schwere automatisch an Claude.';
|
||||||
el.style.color = '#4ADE80';
|
el.style.color = '#4ADE80';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user