my_voice_assistant_v3_jamulix/CHANGELOG.md
dschlueter 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

79 lines
4.1 KiB
Markdown

# Changelog
Alle nennenswerten Änderungen an **Alexis**. Format lose nach [Keep a Changelog](https://keepachangelog.com/de/);
Versionierung nach [SemVer](https://semver.org/lang/de/) (prä-1.0: `0.x`).
## [0.3.1] — 2026-06-30
### Hinzugefügt
- **Admin: „Verlauf löschen" pro Nutzer** — löscht Sessions + Nachrichten eines
Nutzers, ohne Konto/Erinnerungen/Nutzungsdaten (Button + `DELETE
/api/admin/users/{id}/history`, audit-geloggt).
- **Web-Suche pro Nutzer ein-/ausschaltbar** (Admin-Checkbox). `web_search_enabled`
fehlte im `AdminUserPrefsUpdate`-Schema und wurde still verworfen — jetzt wirksam.
- **Web-Such-Budget pro Nutzer/Tag** (`web_search_daily_limit`, 0 = unbegrenzt;
Pref > global): Tageszähler (`web_search_usage`); ist das Kontingent aufgebraucht,
wird die Web-Suche für den Turn ausgesetzt. Admin-Eingabefeld.
- **Freundliche Hinweise:** Ist die Web-Suche bei einer klar tagesaktuellen Frage
nicht verfügbar (abgeschaltet oder Kontingent aufgebraucht), erscheint eine kleine,
lokalisierte System-Notiz in der Unterhaltung.
### Behoben
- Veraltete Dev-Datenbank (`data/voice-assistant.db`) entfernt; Produktiv-DB liegt
unter `/var/lib/voice-assistant/` (Doku-Klarstellung der Prod/Dev-Trennung).
## [0.3.0] — 2026-06-30
### Hinzugefügt
- **Web-Suche per Tool-Calling („Weg 2"):** Das zentrale Modell entscheidet selbst,
ob eine Frage tagesaktuelle Fakten braucht, holt sie über `perplexity/sonar` und
formuliert die Antwort in Persona (Vorrang fürs frische Faktum). Standard **an**,
pro Nutzer/Profil abschaltbar (`web_search_enabled`). **Quellen-Links** unter der
Antwort. Ausführliche Referenz: `Docs/weg2-tool-calling.md`.
- **Deterministischer Such-Backstop** für heikle Kategorien (aktuelle Amtsträger,
Wohnort lebender Personen, „lebt X noch", Öffnungszeiten/Fahrpläne): diese suchen
*immer* — auch auf einem tool-unfähigen Modell (Fakten als System-Kontext).
- **Beruhigungssätze während der Recherche:** zufällige, in die Zielsprache
übersetzte „Sie"-Sätze (sofort gesprochen — Server- *und* Geräte-TTS, sowie in der
Status-Zeile); bei langer Recherche Geduldssätze (Abstand ≥ 10 s). Eine Pflege-
Stelle (`app/pipeline/fillers.py`, Englisch).
- **Zentrale Datum-/Uhrzeit-Auskunft** (`app/core/clock.py`): in alle LLM-System-
Prompts injiziert → relative Zeitangaben („heute", „morgen", „nächsten Montag",
„in 3 Stunden") werden aufgelöst.
- **Koreferenz-Vorstufe** (Pronomen-Folgefragen) + Metriken `tool_calls_total`,
`sonar_calls_total`, `search_forced_total`, `tool_unsupported_total`.
### Geändert
- **Standard-LLM:** `mistralai/mistral-small-3.2-24b-instruct` (tool-fähig; im
Tool-Calling-Eval einziger Recall-Gate-Passer). Die frühere Baseline
`mistralai/mistral-small-24b-instruct-2501` kann **kein** Tool-Calling — nicht
mehr dorthin zurückstellen, solange die Web-Suche aktiv ist.
## [0.2.0] — 2026-06-27
### Geändert
- **Marke:** Produkt heißt jetzt **Alexis** (Anzeigename); technische Identifier
(Dienst, Pfade, Paketname, Konfig-/DB-Dateinamen) bleiben unverändert.
- Version wird im UI (Kopfzeile) und unter `/api/config` (`version`) angezeigt; eine
Quelle der Wahrheit ist `pyproject.toml`.
### Hinzugefügt
- **Aufgeräumtes Vorlese-Menü:** nicht nutzbare TTS-Provider werden ausgeblendet
(statt ausgegraut). Backend liefert die fertige Sichtbarkeit (`tts_menu`),
„Im Gerät" nur auf Mobilgeräten. `/api/config` wird serverseitig gecacht
(spart die zuvor pro Seitenladen ausgelöste, kostenpflichtige OpenRouter-Probe).
- **GPU-Erkennung:** Setting `GPUS` (`auto|none|"0,1,2"`), an `CUDA_VISIBLE_DEVICES`
gekoppelt; zentrale Erkennung in `app/capabilities.py`.
### Behoben
- **Stimm-Geschlechtswahl wirkt wieder:** `voice_gender` fehlte im `UserPrefs`-Schema
und wurde still verworfen → es kam immer die weibliche Stimme. Feld ergänzt
(+ Regressions-Test).
- **Geräte-TTS** folgt der Geschlechtswahl (Heuristik über Stimmname/voiceURI), sonst
Server-Fallback.
## [0.1.0]
- Erste interne Version: modulares Gateway (STT/LLM/TTS austauschbar), Profile,
Provider-Registries, Notruf-Eskalation, Auto-Erinnerungen, Admin-Panel,
Auth/SSO + Passwort-Login.