Backend:
- hf_bin() + HF_DOWNLOAD_ENV zentral in config.py; install-recipe und
install-model in cookbook.py nutzten weiter das fehlende `hf` + falsches
XET-Env -> Haupt-Installationsweg war ebenso kaputt, jetzt konsistent gefixt
Frontend:
- Server: laufende Updates (LLM-Engine/OS) live auf der Server-Seite mitlesbar,
inkl. klarer Fertig-/Fehlgeschlagen-Meldung (onJobs + Aktueller-Vorgang-Karte)
- Cookbook/Profi-Modus: meistgeladenes, passendes Modell wird als
"★ Beste Wahl für dein System" hervorgehoben (analog zu den Templates)
- Verbinden: OpenCode korrekt per opencode.json (@ai-sdk/openai-compatible)
statt irrefuehrender Felder; erklaert "Connect to API"-Fehler (LAN-IP statt
localhost)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- write_config schreibt atomar (tmp + os.replace) -> llama-swap (-watch-config)
sieht nie eine halb geschriebene config.yaml; PermissionError wird in eine
klare Klartext-Meldung uebersetzt (Hinweis auf chown)
- generischer Exception-Handler: unerwartete Fehler kommen als lesbare JSON-
Meldung im UI an statt als nackter 500 (Anfaenger-Diagnose)
- Download: nutzt die `hf`-CLI aus dem venv (Dienst-PATH kennt venv/bin nicht)
+ HF_HUB_DISABLE_XET=1 statt HF_XET_HIGH_PERFORMANCE (XET-Haenger bei ~6 MB)
- huggingface_hub als Dependency ergaenzt (liefert `hf`)
- favicon.ico: themed SVG (Link-Tag + Route) -> kein 404 mehr
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /api/updates liefert zusaetzlich "engine" (llama.cpp-ROCm: neueste
GitHub-Release vs. /opt/llamacpp-mtime, 1h gecacht)
- Toolbar-Badges fuer OS/Engine/Modelle jetzt auch im "aktuell"-Zustand
sichtbar (gruener .ok-Style) statt nur bei ausstehenden Updates
- Guide: neuer Tutorial-Eintrag "Was passiert, wenn der Kontext volllaeuft?"
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 'Dein Stack' zeigt echtes Modell (Dateiname) hinter coder/scout/vision.
- Top-News-Karte auf der Uebersicht (neben Stack).
- Toolbar-Update-Badges: /api/updates (OS via apt-Cache + Modell-Upgrades),
klickbar -> Server bzw. News. compute_upgrades aus cookbook wiederverwendet.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- news.py: Git-Release-Feeds raus (b9745-Rauschen), Qualitaetsquellen rein
(HuggingFace, r/LocalLLaMA, Simon Willison, Latent Space, Ahead of AI, The Batch).
- cookbook.py: /upgrades (matcht installierte alte Modelle gegen UPGRADES-Map) +
/install-model (einzelnes Modell tauschen, GGUF dynamisch, optimaler ctx).
- news.js: 'Fuer dich: Upgrades'-Sektion oben (Modell X ersetzt dein Y, weil ... [Installieren]).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Swapping-Klartext + Spitzenbedarf (peak_ram) pro Modell: Modelle-Konfig + Cookbook-Setup-Modal
zeigen 'nur ein Modell gleichzeitig, groesstes zaehlt'. models.py: peak_ram_gb/_optimal in Meta.
- Kontextfenster: infoDot(ⓘ)-Helfer in ui.js + Tooltips an ctx-Feldern.
- Guides-Tab komplett neu = echter Anfaenger-Guide (LLM/GGUF/Quant/Kontext/Swapping/MCP/Skills/Agenten).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Neuer Self-Update-Button ("Mission Control aktualisieren"): POST /api/self-update
macht git pull (Quelle) -> rsync nach Prod -> systemctl restart (NOPASSWD).
Pfade aus config.py (SOURCE_DIR/PROD_DIR), nicht user-hartkodiert.
- "LLM-Engine aktualisieren" ehrlich (war MC, ist llama.cpp via MC_UPDATE_CMD).
- Guides: Kopier-Buttons fuer alle Configs + Codeblock (Copy-Paste-tauglich).
- Button-Audit: Funktionen/Labels in allen Panels geprueft, stimmig.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 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>