Commit graph

12 commits

Author SHA1 Message Date
55d07187bb fix(api): /api/chat 500 (NameError emergency) beheben + Version 0.3.7
Toter Verweis auf die in 3389f75 entfernte Auto-Notfallerkennung entfernt
(if emergency/X-Emergency-Header). /ws/chat war nicht betroffen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 02:54:28 +02:00
f1eec47b9b chore: Version 0.3.6 + CHANGELOG (Modell-Browser) + qwen3.5-35b-a3b eval-verifiziert
CHANGELOG-Eintrag fuer den Cloud-Modell-Browser (0.3.6); qwen/qwen3.5-35b-a3b
in EVAL_VERIFIED (Tool-Calling-Test bestanden).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 02:49:28 +02:00
9156962ee3 docs: CHANGELOG 0.3.5 + Version 0.3.5
Kostenerfassung vervollstaendigt (Filler-Uebersetzung exakt, OpenRouter-TTS
geschaetzt). Version 0.3.4 -> 0.3.5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 19:27:08 +02:00
77f0ec90b5 docs: CHANGELOG 0.3.4 + Version 0.3.4
Admin-Loeschfunktionen (pro Nutzer Statistik/Erinnerungen, Bulk alle
Nutzerdaten inkl. Notruf-Protokolle) und alphabetische Sortierung
(Nutzerliste + Statistik-Tabelle). Version 0.3.3 -> 0.3.4.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 19:13:05 +02:00
f83c04f3d6 docs: CHANGELOG 0.3.3 + Version 0.3.3
Einstellbare Tarife, local_llm_base_url live-setzbar, 15 weitere Filler,
Mitteilung bei "kein Treffer". Version 0.3.2 -> 0.3.3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 14:15:30 +02:00
363d0ab3c9 docs: CHANGELOG 0.3.2 (Pro-Nutzer-Kostenerfassung) + Version 0.3.2
Kostenerfassung (OpenRouter-Ist-Kosten + geschaetzte Quellen Strom/Cartesia/
Notruf), $-Tagesbudget und Statistik-Spalte "mit Websuche" dokumentiert.
Version 0.3.1 -> 0.3.2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:31:31 +02:00
d738921d25 docs: CHANGELOG 0.3.1 (Web-Such-Verwaltung pro Nutzer) + Version 0.3.1
Verlauf-loeschen, Pro-Nutzer-Web-Suche an/aus, Web-Such-Tagesbudget und
freundliche Hinweise dokumentiert. Version 0.3.0 -> 0.3.1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:32:56 +02:00
eea25455cb docs: Weg-2 (Web-Suche) dokumentiert + Version 0.3.0
Web-Such-/Tool-Calling-Funktion in der Doku nachgezogen: CHANGELOG (0.3.0),
README, CLAUDE.md (Querschnitt), Architektur-Doc (§6.1), Bedienungsanleitung
(§5.5 Nutzer/Admin) und DEPLOYMENT (Tool-Faehigkeit des Modells).
Version 0.2.0 -> 0.3.0 (pyproject.toml).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 08:11:40 +02:00
9eb5c31eb6 release(v0.2.0): Marke „Alexis" + sichtbare Versionsnummer
- Anzeigename Voice Assistant -> Alexis (UI-Titel/Kopfzeile mit Untertitel
  „Ihr Sprachbegleiter", FastAPI-Titel, README/Handbuch). Technische Identifier
  (Dienst, Pfade, Paketname, Konfig-/DB-Dateinamen) bleiben unveraendert.
- Version als EINE Quelle: pyproject.toml = 0.2.0; app.__version__ liest sie
  (pyproject zuerst, Paket-Metadaten als Fallback). Sichtbar in der UI-Kopfzeile,
  unter /api/config (version) und in OpenAPI.
- CHANGELOG.md mit 0.2.0-Eintrag; Tests fuer /api/config.version + Branding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 07:02:02 +02:00
Dieter Schlüter
7ca69e1049 perf(tts): piper in-process mit gecachtem Modell statt Subprozess pro Satz
Profiling zeigte ~2,2 s Fixkosten pro Satz durch Modell-Start (piper-Binary je
Aufruf). Der Provider nutzt jetzt die piper-Python-API: Stimmmodell wird einmal
geladen (lru_cache), Synthese laeuft im Thread. Resampling in-process (audioop,
numpy-Fallback fuer Py3.13) statt ffmpeg-Subprozess. Binary bleibt als Fallback.

Messung (lokales Setup): erster Ton 5,84 s -> 2,66 s, Turn-Ende 9,82 s -> 4,04 s.

- pyproject: piper-tts zum [local]-Extra
- Tests pruefen weiter den Binary-Fallback (erzwingen _PIPER_LIB=False)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 08:22:04 +02:00
Dieter Schlüter
c25f081f9f feat(stt): echtes lokales STT via faster-whisper (optional .[local])
- FasterWhisperProvider implementiert (CTranslate2): Modell prozessweit gecacht
  (lru_cache), Transkription in asyncio.to_thread; robuster CPU-Fallback wenn
  GPU/compute_type nicht verfuegbar
- Config: FASTER_WHISPER_MODEL/DEVICE/COMPUTE_TYPE (Defaults base/auto/default)
- pyproject: optionales Extra [local] = faster-whisper
- Test: transcribe-Endpunkt nutzt jetzt einen Stub-STT (kein Platzhalter mehr)
- Doku: Voraussetzungen, Hybrid-Beispiel (STT+LLM lokal, TTS remote), Architektur/README

Live verifiziert: TTS->WAV->faster-whisper transkribiert korrekt (de); voller Hybrid
ueber /ws/voice (faster-whisper + Ollama llama3.2 + OpenRouter-TTS) funktioniert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 11:28:20 +02:00
Dieter Schlüter
293ed257db 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>
2026-06-17 01:48:56 +02:00