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:
commit
293ed257db
72 changed files with 2612 additions and 0 deletions
44
config/voice-assistant.example.toml
Normal file
44
config/voice-assistant.example.toml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# Zentrale Konfiguration des Voice-Assistant-Gateways.
|
||||
#
|
||||
# WICHTIG: Secrets (API-Keys) gehoeren NICHT in diese Datei -> ausschliesslich
|
||||
# ueber Umgebungsvariablen (z. B. OPENROUTER_API_KEY).
|
||||
#
|
||||
# Praezedenz (hoeher gewinnt):
|
||||
# eingebaute Defaults < diese TOML-Datei < ENV/.env < Session-Route < Request
|
||||
#
|
||||
# Aktives Profil waehlen via ENV: VA_PROFILE=local-dev | hybrid | cloud
|
||||
# Eigenen Pfad setzen via ENV: VA_CONFIG_FILE=/pfad/zu/voice-assistant.toml
|
||||
#
|
||||
# Diese Datei nach config/voice-assistant.toml kopieren und anpassen.
|
||||
|
||||
# Basiswerte, die fuer alle Profile gelten (von Profilen ueberschreibbar).
|
||||
[defaults]
|
||||
default_language = "de"
|
||||
default_input_endpoint = "local-default"
|
||||
default_output_endpoint = "local-default"
|
||||
|
||||
openrouter_stt_model = "openai/whisper-large-v3"
|
||||
openrouter_tts_model = "openai/gpt-4o-mini-tts"
|
||||
openrouter_tts_voice = "alloy"
|
||||
openrouter_llm_model = "openai/gpt-4.1-mini"
|
||||
|
||||
local_llm_base_url = "http://127.0.0.1:11434/v1"
|
||||
local_llm_model = "llama3.1"
|
||||
|
||||
# Reines lokales Setup (eigene Hardware/KI) - z. B. fuer Entwicklung/Offline-Test.
|
||||
[profiles.local-dev]
|
||||
default_stt_provider = "faster-whisper"
|
||||
default_llm_provider = "local-openai-compatible"
|
||||
default_tts_provider = "piper"
|
||||
|
||||
# Hybrid: STT/TTS remote, Haupt-LLM lokal.
|
||||
[profiles.hybrid]
|
||||
default_stt_provider = "openrouter"
|
||||
default_llm_provider = "local-openai-compatible"
|
||||
default_tts_provider = "openrouter"
|
||||
|
||||
# Voll-Cloud: alle KI-Module remote (Standard fuer den produktiven vHost-Betrieb).
|
||||
[profiles.cloud]
|
||||
default_stt_provider = "openrouter"
|
||||
default_llm_provider = "openrouter"
|
||||
default_tts_provider = "openrouter"
|
||||
Loading…
Add table
Add a link
Reference in a new issue