Commit graph

  • 303372f0b9 docs: Admin-API (§7.1), Admin-Panel/Geräte-TTS/Presets + Verzeichnisstruktur nachziehen main Dieter Schlüter 2026-06-21 15:27:34 +02:00
  • b8b2bcddd3 ui(tts): "Im Gerät" ausgrauen statt ausblenden, wenn keine Sprachstimmen Dieter Schlüter 2026-06-21 01:51:37 +02:00
  • 53ec2d7ec7 ui: "Angemeldet als …" + "Abmelden" zurück in eine Leiste unter die Kopfzeile Dieter Schlüter 2026-06-21 01:28:21 +02:00
  • 7d30fe9e7c ui(tts): Ton-Presets — Schnell (piper), Hohe Qualität (chatterbox), Cloud (openrouter) zurück Dieter Schlüter 2026-06-21 01:10:51 +02:00
  • d39fc40e94 fix(tts): Geräte-TTS fällt auf Server-Audio zurück, wenn keine Stimmen vorhanden Dieter Schlüter 2026-06-21 01:02:03 +02:00
  • 7bac2952c5 polish(admin): Übersicht-Kacheln klickbar + Notfall-Signal, Notfall-Text umbricht Dieter Schlüter 2026-06-21 00:32:52 +02:00
  • 487c8aa3c1 feat(admin): Redesign — 5 Bereiche + Übersicht-Dashboard + Sub-Navigation Dieter Schlüter 2026-06-20 23:11:57 +02:00
  • 35fd3a5d15 fix(ui): Senden als runder Icon-Button (Fußzeile überlaufsicher) Dieter Schlüter 2026-06-20 23:04:35 +02:00
  • 3f6bf53a7f refactor(ui): Geräte-STT entfernt + Menü-Redesign (schlanke Kopfzeile + ⋮-Sheet) Dieter Schlüter 2026-06-20 22:26:20 +02:00
  • f74d2fadb2 fix(stt): iOS-Live-Vorschau wiederhergestellt + klare Server-Fallback-Meldung Dieter Schlüter 2026-06-20 21:28:39 +02:00
  • dc597bd77b fix(stt): processLocally-Feinschliff (Android-Bug "language not supported") + "Alles lokal" Dieter Schlüter 2026-06-20 20:32:17 +02:00
  • ab9c4f4938 feat(stt): Geräte-STT auf Mobilgeräten (Web Speech API) — getrennt, Datenschutz-Linie C Dieter Schlüter 2026-06-20 20:08:10 +02:00
  • 33d7189418 feat(admin): Audit-Logging schreibender Admin-Aktionen — Plan-Schritt 5 Dieter Schlüter 2026-06-20 18:50:55 +02:00
  • b2576fd465 feat(llm): Live-Parameter top_p + Live/Restart-Kennzeichnung — Plan-Schritt 4 Dieter Schlüter 2026-06-20 18:46:33 +02:00
  • 5b6f0f8ef2 feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3 Dieter Schlüter 2026-06-20 18:39:59 +02:00
  • 97ae0a5d34 feat(admin): LLM-/GPU-Status-Karte (read-only) — Plan-Schritt 2 Dieter Schlüter 2026-06-20 18:33:06 +02:00
  • bd20a308de feat(tts): Emojis/Markdown beim Vorlesen entfernen + Autostart/GPU-Doku Dieter Schlüter 2026-06-20 18:25:45 +02:00
  • 317ad2ff97 feat(llm): Make-Targets zum Wechseln des LLM-Backends (Ollama <-> llama.cpp) Dieter Schlüter 2026-06-20 15:56:42 +02:00
  • 878bf785dd feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes Dieter Schlüter 2026-06-20 13:12:04 +02:00
  • dc8ac80505 docs: § 6.5.4 Aussprache-Lexika vollständig dokumentiert (alle 8 Sprachen) Dieter Schlüter 2026-06-19 14:34:08 +02:00
  • 0074593002 feat(tts): Aussprache-Lexika für alle 8 Piper-Sprachen — Eigenname Dieter Schlüter Dieter Schlüter 2026-06-19 14:29:22 +02:00
  • 81d4cf6fd8 fix(llm): LLM antwortet jetzt in der konfigurierten Systemsprache Dieter Schlüter 2026-06-19 14:12:16 +02:00
  • c3f6206d0c feat(piper): beste Stimmen für 10 Sprachen installiert + low/medium aufgeräumt (v19) Dieter Schlüter 2026-06-19 13:41:03 +02:00
  • 389cd5a417 fix: fr_FR-siwis-medium installiert — Missing-phoneme-Warning behoben (v18) Dieter Schlüter 2026-06-19 13:23:42 +02:00
  • da561cec09 fix: de_DE-karlsson-low installiert — Dropdown + Doku aktualisiert (v17) Dieter Schlüter 2026-06-19 13:07:24 +02:00
  • b91be9b9fe fix: Piper-Stimmliste korrigieren — karlsson-low nicht installiert (v16) Dieter Schlüter 2026-06-19 13:04:49 +02:00
  • a54daecbc8 feat: make stop/start/restart + Doku servicefreundlicher Dieter Schlüter 2026-06-19 12:58:54 +02:00
  • 11ae66f5ae fix(admin): TTS-Test-Button nutzt jetzt richtigen Provider (v15) Dieter Schlüter 2026-06-19 12:39:14 +02:00
  • 4a4cbe643d feat(admin): Provider & Sprache — Eigener-Wert-Eingabe + Tests (v14) Dieter Schlüter 2026-06-19 12:30:52 +02:00
  • a892896d32 docs: Backend-Wechsel dokumentieren + Konzept-Datei Mobile TTS hinzufügen Dieter Schlüter 2026-06-19 12:12:29 +02:00
  • d9cb5ffc7e docs: Startup-Kommandos vollständig dokumentieren (llama.cpp, Ollama, Gateway) Dieter Schlüter 2026-06-19 11:59:04 +02:00
  • d8b861db26 feat(web): Einstellungen-Tab – typisierte Inputs, Gruppen, Test-Buttons (v13) Dieter Schlüter 2026-06-19 02:35:40 +02:00
  • 5d022aaf63 feat(admin): Phase 3 — Laufzeit-Konfiguration ohne Server-Neustart Dieter Schlüter 2026-06-19 01:39:36 +02:00
  • 296138ac1e fix(web): escHtml verarbeitet Zahlen korrekt, Status-Tab Fehlertext verbessert Dieter Schlüter 2026-06-19 01:33:49 +02:00
  • ea923ffc61 fix(auth): require_admin akzeptiert jetzt auch SSO-Admin-Nutzer Dieter Schlüter 2026-06-19 01:24:04 +02:00
  • 366d71ba26 feat(admin): Admin-Panel Phase 2 — Wörterbuch-CRUD, Live-Log, DB-Export, Metriken-Balken Dieter Schlüter 2026-06-19 01:15:28 +02:00
  • b38992cf28 feat(admin): vollständiges Admin-Panel in der Web-UI (Phase 1) Dieter Schlüter 2026-06-19 01:04:20 +02:00
  • 8e48ab6d66 fix(terminal): Barge-in funktioniert jetzt in beiden Phasen Dieter Schlüter 2026-06-19 00:39:00 +02:00
  • 613b18055b fix(barge-in): interrupted-Event schliesst WS -> busy-Reset + Button zurueck auf gruen Dieter Schlüter 2026-06-18 19:03:03 +02:00
  • 6d63b8d063 fix(stt): CUDA-OOM vermeiden + Fehlermeldung bei leerer Transkription verbessern Dieter Schlüter 2026-06-18 18:48:36 +02:00
  • 6693c0411c docs(barge-in): Bedienungsanleitung um Barge-in-Nutzerbedienung ergaenzen Dieter Schlüter 2026-06-18 18:44:53 +02:00
  • 0d907a1886 feat(barge-in): Unterbrechen der KI-Antwort per Mikrofon-Button und Enter Dieter Schlüter 2026-06-18 18:38:33 +02:00
  • 68b02f42a1 feat(users): SSO-Nutzer-Personalisierung + Admin-Endpunkte Dieter Schlüter 2026-06-18 17:55:05 +02:00
  • b76ec76c45 feat(admin): Token-Reset-Endpunkt + Doku-Klarstellung zu Token-Verwaltung Dieter Schlüter 2026-06-18 17:36:41 +02:00
  • 8ef982f297 docs: TOKEN-Herkunft in § 8 erklaeren Dieter Schlüter 2026-06-18 17:29:04 +02:00
  • 4970bdc85a feat(admin): DELETE /api/admin/users/{id} — Nutzer und alle Daten löschen Dieter Schlüter 2026-06-18 17:23:25 +02:00
  • 5b9b9bbdcf docs: Dokumentation vollständig überarbeitet und neu strukturiert Dieter Schlüter 2026-06-18 16:55:05 +02:00
  • 5e6d708038 docs: Betriebsprofile, Ollama, Web-UI und Startup-Hinweise dokumentieren Dieter Schlüter 2026-06-18 16:30:46 +02:00
  • fc75b3b07c docs: Lizenz auf proprietaer (alle Rechte vorbehalten) umstellen Dieter Schlüter 2026-06-18 11:03:15 +02:00
  • 9ec9fd4732 docs: MIT-Lizenz (LICENSE.md) hinzufuegen + README-Verweis Dieter Schlüter 2026-06-18 10:59:59 +02:00
  • d87ebdf457 fix(web): robuster Mikrofon-Pfad fuer iOS-Safari + mp4-Format Dieter Schlüter 2026-06-18 10:39:02 +02:00
  • 7ebba4e755 feat(web): Tailwind-Redesign-UI + Doku (Nachtrag zu 3470c0e) Dieter Schlüter 2026-06-18 10:20:24 +02:00
  • 3470c0e262 feat(web): Tailwind-Redesign, Tag/Nacht-Umschalter, Mobile-Fixes Dieter Schlüter 2026-06-18 10:19:34 +02:00
  • 56114309f5 docs(deploy): Chatterbox-TTS-Dienst (GPU-Pinning per UUID, no_playback) ergaenzen Dieter Schlüter 2026-06-18 09:58:15 +02:00
  • b7c59d8c85 feat(web): Stimmen-Umschalter (piper/chatterbox/cloud) in der UI Dieter Schlüter 2026-06-18 09:49:25 +02:00
  • 5f01607b79 feat(tts): Chatterbox-Provider (hohe Qualitaet + Voice-Cloning) anbinden Dieter Schlüter 2026-06-18 09:44:31 +02:00
  • 77026bff1b deploy: Gateway als systemd-User-Dienst (Vorlage + Anleitung) Dieter Schlüter 2026-06-18 09:09:23 +02:00
  • 6073ba1133 fix(web): Session-ID pro Nutzer statt globalem web-main Dieter Schlüter 2026-06-18 08:50:30 +02:00
  • 881a5ac2de feat(auth): Forward-Auth via JWT-Cookie (YunoHost yunohost.portal) Dieter Schlüter 2026-06-18 08:44:33 +02:00
  • 1899663308 docs: lokales TTS (piper in-process) + Start-Warm-up dokumentieren Dieter Schlüter 2026-06-18 08:32:05 +02:00
  • 111ecd8edf perf(startup): lokale Modelle beim Start vorladen (Warm-up) Dieter Schlüter 2026-06-18 08:27:37 +02:00
  • 7ca69e1049 perf(tts): piper in-process mit gecachtem Modell statt Subprozess pro Satz Dieter Schlüter 2026-06-18 08:22:04 +02:00
  • b3c8114469 fix(web): kein Caching der UI + versionierte Assets Dieter Schlüter 2026-06-18 07:49:55 +02:00
  • a62c49d6b1 fix(web): responsives Layout + zuverlaessiges Auto-Scrollen (mobil) Dieter Schlüter 2026-06-18 07:39:40 +02:00
  • 959f0ff8f8 docs: Subdomain assistent.linix.de -> va.linix.de umbenannt Dieter Schlüter 2026-06-18 05:35:16 +02:00
  • 887faa315e feat(admin): Header-Discovery per ?key= durchs SSO aufrufbar Dieter Schlüter 2026-06-18 05:19:41 +02:00
  • 434a154af2 docs: LAN-Zugriff auf die Web-UI dokumentieren (Firewall, IP, Mic-Caveat) Dieter Schlüter 2026-06-18 05:12:14 +02:00
  • d59afa4dd9 fix(llm): System-Nachrichten zu einer fuehrenden zusammenfuehren (Qwen3-Template) Dieter Schlüter 2026-06-18 04:45:21 +02:00
  • 76df695111 feat(web): Remote-Web-UI mit Mikrofon + Forward-Auth (YunoHost-SSO) Dieter Schlüter 2026-06-18 04:37:16 +02:00
  • 855fc71a1e feat(safety): zweistufige Notfall-Erkennung mit LLM-Klassifikation Dieter Schlüter 2026-06-18 03:24:25 +02:00
  • aa64ccf585 feat(memory): automatische Erinnerungs-Extraktion aus Gespraechen Dieter Schlüter 2026-06-18 03:15:08 +02:00
  • 28c729f1d4 feat(llm): lokales llama.cpp-Modell (va_llm) als zentrale, sprachoptimierte KI Dieter Schlüter 2026-06-18 02:57:57 +02:00
  • cd7aef852d docs: live verifizierte OpenRouter-TTS-Stimmen kennzeichnen (2026-06-18) Dieter Schlüter 2026-06-18 00:29:53 +02:00
  • 03892463a5 fix(tts): OpenRouter-TTS bei transient leerer/5xx-Antwort wiederholen Dieter Schlüter 2026-06-18 00:06:47 +02:00
  • 295f066b6a feat(voice_loop): per Default System-Standardgeraete + Probe gegen tote Geraete Dieter Schlüter 2026-06-17 23:54:45 +02:00
  • 9d0019274a feat(voice_loop): --voice-Option + saubere Default-Stimme je TTS-Provider Dieter Schlüter 2026-06-17 23:42:23 +02:00
  • a40ae75c5f docs: Cloud-TTS-Stimmen (OpenRouter) dokumentieren + Umstellen Dieter Schlüter 2026-06-17 23:36:13 +02:00
  • d4de9ba5b0 docs: installierte Piper-Stimmen auflisten + download-Hinweis korrigieren Dieter Schlüter 2026-06-17 23:31:58 +02:00
  • bef02a663a docs: Aussprache-Pipeline aktualisieren (Normalizer/Chunker/Lexikon, piper echt) Dieter Schlüter 2026-06-17 23:28:52 +02:00
  • 37b14773f2 feat(tools): scripts/add_pronunciation.py zum bequemen Pflegen des Aussprache-Lexikons Dieter Schlüter 2026-06-17 23:25:49 +02:00
  • 449a62a88e feat(tts): Aussprache-Lexikon befüllt (verifizierte Vokallängen-Fixes) + case-insensitiv Dieter Schlüter 2026-06-17 23:19:17 +02:00
  • c9d8552ec7 feat(tts): Aussprache-Normalisierung vor Piper (Ordinalia/Einheiten/Abk./Lexikon) Dieter Schlüter 2026-06-17 23:01:41 +02:00
  • cca423dac3 feat(tts): echtes lokales TTS via piper (kein Stub mehr) Dieter Schlüter 2026-06-17 22:11:20 +02:00
  • 84d6ac6e7b fix(voice_loop): 1011-Keepalive-Timeout bei langen Antworten beheben Dieter Schlüter 2026-06-17 21:46:19 +02:00
  • ece64711a5 docs: OS-Audio-Geräte wechseln (GUI/Bluetooth/ReSpeaker) in Teil B2 Dieter Schlüter 2026-06-17 18:30:56 +02:00
  • 67d807cbcc docs: Hybrid-Konstellation + Kostenvergleich (vs. all-cloud Ideal) Dieter Schlüter 2026-06-17 18:08:58 +02:00
  • 7c1f00662c feat: Audio-Streaming als Default (Admin abschaltbar via AUDIO_STREAM_DEFAULT) Dieter Schlüter 2026-06-17 18:07:36 +02:00
  • 5296459b07 feat(voice_loop): --stream-text (Antworttext live am Monitor) Dieter Schlüter 2026-06-17 17:47:11 +02:00
  • 2e6f2efef6 docs: Sprech-Loop-Streaming aktualisieren (--stream-audio, /ws/voice-Optionen) Dieter Schlüter 2026-06-17 17:43:22 +02:00
  • 2d288be630 fix(ws/voice): start-Frame-Optionen (Provider, audio_stream, language) ehren Dieter Schlüter 2026-06-17 17:32:12 +02:00
  • ced63bac4c feat(voice_loop): --stream-audio (satzweises Vorlesen waehrend der Generierung) Dieter Schlüter 2026-06-17 17:16:05 +02:00
  • 70c7e2ec0c docs: Top-Konstellation (all-cloud OpenRouter) reproduzierbar + grobe Kosten Dieter Schlüter 2026-06-17 16:10:00 +02:00
  • b75382e055 ux(voice_loop): Aufnahmedauer anzeigen + korrekt berechnen; Diagnose-Skript Dieter Schlüter 2026-06-17 15:53:51 +02:00
  • c25f081f9f feat(stt): echtes lokales STT via faster-whisper (optional .[local]) Dieter Schlüter 2026-06-17 11:28:20 +02:00
  • e1167951e1 ux(voice_loop): harmlose arecord-EINTR-Meldung beim Stoppen unterdruecken Dieter Schlüter 2026-06-17 11:08:08 +02:00
  • 4254475b73 fix(voice_loop): Keepalive-Timeout (1011) bei langer Aufnahme/Wiedergabe behoben Dieter Schlüter 2026-06-17 11:00:13 +02:00
  • 98706ef3ec docs+ux(voice_loop): klarer Hinweis auf ALSA-Direktgeraet bei Aufnahme-Fehler Dieter Schlüter 2026-06-17 10:44:48 +02:00
  • d15e51eb0d fix(voice_loop): PipeWire-Aufnahme (pw-record) als Standard via --recorder auto Dieter Schlüter 2026-06-17 10:37:49 +02:00
  • 7896f608fb docs: Bedienungsanleitung (Sprech-Loop, Einstellungen, Praxis-Tests) + voice_loop.py Dieter Schlüter 2026-06-17 10:31:35 +02:00
  • 7b1acd774d test: manuelles End-to-End-Smoke-Skript gegen OpenRouter (scripts/smoke_e2e.py) Dieter Schlüter 2026-06-17 09:49:04 +02:00