docs: Screenshot des Leitstands und Hinweis auf erfundene Daten

Der Screenshot zeigt das Board mit allen vier Spalten, dem Verlauf darüber und
den Dienste-Ampeln darunter. Die Anrufe darin sind erfunden — er wurde aus einem
eigens angelegten Beispieldatensatz erzeugt, nicht aus dem Betrieb, damit keine
echten Rufnummern ins Repository gelangen.

Dazu ein Hinweis in der README, dass alle Namen, Nummern und Anliegen im
Repository Platzhalter sind, "Praxis Musterhausen" eingeschlossen.

Außerdem: Der Pfad zum Log der Telefonanlage ist jetzt über FREESWITCH_LOG
konfigurierbar statt fest verdrahtet — nötig, um den Leitstand gegen einen
anderen Datenbestand laufen zu lassen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017V57oXiDLi4nSsyau5qaA2
This commit is contained in:
Jeuner 2026-08-22 22:55:29 +02:00
parent 1a1280e79d
commit 49e40c252b
4 changed files with 13 additions and 2 deletions

View file

@ -4,7 +4,14 @@ Nimmt Anrufe (Sprachnachrichten) einer Hausarztpraxis entgegen, **transkribiert*
sie lokal, **kategorisiert** das Anliegen und **legt** das Ergebnis strukturiert
ab (lokal und optional in Nextcloud).
**Vollständig on-prem** — keine Patientendaten verlassen den Mac.
**Vollständig on-prem** — keine Patientendaten verlassen den Rechner.
![Der Leitstand: Board mit Eingang, In Bearbeitung, Rückfragen und Erledigt, darüber der Verlauf, darunter die Dienste-Ampeln](docs/leitstand.png)
> **Hinweis:** Alle Namen, Rufnummern und Anliegen in diesem Repository sind
> erfunden — auch im Screenshot und in der Beispielkonfiguration. „Praxis
> Musterhausen" ist ein Platzhalter. Echte Zugangsdaten und Anrufdaten liegen
> außerhalb des Repositorys (`.env`, `ablage/`, `telefon/`).
## Stufen

BIN
docs/leitstand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

View file

@ -77,6 +77,10 @@ PROMPT_DATEI = WURZEL / "prompts" / os.environ.get(
ABLAGE_LOKAL = Path(os.environ.get("ABLAGE_LOKAL", str(WURZEL / "ablage")))
# --- Leitstand (Weboberfläche) ----------------------------------------------
# Log der Telefonanlage - der Leitstand liest daraus die Anruf-Ereignisse.
FREESWITCH_LOG = Path(os.environ.get(
"FREESWITCH_LOG", "/opt/homebrew/var/log/freeswitch/freeswitch.log"))
LEITSTAND_HOST = os.environ.get("LEITSTAND_HOST", "127.0.0.1")
LEITSTAND_PORT = int(os.environ.get("LEITSTAND_PORT", "8088"))
# Zugangsschutz. Pflicht, sobald der Leitstand nicht nur lokal erreichbar ist -

View file

@ -147,7 +147,7 @@ def anrufe() -> list[dict]:
return liste
FS_LOG = Path("/opt/homebrew/var/log/freeswitch/freeswitch.log")
FS_LOG = config.FREESWITCH_LOG
_ZEIT = re.compile(r"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}")
# Was im FreeSWITCH-Log für die Praxis interessant ist - und wie es heißen soll.