d6e0762a28
- CLAUDE.md: "Entwickeln & Deployen" auf Windows->Gitea->Bosgame umgestellt (key-basiertes SSH als hitonabi, rsync nach /opt, sudo-Restart) - ROADMAP.md: Projektstand-Sektion (Schritt 1 live auf :9000, Reihenfolge, naechster Schritt = Feature 3 mit geprueften sysfs/psutil-Quellen) - Feature 3 + 5 Status praezisiert Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
78 lines
4.5 KiB
Markdown
78 lines
4.5 KiB
Markdown
# Mission Control — Roadmap v2
|
|
|
|
**Nordstern:** Den Bosgame nie wieder via SSH/Putty bedienen müssen. **100 % Automatisierung oder Klicki-Bunti.**
|
|
|
|
---
|
|
|
|
## Projektstand (Stand 2026-06-20)
|
|
|
|
**✅ Schritt 1 erledigt & live auf `:9000`** — *SoC-Refactor + Design 2.0 als Fundament* (Commit `3649394`).
|
|
Backend in Helfer + `routers/*` zerlegt, Frontend in ES-Module (`js/core` + `js/panels`) + ausgelagertes
|
|
CSS, neues Dashboard-Layout (Sidebar-Nav, Topbar, Alert-Banner, Hero, KPI-Kacheln, Health-Signale,
|
|
Modell-Listen, Aktivitäts-Stream) angelehnt an `docs/mission-control-overview.png`. Bestehende Funktionen
|
|
1:1 migriert, Endpoint-URLs unverändert. Architektur + Deploy-Weg stehen in **CLAUDE.md**.
|
|
|
|
**Reihenfolge (abgestimmt):** Design/Architektur zuerst (✅), dann Quick Wins, Security-Brocken zuletzt:
|
|
`1 (✅) Fundament → [2] Feature 3 Live-Auslastung ← NÄCHSTES → Feature 6 → Feature 1 → Feature 4 → Feature 7 → Feature 2`.
|
|
|
|
**Arbeitsweise je Schritt:** neuer `routers/<x>.py` + `js/panels/<x>.js` + Nav-Eintrag, sauber degradierend.
|
|
Bauen + Smoke-Test auf Windows, dann push→pull→rsync→restart auf den Bosgame (CLAUDE.md „Entwickeln & Deployen").
|
|
Ein Commit je Schritt. **Ich (KI) habe key-basierten SSH-Zugang zum Bosgame und kann selbst deployen+restarten.**
|
|
|
|
**→ Nächster Schritt konkret = Feature 3 (Live-Auslastung).** Quellen auf dem Bosgame geprüft — `amd-smi`/`rocm-smi`
|
|
fehlen, daher **sysfs + psutil**:
|
|
- CPU/RAM/Disk via `psutil` (zu `requirements.txt` hinzufügen — im Prod-`/opt/.venv` noch nicht drin) oder `/proc`-Fallback.
|
|
- GPU-Speicher: `/sys/class/drm/card1/device/mem_info_{gtt,vram}_{used,total}` (Bytes; GTT-Pool ≈133 GB).
|
|
- Temperatur: hwmon mit `name`=`amdgpu` (GPU, `temp1_input` in m°C) bzw. `k10temp` (CPU).
|
|
- ⚠️ hwmon-Index **und** `card*`-Nummer nicht hardcoden — über `name`/Existenz auflösen (nicht reboot-stabil).
|
|
- Panel füllt die „n/a"-Plätze: KPI-Karte „System-Last" + „Stack-Gesundheit"-Zeile „Auslastung (RAM/GPU/Disk)".
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
### 1. Server-Management ("Update-Panel 2.0")
|
|
Aktuell gibt es nur "Container aktualisieren" + "Alles aus dem Speicher". Ziel: den kompletten Server aus der UI verwalten.
|
|
- [ ] OS-/Core-Updates (`apt update/upgrade`) per Knopf, mit Live-Output
|
|
- [ ] Dienste steuern (`llama-swap`, `mission-control`: Status, Restart)
|
|
- [ ] Reboot / Health-Übersicht
|
|
- [ ] Referenz: altes `ai-control`-Skript als Funktionsvorlage
|
|
- ⚠️ **Scope-/Security-Sprung**: macht MC zum Server-Admin-Panel. Rechte minimal halten (sudoers-Whitelist für genau die erlaubten Befehle, statt Vollzugriff).
|
|
|
|
### 2. Live-Terminal / Log via SSH
|
|
- [ ] Live-Log-Stream im Browser (Stack-Logs, `journalctl`)
|
|
- [ ] Zugang über SSH bzw. SSH-Key, sauberes Credential-Handling
|
|
- ⚠️ **Security-kritisch**: SSH-Zugang in einer Web-UI — Auth + strikte LAN-Bindung Pflicht.
|
|
|
|
### 3. Live-Auslastung im Dashboard ← **NÄCHSTER SCHRITT** (Details im Projektstand oben)
|
|
- [ ] CPU / RAM / GPU-VRAM+GTT / Temperatur live anzeigen
|
|
- [ ] Quellen: **sysfs + psutil** — `amd-smi`/`rocm-smi` sind auf dem Bosgame NICHT installiert!
|
|
GPU-Mem: `/sys/class/drm/card1/device/mem_info_*`; Temp: hwmon-`name` `amdgpu`/`k10temp`.
|
|
|
|
### 4. Cookbook + "Modell holen" verschmelzen
|
|
- [ ] Rezept-basiertes Einpflegen (Odysseus-Style): kuratierte Modell-Rezepte (Repo, Datei, ctx, Flags) per Klick installierbar
|
|
- [ ] "Modell holen" wird Teil des Cookbooks statt separates Formular
|
|
|
|
### 5. Design 2.0
|
|
- [x] **Grundgerüst + Design-Sprache in Schritt 1 umgesetzt** (Sidebar-Nav, Topbar, Hero, getönte
|
|
KPI-Kacheln, Health-Signale, Listen, Aktivitäts-Stream, Alert-Banner) — Tokens in `css/base.css`.
|
|
- [ ] Feinschliff pro Feature (jeder neue Bereich nutzt die bestehenden Komponenten/Tokens).
|
|
- [ ] Referenz liegt als `docs/mission-control-overview.png` (vom User nachzulegen; Design ist daran angelehnt).
|
|
|
|
### 6. Mehr LLM-Metriken
|
|
- [ ] Fähigkeiten pro Modell anzeigen (Text / Bild / Code)
|
|
- [ ] Tokens/Sek, Kontextgröße, Quant, Dateigröße auf Platte
|
|
- [ ] Status pro Modell: geladen / idle / Ladezeit
|
|
|
|
### 7. Integrations-Anleitungen
|
|
- [ ] Eingebaute Guides: wie man die LLMs in andere Tools bekommt (OpenCode für Windows, Cline, …)
|
|
- [ ] Copy-Paste-fertige Configs (Base-URL, Modell-IDs)
|
|
|
|
---
|
|
|
|
## Tech-Leitplanken
|
|
|
|
- **KISS beibehalten** — kein schweres Framework, solange es ohne geht.
|
|
- **Sicherheit zuerst** bei allem mit Shell-/SSH-Zugriff: LAN-only, Auth, minimale Rechte.
|
|
- Backend-Logik in `app.py`, UI in `static/index.html` — Trennung sauber halten.
|