my_voice_assistant_v3/tests
Dieter Schlüter 76df695111 feat(web): Remote-Web-UI mit Mikrofon + Forward-Auth (YunoHost-SSO)
- Minimale Web-UI (app/web/, vanilla, same-origin -> kein CORS): Text-Prompt +
  Mikrofon-Button (Aufnahme im Browser -> /ws/voice -> Antwort wird vorgelesen),
  Token-Streaming, PCM-Wiedergabe, Identitaet/Logout/Admin im Menue
- Forward-/Trusted-Header-Auth (app/auth.py): Identitaet aus SSO-Header, nur von
  TRUSTED_PROXY_IPS akzeptiert; sonst Token/Anonymous-Fallback. Auto-Provisioning
  via store.get_or_create_user_by_external_id (+ external_id-Spalte/Migration)
- /api/me um is_admin + sso_logout_url erweitert; GET /api/admin/users (Liste) und
  GET /api/admin/request-headers (SSO-Header-Discovery), Admin-gated
- StaticFiles-Mount; Config: TRUSTED_AUTH_HEADER/_PROXY_IPS, ADMIN_USERS, SSO_LOGOUT_URL
- WS-Auth liest Identitaet aus dem Handshake-Header
- Deploy: nginx-Vorlage (WS-Upgrade!) + deploy/README.md (HTTPS/SSO/Firewall/Discovery)
- Tests: Forward-Auth (Provisioning, Admin-Flag, Proxy-IP-Trust, 401/403, Static)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 04:37:16 +02:00
..
conftest.py feat: Audio-Streaming als Default (Admin abschaltbar via AUDIO_STREAM_DEFAULT) 2026-06-17 18:07:36 +02:00
test_audio_router.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_auth.py feat(tts): echtes lokales TTS via piper (kein Stub mehr) 2026-06-17 22:11:20 +02:00
test_basic_layout.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_config_profiles.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_emergency_llm.py feat(safety): zweistufige Notfall-Erkennung mit LLM-Klassifikation 2026-06-18 03:24:25 +02:00
test_endpoints_e2e.py feat(tts): echtes lokales TTS via piper (kein Stub mehr) 2026-06-17 22:11:20 +02:00
test_forward_auth.py feat(web): Remote-Web-UI mit Mikrofon + Forward-Auth (YunoHost-SSO) 2026-06-18 04:37:16 +02:00
test_memory.py feat: Langzeit-Erinnerungen (#3b) und WebSocket-Streaming-Chat (#4, erster Increment) 2026-06-17 04:26:55 +02:00
test_memory_extraction.py feat(memory): automatische Erinnerungs-Extraktion aus Gespraechen 2026-06-18 03:15:08 +02:00
test_openrouter_tts.py fix(tts): OpenRouter-TTS bei transient leerer/5xx-Antwort wiederholen 2026-06-18 00:06:47 +02:00
test_piper_tts.py feat(tts): echtes lokales TTS via piper (kein Stub mehr) 2026-06-17 22:11:20 +02:00
test_quota_safety.py feat: Tageskontingent und Notfall-Eskalation (#6) 2026-06-17 05:29:30 +02:00
test_realtime.py feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau) 2026-06-17 05:06:58 +02:00
test_resilience.py feat: Resilienz (Fallback-Ketten) und Metriken (#5) 2026-06-17 05:19:07 +02:00
test_routing.py feat: Cloud-Fundament - Auth, Persistenz und Mandanten-Trennung 2026-06-17 02:14:25 +02:00
test_streaming.py feat(tts): Aussprache-Normalisierung vor Piper (Ordinalia/Einheiten/Abk./Lexikon) 2026-06-17 23:01:41 +02:00
test_tts_normalizer.py feat(tts): Aussprache-Lexikon befüllt (verifizierte Vokallängen-Fixes) + case-insensitiv 2026-06-17 23:19:17 +02:00
test_ws.py feat: Audio-Streaming als Default (Admin abschaltbar via AUDIO_STREAM_DEFAULT) 2026-06-17 18:07:36 +02:00