mirror of
https://github.com/Jeuners/Logpy-AgentOne.git
synced 2026-09-09 15:02:33 +02:00
feat: Branchen-Profile - Projekt fuer andere Einsatzzwecke konfigurierbar machen
Kategorien, Prompt und Notfall-Sicherheitsnetz waren fest auf eine Hausarztpraxis zugeschnitten (categorize.py: KATEGORIEN-Liste, _NOTFALL_MUSTER- Regex). Fuer einen anderen Einsatzzweck (z.B. 24h-Aufzug-Notdienst) musste bisher Python-Code geaendert werden. Neu: profile/<name>/ buendelt prompt.txt, kategorien.json, sicherheitsnetz.txt und ansage.txt - alles, was fachlich vom Einsatzzweck abhaengt, an einer Stelle. PROFIL in der .env waehlt den aktiven Ordner (Default "praxis", altes Verhalten bleibt exakt gleich - per Test verifiziert: identische Kategorien- Liste und Sicherheitsnetz-Muster). profile/aufzug-notdienst/ liegt als ausformuliertes Beispielprofil bei (eigene Kategorien, eigenes Sicherheitsnetz, eigene Ansage). Dringlichkeitsstufen (niedrig/normal/hoch/notfall) bleiben bewusst fest - nur die Kategorien sind einsatzzweck-spezifisch. Neues pipe/kategorien.py laedt das Profil-Schema einmal fuer categorize.py, dashboard.py, deck.py und server.py (Leitstand-JS: Kategorie-Label kommen jetzt vom Server statt fest im Frontend zu stehen). prompts/categorize_de.txt und telefon/ansage.txt sind nach profile/praxis/ umgezogen (git erkennt es als Rename). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EbdWYnDtyMgxsq4eN1WnrQ
This commit is contained in:
parent
d39b360b7b
commit
87621e5bec
17 changed files with 277 additions and 70 deletions
|
|
@ -16,12 +16,13 @@ import re
|
|||
import sys
|
||||
import time
|
||||
from datetime import datetime
|
||||
from functools import lru_cache
|
||||
from http.cookies import SimpleCookie
|
||||
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
|
||||
from pathlib import Path
|
||||
from urllib.parse import parse_qs, unquote, urlparse
|
||||
|
||||
from . import bewertung, config, dashboard, dienste, export, modellwahl, protokoll, stapel, testzugang
|
||||
from . import bewertung, config, dashboard, dienste, export, kategorien, modellwahl, protokoll, stapel, testzugang
|
||||
|
||||
|
||||
def anrufe() -> list[dict]:
|
||||
|
|
@ -237,7 +238,7 @@ class Handler(BaseHTTPRequestHandler):
|
|||
return
|
||||
pfad = unquote(urlparse(self.path).path)
|
||||
if pfad == "/":
|
||||
self._sende(SEITE.encode("utf-8"), "text/html; charset=utf-8")
|
||||
self._sende(_seite().encode("utf-8"), "text/html; charset=utf-8")
|
||||
elif pfad == "/api/status":
|
||||
daten = dienste.status()
|
||||
# Testzugang (per "agent-one test"-Link) -> Sicher-Modus im
|
||||
|
|
@ -601,8 +602,7 @@ color:var(--gut);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:
|
|||
</div>
|
||||
<script>
|
||||
const FARBE={notfall:'#d93a34',hoch:'#e08a2a',normal:'#c8a227',niedrig:'#1f9d5c'};
|
||||
const KAT={termin:'Termin',rezept:'Rezept',ueberweisung:'Überweisung',befund:'Befund',
|
||||
verwaltung:'Verwaltung',beschwerden:'Beschwerden',notfall:'Notfall',rueckruf:'Rückruf',sonstiges:'Sonstiges'};
|
||||
const KAT=__KAT_JSON__;
|
||||
const esc=s=>String(s??'').replace(/[&<>"]/g,c=>({'&':'&','<':'<','>':'>','"':'"'}[c]));
|
||||
let STAPEL=[], ANRUFE=[], offeneTranskripte=new Set(), pausiert=false;
|
||||
|
||||
|
|
@ -990,6 +990,17 @@ takt();setInterval(takt,3000);
|
|||
</script></body></html>"""
|
||||
|
||||
|
||||
@lru_cache(maxsize=1)
|
||||
def _seite() -> str:
|
||||
"""SEITE mit den Kategorie-Labels des aktiven Profils (pipe.kategorien).
|
||||
|
||||
Fest pro Prozesslauf (Profil wechselt nur per .env + Neustart, wie die
|
||||
Kategorien selbst) - deshalb einmalig gecacht statt bei jeder Anfrage neu
|
||||
zusammengesetzt.
|
||||
"""
|
||||
return SEITE.replace("__KAT_JSON__", json.dumps(kategorien.KATEGORIE_LABEL, ensure_ascii=False))
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
p = argparse.ArgumentParser(description="Live-Dashboard der Anruf-Pipe.")
|
||||
p.add_argument("--port", type=int, default=config.LEITSTAND_PORT)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue