feat(flux): HF-Token in Diagnostic statt .env

Passwort-Feld in der FLUX-Section, mit Show/Hide-Toggle und kurzem
Hinweis-Link zu den HuggingFace-Schritten (Lizenz-Agree + Token-Erzeugung).
Wert wird in voice_config.json persistiert und per config-Broadcast an
die flux-bridge gepusht; dort vor jedem from_pretrained als HF_TOKEN +
HUGGING_FACE_HUB_TOKEN env gesetzt.

HF_TOKEN aus .env.example + docker-compose.yml entfernt. Auch FLUX_MODEL
aus compose raus — Default-Modell kommt jetzt komplett aus Diagnostic.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-16 23:25:55 +02:00
parent 0407c5bc3c
commit afa96b1d44
6 changed files with 54 additions and 28 deletions
+7 -14
View File
@@ -10,23 +10,16 @@ RVS_TLS=true
RVS_TLS_FALLBACK=true
RVS_TOKEN=dein_token_hier
# HuggingFace-Token — NUR noetig wenn Du FLUX.1-dev nutzen willst.
# FLUX.1-dev ist auf HuggingFace 'gated' (= Du musst dort auf der
# Modell-Seite einmalig "Agree" klicken und beim Download wird Dein
# Login geprueft). Reine Lizenz-Sache — die Inference laeuft danach
# komplett lokal, kein Netz, keine Telemetrie.
# HuggingFace-Token + Default-Modell werden in ARIA Diagnostic verwaltet
# (Section "FLUX Bildgenerierung") und per RVS an die flux-bridge gepusht.
# Hier nichts noetig.
#
# Wenn Du nur FLUX.1-schnell nutzt (Apache-2.0, kein Gate), kannst Du
# das Feld leer lassen. Falls Du spaeter dev aktivierst:
# Token-Pflicht NUR fuer FLUX.1-dev (gated). Workflow falls Du dev nutzen
# willst:
# 1) https://huggingface.co/black-forest-labs/FLUX.1-dev → "Agree"
# 2) https://huggingface.co/settings/tokens → "Read"-Token erzeugen
# 3) Hier eintragen + docker compose restart flux-bridge
HF_TOKEN=
# Welches Modell beim Startup geladen wird, steuert ARIA selbst:
# Diagnostic > FLUX > Default-Modell. Solange dort nichts gewaehlt ist,
# laedt die flux-bridge erstmal nichts — sie wartet auf den ersten
# Render-Request oder einen Diagnostic-config-Broadcast.
# 3) Token in Diagnostic > FLUX Bildgenerierung > HuggingFace-Token
# FLUX.1-schnell (Apache-2.0) laeuft ohne Token.
# Offloading-Strategie (VRAM-Steuerung):
# model — Default. Komponentenweise CPU-Offload, gut fuer 12 GB Karten.
+13 -2
View File
@@ -509,8 +509,19 @@ async def run_loop(runner: FluxRunner) -> None:
await _flux_queue.put(payload)
elif mtype == "config":
# Diagnostic-Broadcast (oder aria-bridge nach Reconnect).
# Wir interessieren uns nur fuer fluxDefaultModel — die
# Keywords nutzt das Brain, nicht wir.
# HuggingFace-Token MUSS vor dem Modell-Swap gesetzt sein,
# weil FluxPipeline.from_pretrained den Token aus der env
# liest. Reihenfolge im selben Tick gewaehrleistet das.
if "huggingfaceToken" in payload:
tok = (payload.get("huggingfaceToken") or "").strip()
if tok:
os.environ["HF_TOKEN"] = tok
os.environ["HUGGING_FACE_HUB_TOKEN"] = tok
logger.info("[config] HF-Token gesetzt (len=%d)", len(tok))
else:
os.environ.pop("HF_TOKEN", None)
os.environ.pop("HUGGING_FACE_HUB_TOKEN", None)
logger.info("[config] HF-Token entfernt (leerer Wert)")
tag = (payload.get("fluxDefaultModel") or "").strip()
if tag:
asyncio.create_task(_apply_default_change(tag))
+6 -9
View File
@@ -19,16 +19,13 @@
services:
# ─── FLUX.1-dev Bildgenerierung (GPU) ─────────
# Empfaengt flux_request via RVS, rendert PNG mit FLUX.1-dev (12B Params)
# ─── FLUX Bildgenerierung (GPU) ─────────
# Empfaengt flux_request via RVS, rendert PNG mit FLUX (12B Params)
# und broadcastet flux_response mit base64-PNG zurueck. aria-bridge speichert
# die Datei nach /shared/uploads/ und ARIA referenziert sie via [FILE:]-Marker.
#
# Modell-Wahl per FLUX_MODEL:
# - black-forest-labs/FLUX.1-dev (Default, 28 Steps, non-commercial)
# - black-forest-labs/FLUX.1-schnell (4 Steps, Apache-2.0, schneller)
# HuggingFace-Token noetig fuer FLUX.1-dev — vorher `huggingface-cli login`
# oder HF_TOKEN in .env setzen, sonst 403 beim ersten Download.
# Modell-Wahl + HuggingFace-Token werden in ARIA Diagnostic eingestellt
# ("FLUX Bildgenerierung") und per RVS gepusht — hier nichts noetig.
flux-bridge:
build: .
container_name: aria-flux-bridge
@@ -45,13 +42,13 @@ services:
- RVS_TLS=${RVS_TLS:-true}
- RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true}
- RVS_TOKEN=${RVS_TOKEN}
- FLUX_MODEL=${FLUX_MODEL:-black-forest-labs/FLUX.1-dev}
# Hardware-Bootstrap (Diagnostic-Settings uebersteuern alles andere
# zur Laufzeit — diese envs sind nur Edge-Case-Fallbacks).
- FLUX_DEVICE=${FLUX_DEVICE:-cuda}
- FLUX_DTYPE=${FLUX_DTYPE:-bfloat16}
- FLUX_OFFLOAD=${FLUX_OFFLOAD:-model}
- FLUX_MAX_STEPS=${FLUX_MAX_STEPS:-50}
- FLUX_MAX_DIM=${FLUX_MAX_DIM:-1536}
- HF_TOKEN=${HF_TOKEN:-} # FLUX.1-dev braucht Login-Token
volumes:
- ./hf-cache:/root/.cache/huggingface # Bind-Mount. FLUX.1-dev ~24 GB on disk!
# Wenn flux auf der gleichen Maschine