Persist Piper settings in restored OpenWebUI

This commit is contained in:
Mikei386
2026-08-21 17:27:26 +02:00
parent a5cf11582a
commit 6f14f62dd1
3 changed files with 19 additions and 1 deletions
+1
View File
@@ -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
+2
View File
@@ -78,6 +78,8 @@ curl http://<WIREGUARD-IP>: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
+16 -1
View File
@@ -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