v6 Phase A: Dashboard & Toolbar

- '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>
This commit is contained in:
Hitonabi
2026-06-21 14:38:18 +02:00
parent b50323b521
commit d7a3253740
6 changed files with 76 additions and 11 deletions
+8 -5
View File
@@ -185,10 +185,8 @@ def _pick_gguf(repo: str, quant: str = "Q4_K_M") -> str | None:
return (pref or nosplit or ggufs)[0]
@router.get("/upgrades")
def upgrades():
"""Schlägt für installierte 'alte' Modelle ein aktuelleres vor (UPGRADES-Map)."""
ram_gb = psutil.virtual_memory().total / (1024 ** 3)
def compute_upgrades(ram_gb):
"""Liste relevanter Modell-Upgrades für die installierten Modelle (UPGRADES-Map)."""
installed = (read_config().get("models") or {})
out, seen = [], set()
for up in UPGRADES:
@@ -210,7 +208,12 @@ def upgrades():
"fit": evaluate_fit(up["params_b"], up["quant"], 8192, ram_gb),
"optimal_ctx": max_ctx_for(up["params_b"], up["quant"], ram_gb),
})
return {"upgrades": out}
return out
@router.get("/upgrades")
def upgrades():
return {"upgrades": compute_upgrades(psutil.virtual_memory().total / (1024 ** 3))}
@router.post("/install-model")