feat(llm): Modell-Download + HuggingFace-Katalog (Stage D)
Neue lokale GGUF-Modelle per Knopf auf eine Box laden — ohne Image-Rebuild.
- llm-adapter besitzt jetzt llama-swaps Config: generiert
/models/llama-swap.config.yaml aus Basis-Template (xtts/llama-swap/config.yaml)
+ persistenter Registry /models/aria_models.json. Neue RVS-Handler
llm_provision_model / llm_remove_model (targetInstance-gefiltert): Registry+
Config schreiben, llama-swap-Reload anstossen, neu announcen, Warmup (zieht das
GGUF via -hf, Fortschritt via service_status loading→ready). pyyaml ergaenzt.
- compose: llama-swap liest --config /models/llama-swap.config.yaml; llm-adapter
mountet ./models (rw) + ./llama-swap (ro Template).
- diagnostic/server.js: /shared/config/llm_catalog.json (kuratierte GGUF-Liste)
+ GET /api/llm-catalog + POST /api/llm-catalog/refresh (HuggingFace-API-Merge);
Actions llm_provision_model / llm_remove_model / llm_test; llm_provision_result
an Browser durchgereicht.
- diagnostic/index.html: "Modell-Katalog"-Card (HF-Refresh, Ziel-Box waehlen,
Laden, Verfuegbarkeit) + Test-Chat-Zeile ans lokale LLM (Antwort + Latenz).
Download nutzt llama-swaps vorhandenen -hf-Pfad (kein neuer Download-Code).
Reload ist der einzige Deploy-Verify-Punkt (llama-swap-Image); Fallback Box-up.
Deploy: diagnostic neu bauen (VM) + llm-Boxen neu bauen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>