Paket 1 - Metrik-Historie mit Zeitachse (User: 'WANN war Last?'):
- services/metrics_history.py: 10s-Sampler (CPU/RAM/GPU/Disk + Token-Totale) in
24h-Ringpuffer (aelteres faellt automatisch raus, nichts waechst unbegrenzt),
persistiert alle 5 min -> uebersteht Deploys; GET /api/system/history?minutes
mit Downsampling auf ~300 Punkte; Lifespan-Task in app.py
- Cockpit-Karten System-Status + Token-Durchsatz: Bereichs-Schalter Live/1h/24h,
sichtbare Zeitachse (HH:MM:SS bei kurzen, HH:MM bei langen Fenstern), Tooltip
zeigt Uhrzeit; Token-Raten in 1h/24h aus Totale-Deltas
Paket 2 - Verbinden selbsterklaerend:
- Box-IP vorbefuellt aus window.location.hostname (Dev-Fallback bleibt)
- MCP-Scriptpfad-Feld aus der Kopfzeile in die 'Gedaechtnis anbinden'-Karte
verschoben, mit Erklaerung WANN man es braucht
Paket 3 - Modelltausch-Loecher gestopft (Review 16.07.):
- install: Registrierung OHNE Alias-Umzug; Rolle wird erst NACH erfolgreichem
Download uebernommen (on_done) - hermes dabei durch den warm-bewussten
set_agent_brain-Flow statt rohem Alias-Move (Lucy waere sonst bis Download-
Ende tot gewesen); Re-Install erhaelt bestehende Aliase
- set_role_alias: lebenswichtige Aliase (hermes/embed) des Ziel-Modells
ueberleben jeden Rollen-Klick (Qwen3.6 haelt live hermes+fast!)
- Rollen-Endpoint verweigert Rollen-Wechsel am Halter geschuetzter Aliase
mit klarer Anleitung; Werkbank sperrt die Rollen-Chips sichtbar
Verifiziert: py_compile + Sampler-Smoke (2 Punkte, Persist ok) + Alias-Logik-
Unittest (3 Faelle) + Browser (Zeitachse tickt, Schalter, Leerzustand, Verbinden).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>