docs: update roadmap and claude for feature 3 completion

This commit is contained in:
Hitonabi
2026-06-20 21:24:17 +02:00
parent 08eab95178
commit 00933f2234
2 changed files with 12 additions and 13 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ FastAPI-Backend + Vanilla-JS-Dashboard. **Leitprinzip: KISS — kein Build-Schri
- **`auth.py`** — optionale Token-Auth (`X-MC-Token`). - **`auth.py`** — optionale Token-Auth (`X-MC-Token`).
- **`jobengine.py`** — In-Memory-Job-System (Threads + Subprocess) mit Live-Log; fährt Downloads/Updates. - **`jobengine.py`** — In-Memory-Job-System (Threads + Subprocess) mit Live-Log; fährt Downloads/Updates.
- **`llamaswap.py`** — spricht `llama-swap` an (`/running`, `/v1/models`, unload) und liest/schreibt dessen `config.yaml` per `ruamel.yaml` (Kommentare bleiben erhalten). - **`llamaswap.py`** — spricht `llama-swap` an (`/running`, `/v1/models`, unload) und liest/schreibt dessen `config.yaml` per `ruamel.yaml` (Kommentare bleiben erhalten).
- **`routers/*.py`** — ein Router je Bereich. Aktuell: `models.py` (`status`, `download`, `register`, `unload`, `chat`), `jobs.py` (`jobs`), `maintenance.py` (`update`). Alle Endpoints unter `/api/*`. - **`routers/*.py`** — ein Router je Bereich. Aktuell: `models.py` (`status`, `download`, `register`, `unload`, `chat`), `jobs.py` (`jobs`), `maintenance.py` (`update`), `system.py` (`status`). Alle Endpoints unter `/api/*`.
**Frontend** (`static/`, dünne Hülle + ES-Module, kein Build): **Frontend** (`static/`, dünne Hülle + ES-Module, kein Build):
- **`index.html`** — nur Gerüst: Sidebar-Nav, Topbar, Alert-Banner, ein `.view`-Container je Bereich (Hash-Routing). Lädt `css/*` und `js/main.js` als Modul. - **`index.html`** — nur Gerüst: Sidebar-Nav, Topbar, Alert-Banner, ein `.view`-Container je Bereich (Hash-Routing). Lädt `css/*` und `js/main.js` als Modul.
+11 -12
View File
@@ -12,20 +12,19 @@ CSS, neues Dashboard-Layout (Sidebar-Nav, Topbar, Alert-Banner, Hero, KPI-Kachel
Modell-Listen, Aktivitäts-Stream) angelehnt an `docs/mission-control-overview.png`. Bestehende Funktionen 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**. 1:1 migriert, Endpoint-URLs unverändert. Architektur + Deploy-Weg stehen in **CLAUDE.md**.
**✅ Schritt 2 erledigt & live** — *Feature 3: Live-Auslastung*. `system.py` Router mit `psutil` und sysfs für CPU/RAM/Disk/GPU/Temp.
**Reihenfolge (abgestimmt):** Design/Architektur zuerst (✅), dann Quick Wins, Security-Brocken zuletzt: **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`. `1 (✅) Fundament → 2 (✅) Feature 3 Live-Auslastung → [3] Feature 6 Mehr LLM-Metriken ← NÄCHSTES → Feature 1 → Feature 4 → Feature 7 → Feature 2`.
**Arbeitsweise je Schritt:** neuer `routers/<x>.py` + `js/panels/<x>.js` + Nav-Eintrag, sauber degradierend. **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"). 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.** 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` **→ Nächster Schritt konkret = Feature 6 (Mehr LLM-Metriken).**
fehlen, daher **sysfs + psutil**: - Fähigkeiten pro Modell anzeigen (Text / Bild / Code)
- CPU/RAM/Disk via `psutil` (zu `requirements.txt` hinzufügen — im Prod-`/opt/.venv` noch nicht drin) oder `/proc`-Fallback. - Tokens/Sek, Kontextgröße, Quant, Dateigröße auf Platte
- GPU-Speicher: `/sys/class/drm/card1/device/mem_info_{gtt,vram}_{used,total}` (Bytes; GTT-Pool ≈133 GB). - Status pro Modell: geladen / idle / Ladezeit
- 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)".
--- ---
@@ -44,9 +43,9 @@ Aktuell gibt es nur "Container aktualisieren" + "Alles aus dem Speicher". Ziel:
- [ ] Zugang über SSH bzw. SSH-Key, sauberes Credential-Handling - [ ] Zugang über SSH bzw. SSH-Key, sauberes Credential-Handling
- ⚠️ **Security-kritisch**: SSH-Zugang in einer Web-UI — Auth + strikte LAN-Bindung Pflicht. - ⚠️ **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) ### 3. Live-Auslastung im Dashboard (✅ Erledigt)
- [ ] CPU / RAM / GPU-VRAM+GTT / Temperatur live anzeigen - [x] CPU / RAM / GPU-VRAM+GTT / Temperatur live anzeigen
- [ ] Quellen: **sysfs + psutil**`amd-smi`/`rocm-smi` sind auf dem Bosgame NICHT installiert! - [x] 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`. GPU-Mem: `/sys/class/drm/card1/device/mem_info_*`; Temp: hwmon-`name` `amdgpu`/`k10temp`.
### 4. Cookbook + "Modell holen" verschmelzen ### 4. Cookbook + "Modell holen" verschmelzen
@@ -59,7 +58,7 @@ Aktuell gibt es nur "Container aktualisieren" + "Alles aus dem Speicher". Ziel:
- [ ] Feinschliff pro Feature (jeder neue Bereich nutzt die bestehenden Komponenten/Tokens). - [ ] 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). - [ ] Referenz liegt als `docs/mission-control-overview.png` (vom User nachzulegen; Design ist daran angelehnt).
### 6. Mehr LLM-Metriken ### 6. Mehr LLM-Metriken ← **NÄCHSTER SCHRITT**
- [ ] Fähigkeiten pro Modell anzeigen (Text / Bild / Code) - [ ] Fähigkeiten pro Modell anzeigen (Text / Bild / Code)
- [ ] Tokens/Sek, Kontextgröße, Quant, Dateigröße auf Platte - [ ] Tokens/Sek, Kontextgröße, Quant, Dateigröße auf Platte
- [ ] Status pro Modell: geladen / idle / Ladezeit - [ ] Status pro Modell: geladen / idle / Ladezeit