WikiGuide: Admin-Chat

Admin-Chat

Der Admin-Chat ist eine konversationelle Schnittstelle zur Verwaltung und Konfiguration von KIara. Statt Formulare auszufüllen und durch Menüs zu navigieren, können Administratoren Aufgaben in natürlicher Sprache beschreiben — das System führt sie aus.

Was ist der Admin-Chat?

Der Admin-Chat ist ein KI-gestützter Assistent, der speziell für die Administration von KIara entwickelt wurde. Er basiert auf einem ReAct-Agenten mit Tool-Use und hat Zugriff auf alle Admin-Funktionen des Systems. Im Gegensatz zum normalen Benutzer-Chat (der die Wissensbasis durchsucht) führt der Admin-Chat aktive Änderungen am System durch.

Der Admin-Chat läuft als eigener Service (kiara-admin-chat.service, Port 8503) und kommuniziert über Server-Sent Events (SSE) für Echtzeit-Streaming der Antworten. Er nutzt dasselbe LLM-Backend wie der Benutzer-Chat, hat aber Zugriff auf eine erweiterte Tool-Registry mit über 100 administrativen Funktionen.

Zugang und Voraussetzungen

EigenschaftWert
Erreichbar überAdmin-UI (Port 8502), Tab „KIara"
BerechtigungNur Benutzer mit Admin-Rechten
LLM-BackendBenötigt ein konfiguriertes und erreichbares LLM (lokal oder Cloud)
Servicekiara-admin-chat.service muss aktiv sein
AuthentifizierungAdmin-Session-Cookie + CSRF-Header

Chat-Oberfläche

Layout

Die Chat-Oberfläche besteht aus zwei Bereichen:

  • Sidebar (links): Liste aller bisherigen Chats mit Titel, Datum und Nachrichtenzahl. Button „+ Neuer Chat" startet einen neuen Dialog. Die Sidebar ist ein-/ausklappbar.
  • Chat-Bereich (rechts): Nachrichtenverlauf, Eingabefeld und Backend-Auswahl.

Eingabe-Bereich

ElementBeschreibung
EingabefeldMehrzeiliges Textfeld für die Frage/Anweisung.
SendenSendet die Nachricht und startet den SSE-Stream.
AbbrechenNur während laufender Antwort sichtbar — bricht den Stream ab.
Backend-DropdownWahl des LLM-Backends: „Standard-Backend" (automatisch) oder ein spezifisches Backend.

Nachrichten-Typen

TypBeschreibung
BenutzerEigene Nachrichten (blaue Blase).
AssistentKIara-Antworten (graue Blase) mit optionalen Tool-Calls, Quellen und Usage-Stats.
BestätigungGelbe Blase bei destruktiven Aktionen — erwartet die Eingabe eines Bestätigungstextes.
WizardCheckliste mit gesammelten/fehlenden Parametern bei mehrstufigen Aktionen.
FehlerRote Fehlermeldung bei LLM- oder Tool-Fehlern.

Denk-Blöcke (Think)

Bei Modellen mit erweiterten Reasoning-Fähigkeiten (z.B. Anthropic Claude) zeigt der Chat optionale Denk-Blöcke an. Diese werden nicht in der Datenbank gespeichert und erscheinen nicht in der Chat-Historie — sie dienen nur der Transparenz während der laufenden Antwort.

Funktionsumfang

Der Admin-Chat kann alle Aufgaben ausführen, die auch über die Admin-UI möglich sind. Über 100 registrierte Admin-Funktionen in folgenden Kategorien:

KategorieBeispiel-FunktionenBeschreibung
Datenquellendatasource.list, datasource.create, datasource.deleteAnlegen, bearbeiten, löschen, Verbindungen testen, Berechtigungen zuweisen.
Jobsjobs.start, jobs.pause, jobs.cancelIndexierung starten, pausieren, abbrechen, Historie einsehen.
KI-Backendski.backends.create, ki.backends.testBackends anlegen, testen, Modelle wechseln, Cloud-Provider einrichten.
Systemsystem.health, system.metricsSystemstatus, Services neustarten, Integrität prüfen, Backup/Restore.
Benutzerusers.create, users.update, ldap.syncBenutzer verwalten, LDAP-Konfiguration, Gruppen synchronisieren.
Netzwerknetwork.ping, network.dns, network.portscanDiagnose-Tools ohne SSH-Zugang.
Compliancecompliance.audit, compliance.vvtAudit-Trail, Anonymisierungsstatistik (read-only).
Toolstools.connections.list, mcp.keys.createERP-Verbindungen, MCP-API-Keys, Workflows.
VektorDBvectordb.files, vectordb.delete_filesDateien löschen, Collections verwalten.

