Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament

- FastAPI-Gateway mit REST-Endpunkten (chat/speak/transcribe/devices/sessions/config)
- Geschichtete Konfiguration mit Profilen (local-dev/hybrid/cloud) via TOML + ENV
- Registry-Pattern + einheitliche Route-Aufloesung (Default->Profil->ENV->Session->Request)
- Device Router (strikt, Singleton) und Output-Lifecycle im Orchestrator
- OpenRouter-Adapter (STT multipart/LLM/TTS) + lokale Provider-Stubs
- Regelbasierte Pipeline (Cleaner/Spoken-Adapter/TTS-Normalizer)
- 22 automatisierte Tests; Doku: README, BEDIENUNGSANLEITUNG, Architektur
- Secrets ausschliesslich ueber Umgebung; .env und lokale config gitignored

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-17 01:48:56 +02:00
commit 293ed257db
72 changed files with 2612 additions and 0 deletions

15
docker-compose.yml Normal file
View file

@ -0,0 +1,15 @@
services:
voice-assistant:
build: .
ports:
- "${PORT:-8080}:${PORT:-8080}"
env_file:
- .env
environment:
HOST: "${HOST:-0.0.0.0}"
PORT: "${PORT:-8080}"
# Secret aus der Shell-Umgebung durchreichen (nicht aus .env), z. B. export in ~/.bashrc
OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:?OPENROUTER_API_KEY ist nicht gesetzt}"
command: >
sh -c 'uvicorn app.main:app --host "$${HOST}" --port "$${PORT}"'
restart: unless-stopped