Logpy-AgentOne/pipe
Jeuner 5c9f891c7e perf: /api/anrufe und /api/verlauf cachen, Dringlichkeit-Farben zentralisiert
Audit auf Optimierungspotenzial ergab:
- /api/anrufe las bei jeder Anfrage ALLE meta.json unter ablage/ neu (auch
  bereits archivierte, erst danach rausgefiltert) - waechst mit der
  Gesamtzahl je empfangener Anrufe, jetzt von bis zu 3 Logins alle 3s
  parallel gepollt.
- /api/verlauf las bei jeder Anfrage bis zu 300 KB aus dem FreeSWITCH-Log
  und scannte 4000 Zeilen per Regex, ebenfalls ungecacht.
Beide bekommen jetzt einen kurzen 2s-Cache (gleiches Muster wie
dienste.status()). Maskierung bei Testzugang arbeitet jetzt auf einer Kopie
(dict(a) je Eintrag) statt die gecachten Objekte in-place zu veraendern -
sonst haetten maskierte Rufnummern in die naechste, nicht maskierte Antwort
durchsickern koennen.

Dringlichkeit-Farben (rot/orange/gruen/grau) und der Sortierrang standen in
drei Dateien dupliziert (dashboard.py, deck.py, server.py-JS) - bei der
letzten Farbaenderung mussten alle drei von Hand synchron gehalten werden.
Jetzt eine Quelle in pipe/kategorien.py (DRINGLICHKEIT_FARBE,
DRINGLICHKEIT_RANG - Rang aus DRINGLICHKEITEN abgeleitet statt separat
gepflegt), server.py injiziert die Farben serverseitig wie schon die
Kategorie-Labels.

Getestet: RANG/FARBE identisch zum alten Stand, /api/anrufe und /api/verlauf
liefern bei zwei Anfragen innerhalb 2s dasselbe (gecachte) Ergebnis, Maskierung
veraendert nachweislich nur die Kopie.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EbdWYnDtyMgxsq4eN1WnrQ
2026-08-28 19:14:21 +02:00
..
__init__.py Praxis-Telefon-Agent: Anrufannahme, Transkription, Triage — vollständig on-prem 2026-08-22 22:37:17 +02:00
alarm.py feat: Störungswache (pipe.monitor) + Verschlüsselung-at-rest dokumentiert 2026-08-28 16:47:45 +02:00
audit.py feat: Leitstand-Fixes, Sicher-Modus, Notfall-Alarm, Audit-Log + Loeschfristen 2026-08-24 19:13:09 +02:00
bewertung.py feat: Bewertungssystem (👍/👎) als Trainingsdaten-Export 2026-08-24 23:47:20 +02:00
categorize.py feat: Branchen-Profile - Projekt fuer andere Einsatzzwecke konfigurierbar machen 2026-08-28 17:07:29 +02:00
config.py feat: mehrere Leitstand-Zugaenge gleichzeitig (LEITSTAND_ZUGAENGE) 2026-08-28 18:10:31 +02:00
dashboard.py perf: /api/anrufe und /api/verlauf cachen, Dringlichkeit-Farben zentralisiert 2026-08-28 19:14:21 +02:00
deck.py perf: /api/anrufe und /api/verlauf cachen, Dringlichkeit-Farben zentralisiert 2026-08-28 19:14:21 +02:00
dienste.py feat: Störungswache (pipe.monitor) + Verschlüsselung-at-rest dokumentiert 2026-08-28 16:47:45 +02:00
export.py feat: Bewertungssystem (👍/👎) als Trainingsdaten-Export 2026-08-24 23:47:20 +02:00
kategorien.py perf: /api/anrufe und /api/verlauf cachen, Dringlichkeit-Farben zentralisiert 2026-08-28 19:14:21 +02:00
kontakte.py feat: Kontakt-Abgleich gegen Nextcloud-Adressbuch bei eingehenden Anrufen 2026-08-23 02:18:51 +02:00
loeschen.py docs+feat: Loeschung selbstgesteuert statt Cron, README auf aktuellen Stand 2026-08-24 19:32:31 +02:00
modellwahl.py feat: Modell-Dropdown listet lokale Ollama-Modelle live statt fest im Code 2026-08-28 16:53:45 +02:00
monitor.py feat: Störungswache (pipe.monitor) + Verschlüsselung-at-rest dokumentiert 2026-08-28 16:47:45 +02:00
process_call.py feat: Bewertungssystem (👍/👎) als Trainingsdaten-Export 2026-08-24 23:47:20 +02:00
protokoll.py feat: Log-Rotation fuer Rohlogs + Aufraeumen alter Verlauf-Archivkopien 2026-08-28 19:07:31 +02:00
resync.py feat: Kontakt-Abgleich gegen Nextcloud-Adressbuch bei eingehenden Anrufen 2026-08-23 02:18:51 +02:00
server.py perf: /api/anrufe und /api/verlauf cachen, Dringlichkeit-Farben zentralisiert 2026-08-28 19:14:21 +02:00
stapel.py feat: "Tag archivieren"-Button im Leitstand (simuliert) 2026-08-23 01:35:22 +02:00
store.py feat: Leitstand-Fixes, Sicher-Modus, Notfall-Alarm, Audit-Log + Loeschfristen 2026-08-24 19:13:09 +02:00
testzugang.py feat: signierte 1h-Testzugangslinks fuer den Leitstand ("agent-one test") 2026-08-25 01:33:46 +02:00
transcribe.py fix: bekannte Whisper-Halluzinationen filtern statt als Anliegen zu werten 2026-08-24 20:50:30 +02:00
watch.py feat: Log-Rotation fuer Rohlogs + Aufraeumen alter Verlauf-Archivkopien 2026-08-28 19:07:31 +02:00