Confirmation-Flow

Destruktive Aktionen erfordern eine explizite Bestätigung. Der Agent zeigt einen Bestätigungsdialog mit einem Bestätigungstext, den der Admin exakt eintippen muss.

Ablauf

  1. Admin gibt Anweisung: „Lösche die Datenquelle Alte Dokumente"
  2. Agent erkennt: datasource.delete erfordert Bestätigung
  3. SSE sendet confirmation_required mit Bestätigungstext
  4. Frontend zeigt gelbe Bestätigungs-Blase mit Warnung und Bestätigungstext
  5. Admin tippt den exakten Text: datasource 7 loeschen
  6. System prüft: exakte Übereinstimmung (case-insensitiv)
  7. Funktion wird ausgeführt, Changelog-Eintrag erstellt

Regeln

  • Ablaufzeit: 30 Minuten. Danach wird die Bestätigung automatisch verworfen.
  • Abbrechen: Jede andere Eingabe (außer dem exakten Bestätigungstext) verwirft die Aktion.
  • Nur ein Pending: Pro Chat kann nur eine Bestätigung gleichzeitig offen sein.

Aktionen mit Bestätigung (Beispiele)

AktionBestätigungstext-Muster
Datenquelle löschendatasource {id} loeschen
Benutzer löschenbenutzer {id} loeschen
Job abbrechenjob {id} abbrechen
Backup wiederherstellenbackup {filename} restore
Collection leerencollection {name} loeschen
LDAP-Config löschenldap config loeschen

Wizard-System

Bei Funktionen mit mehreren Pflichtparametern sammelt der Wizard die Werte schrittweise ein. Der Admin muss nicht alle Parameter auf einmal angeben.

Ablauf

  1. Admin: „Erstelle einen neuen Benutzer"
  2. Agent ruft users.create auf — Pflichtfelder fehlen
  3. SSE sendet wizard_update mit Checkliste (erfasste, fehlende, optionale Felder)
  4. Admin: „Benutzername: jdoe, Passwort: Geheim123!"
  5. Agent erkennt Wizard-Kontext, ruft Funktion mit gesammelten Werten erneut auf
  6. Wizard abgeschlossen → Funktion wird ausgeführt

Regeln

  • Ein Wizard pro Chat: Es kann nur ein aktiver Wizard gleichzeitig existieren.
  • Kontext-Erkennung: Der Agent erkennt automatisch, dass ein Wizard läuft, und ordnet neue Eingaben den offenen Feldern zu.
  • Abbrechen: Der Wizard wird verworfen, wenn der Admin ein anderes Thema anspricht.

Setup-Modus

Wenn kein LLM-Backend konfiguriert ist (z.B. bei der Ersteinrichtung), schaltet der Admin-Chat in einen regelbasierten Setup-Modus. Hier ist kein LLM nötig — die Antworten werden statisch generiert.

Verfügbare Setup-Befehle

BefehlBeschreibung
cloud anthropicCloud-Backend mit Anthropic einrichten. Fragt nach API-Key.
cloud openaiCloud-Backend mit OpenAI einrichten. Fragt nach API-Key.
lokal <url>Lokales Ollama-Backend einrichten. Testet die URL und zeigt verfügbare Modelle.
abbrechen / zurückSetup-Schritt abbrechen.
helpVerfügbare Befehle anzeigen.
Tipp: API-Keys werden in der Chat-Historie als „(API-Key eingegeben)" maskiert gespeichert — sie sind nach der Eingabe nicht mehr sichtbar.

Backend-Auswahl

Über das Dropdown im Eingabebereich kann das LLM-Backend pro Nachricht gewechselt werden:

  • Standard-Backend: KIara wählt automatisch das aktive Backend mit der höchsten Priorität.
  • Spezifisches Backend: Alle konfigurierten und aktiven Backends (lokal + Cloud) stehen zur Auswahl.
Tipp: Für komplexe Fragen das Cloud-Backend wählen, für einfache Status-Abfragen reicht das lokale Modell. So lassen sich Kosten und Qualität pro Anfrage steuern.

Chat-Persistenz

ZeitpunktVerhalten
Tab öffnenDraft-Modus: Begrüßung wird angezeigt, aber kein DB-Eintrag erstellt.
Erste NachrichtLazy-Creation: Chat wird in der DB angelegt, Begrüßung + Nachricht + Antwort gespeichert.
Weitere NachrichtenJede Nachricht (User + Assistant) wird sofort in admin_chat_messages gespeichert.
Chat wechselnAlle Nachrichten des gewählten Chats werden aus der DB geladen.
Chat löschenChat + alle Nachrichten + Confirmations + Wizards werden kaskadierend gelöscht.

