From 6f14f62dd1fa4f0075a20981150ca832b1482f2b Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Fri, 21 Aug 2026 17:27:26 +0200 Subject: [PATCH] Persist Piper settings in restored OpenWebUI --- docs/ATHENA_REBUILD_LOG.md | 1 + docs/INSTALLATION.md | 2 ++ platform/openwebui/install-filters.sh | 17 ++++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/ATHENA_REBUILD_LOG.md b/docs/ATHENA_REBUILD_LOG.md index f177e05..10012c1 100644 --- a/docs/ATHENA_REBUILD_LOG.md +++ b/docs/ATHENA_REBUILD_LOG.md @@ -39,6 +39,7 @@ Chats oder privaten Nutzdaten. | Leistungsdaten | Benchmarkdaten sollten sichtbar sein, ohne private Chat-Inhalte zu protokollieren. | Ein globaler Abschlussfilter schreibt ausschließlich technische Zahlen in eine lokal rotierende JSONL-Datei und zeigt eine knappe Statuszeile. | | Antwortaktionen | Wiederkehrende Nachbearbeitungen sollten bewusst per Klick statt als permanenter Zusatzprompt laufen. | Eine versionierte globale Action bietet lokale Kurzfassung, Checkliste, Diagnose, Unsicherheits-/Quellenprüfung, Thinking-Verbesserung und Markdown-Kopie; keine Schreib- oder Profilwechselaktion. | | Sprachausgabe | Beim ersten Leerhostaufbau war kein TTS-Dienst Bestandteil des Compose-Stacks. | Piper `piper-tts` 1.6.0 läuft als eigener interner CPU-Container mit persistenter deutscher Stimme; Open WebUI nutzt ihn ausschließlich über den authentifizierten Router. | +| Persistente Audioeinstellungen | Die restaurierte OpenWebUI-Datenbank überstimmte Compose mit dem alten Modell `tts-1` und der Stimme `coral`; der Router antwortete deshalb mit HTTP 400. | Der OpenWebUI-Konfigurator setzt bei Installation und Restore gezielt Engine `openai`, Modell `piper`, Stimme `alloy` und die interne Router-URL. Andere Audio- oder Nutzereinstellungen bleiben unangetastet. | ## Abnahmezustand am 21. August 2026 diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index f647b8c..848441a 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -78,6 +78,8 @@ curl http://:8081/health Die TTS-Verbindung wird für eine frische Open-WebUI-Datenbank automatisch als OpenAI-kompatibler Audio-Endpunkt des Routers vorbelegt. Der Router reicht sie intern an Piper weiter; Port 8085 wird nicht am Host veröffentlicht. Ein +Restore setzt zusätzlich die vier persistenten Audiofelder gezielt neu, damit +alte Werte wie `tts-1` oder `coral` die Compose-Vorgaben nicht überstimmen. Ein Ende-zu-Ende-Test ohne Ausgabe des API-Schlüssels: ```bash diff --git a/platform/openwebui/install-filters.sh b/platform/openwebui/install-filters.sh index e8cf449..361b023 100755 --- a/platform/openwebui/install-filters.sh +++ b/platform/openwebui/install-filters.sh @@ -119,10 +119,25 @@ with con: """, ("task.follow_up.enable", "false", now), ) + for key, value in ( + ("audio.tts.engine", "openai"), + ("audio.tts.model", "piper"), + ("audio.tts.voice", "alloy"), + ("audio.tts.openai.api_base_url", "http://router:8081/v1"), + ): + con.execute( + """ + insert into config (key,value,updated_at) values (?,?,?) + on conflict(key) do update set + value=excluded.value, + updated_at=excluded.updated_at + """, + (key, json.dumps(value), now), + ) print( "OpenWebUI konfiguriert: Default Off=10, Thinking=20, " "Stability Guard=30, Secret Redaction=40, Local Metrics=90, " - "Quick Actions=100, Folgefragen=aus" + "Quick Actions=100, Folgefragen=aus, Piper-TTS=aktiv" ) PY