feat(cookbook): Elite-Lineup + MoE-Badge/Faehigkeit + Best-of-4

- Elite-Lineup-Rezept (5 Rollen: coder/manager/reviewer/vision/scout), MoE-orientiert -> wird automatisch 'Beste Wahl' (meiste Modelle, passt).

- MoE-Erkennung clientseitig aus Repo-Name (8xNB / -A3B / mixtral/moe); Chip 'MoE - ~XB aktiv' in Discover-/Such-Karten + Rezept-Detail.

- Faehigkeits-Chip (Bilder/Coden/Logik/Agenten/Allrounder) je Modell.

- Discover hebt je Kategorie das beste lauffaehige Modell hervor (recommended pro Kategorie: bester Fit, dann Downloads).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-06-22 17:24:56 +02:00
parent bc15e75e3e
commit 022c42dccb
3 changed files with 63 additions and 5 deletions
+5 -1
View File
@@ -433,7 +433,11 @@ def discover(force: bool = False):
ms = [{**m, "installed": _model_installed(m["repo"], idx),
"requirements": _model_requirements(m["role"], m.get("quant", "Q4_K_M"), m["fit"])}
for m in c["models"]]
out.append({**c, "models": ms})
# „Beste Wahl" je Kategorie: das lauffähige Modell mit dem besten Fit (perfect vor
# marginal), bei Gleichstand das meistgeladene. Zu große Modelle kommen nie in Frage.
ranked = sorted([m for m in ms if m["fit"]["level"] != "too_tight"],
key=lambda m: (_FIT_ORDER[m["fit"]["level"]], -int(m.get("downloads") or 0)))
out.append({**c, "models": ms, "recommended": ranked[0]["repo"] if ranked else None})
return {"updated": data["updated"], "categories": out,
"sys_ram_gb": round(ram_gb, 1), "stale": not fresh}