my_voice_assistant_v3/app
Dieter Schlüter 5b6f0f8ef2 feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3
- admin_llm: switch_backend() mit strikter Allowlist (backend ∈ {ollama,llamacpp},
  Modell gegen 'ollama list' + Format-Regex), detached (Self-Restart-sicher),
  niemals shell=True. restart_gateway_detached() für systemd-User-Dienst.
- switch-llm.sh: flock-Lock gegen parallele Backend-Wechsel (Exit 75).
- Endpunkte POST /api/admin/llm/backend (422 bei ungültig) und
  POST /api/admin/gateway/restart (require_admin).
- Status-Tab: Steuerung (Backend-Dropdown + Modell, Wechseln/Neustart) mit
  Poll bis das Gateway wieder antwortet; Hinweis auf systemd-Voraussetzung.
- Tests: Auth + Allowlist (Shell-Metazeichen/unbekanntes Modell -> 422). 165 grün.
- Doku §7.5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 18:39:59 +02:00
..
api feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3 2026-06-20 18:39:59 +02:00
audio feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau) 2026-06-17 05:06:58 +02:00
core feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
pipeline feat(tts): Emojis/Markdown beim Vorlesen entfernen + Autostart/GPU-Doku 2026-06-20 18:25:45 +02:00
providers feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
safety feat(safety): zweistufige Notfall-Erkennung mit LLM-Klassifikation 2026-06-18 03:24:25 +02:00
utils Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
web feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3 2026-06-20 18:39:59 +02:00
__init__.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
admin_llm.py feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3 2026-06-20 18:39:59 +02:00
auth.py fix(auth): require_admin akzeptiert jetzt auch SSO-Admin-Nutzer 2026-06-19 01:24:04 +02:00
config.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
dependencies.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
errors.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
main.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
metrics.py feat: Resilienz (Fallback-Ketten) und Metriken (#5) 2026-06-17 05:19:07 +02:00
quota.py feat(admin): Phase 3 — Laufzeit-Konfiguration ohne Server-Neustart 2026-06-19 01:39:36 +02:00
runtime_config.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
schemas.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
store.py feat(admin): Phase 3 — Laufzeit-Konfiguration ohne Server-Neustart 2026-06-19 01:39:36 +02:00