Historie im LLM-Kontext

  • Die letzten 20 Nachrichten werden als Kontext an das LLM übergeben.
  • Setup-Nachrichten werden gefiltert (nicht im LLM-Kontext).
  • Denk-Blöcke werden vor der DB-Speicherung entfernt (History-Leak-Prevention).

Beispiel-Dialoge

Datenquelle anlegen

Admin: Erstelle eine neue SMB-Datenquelle "Technik-Dokumente" mit Server
       fileserver.firma.local, Freigabe "Technik" und Benutzer svc-kiara-read.

KIara: Ich erstelle die Datenquelle mit den angegebenen Parametern.
       [Tool: datasource.create]
       Die Datenquelle "Technik-Dokumente" wurde erfolgreich angelegt (ID: 12).
       Soll ich die Verbindung testen?

System-Status prüfen

Admin: Wie ist der aktuelle Systemstatus?

KIara: [Tool: system.health]
       Systemstatus:
       - CPU: 23%, RAM: 4.2/16 GB
       - Services: alle 5 aktiv
       - Qdrant: erreichbar, 3 Collections, 45.230 Vektoren
       - Letzter Job: vor 2h, erfolgreich (DS "E-Mail Archiv")

Destruktive Aktion mit Bestätigung

Admin: Lösche Datenquelle 7.

KIara: Systembestätigung
       Datenquelle "Alte Dokumente" (ID: 7) enthält 12.450 Chunks.
       Das Löschen entfernt alle Daten aus allen 4 Schichten. Nicht umkehrbar.
       Tippen Sie zur Bestätigung: datasource 7 loeschen

Admin: datasource 7 loeschen

KIara: Datenquelle "Alte Dokumente" wurde gelöscht.
       12.450 Chunks aus Qdrant entfernt, File-Hashes bereinigt.

Netzwerk-Diagnose

Admin: Ist der Ollama-Server erreichbar?

KIara: [Tool: network.ping → 10.0.12.16]
       [Tool: network.http_check → http://10.0.12.16:11434]
       Der Ollama-Server (10.0.12.16) ist erreichbar:
       - Ping: 0.3ms
       - HTTP-Status: 200 OK
       - Latenz: 12ms

Tipps und Best Practices

  • Spezifisch formulieren: Je präziser die Anweisung, desto besser das Ergebnis. Statt „Erstelle eine Datenquelle" besser „Erstelle eine lokale Datenquelle mit Pfad /data/projekte".
  • Schritt für Schritt: Bei komplexen Aufgaben (z.B. Ersteinrichtung) die Schritte einzeln durchgehen, statt alles auf einmal zu verlangen.
  • Status prüfen: Nach Änderungen den Status abfragen, um das Ergebnis zu verifizieren.
  • Chat-Historie nutzen: Der Admin-Chat merkt sich den Kontext innerhalb einer Session. Bezugnahmen auf vorherige Aktionen sind möglich.
  • Backend wechseln: Für komplexe Fragen das Cloud-Backend wählen, für einfache Status-Abfragen reicht das lokale Modell.
  • Wizard nutzen: Bei Funktionen mit vielen Parametern nicht alles auf einmal angeben — der Wizard fragt die fehlenden Felder nach.

Fehlerbehebung

ProblemUrsacheLösung
Admin-Chat reagiert nicht Service nicht gestartet systemctl status kiara-admin-chat.service prüfen, ggf. systemctl restart kiara-admin-chat.service
„Kein LLM-Backend konfiguriert" Kein aktives LLM-Backend Im KI-Tab ein Backend anlegen und aktivieren, oder den Setup-Modus nutzen.
Tool-Aufruf schlägt fehl Fehlende Berechtigung oder Ziel-Service nicht erreichbar Fehlermeldung im Chat prüfen, ggf. Service neustarten.
Antwort sehr langsam LLM überlastet oder Cloud-Latenz System-Monitor prüfen, ggf. auf lokales LLM wechseln.
Bestätigung abgelaufen 30-Minuten-Timeout überschritten Anweisung erneut eingeben — der Agent erstellt eine neue Bestätigung.
Wizard hängt Agent erkennt Kontext nicht „Abbrechen" eingeben und die Anweisung neu formulieren.
SSE-Verbindung bricht ab Proxy-Timeout oder Netzwerkproblem Seite neu laden — der Chat-Verlauf ist in der DB gespeichert.