Files
glpi-ai-agent/HOTFIX-GLPI-KB-SIMPLE-AUTO-REPLY.md
2026-08-05 19:13:45 +02:00

93 lines
3.2 KiB
Markdown

# Hotfix: vereinfachte GLPI-KB-Auto-Reply-Freigabe
## Ziel
Die Grundfreigabe eines GLPI-Wissensartikels ist vollständig von der fachlichen Eignungsprüfung getrennt.
## Neue Freigaberegel
### Artikel mit GLPI-Knowledge-Base-Kategorie
Ein Artikel ist grundsätzlich für Auto-Reply freigegeben, wenn mindestens eine seiner GLPI-KB-Kategorie-IDs in dieser Liste steht:
```env
GLPI_KB_AUTO_REPLY_CATEGORY_IDS=4,7
```
ITIL-/Ticketkategorien spielen für diese Grundfreigabe keine Rolle.
### Artikel ohne GLPI-Knowledge-Base-Kategorie
Ein unkategorisierter Artikel ist nur freigegeben, wenn beide Bedingungen erfüllt sind:
```env
GLPI_KB_AUTO_REPLY_ALLOW_UNCATEGORIZED=true
GLPI_KB_AUTO_REPLY_UNCATEGORIZED_ARTICLE_IDS=1,5
```
Die IDs sind die numerischen GLPI-`KnowbaseItem`-IDs. `GLPI-KB-1` entspricht Artikel-ID `1`.
## Veraltete Variable
```env
GLPI_KB_AUTO_REPLY_ITIL_CATEGORY_IDS=
```
Die Variable wird aus Kompatibilitätsgründen noch eingelesen, aber nicht mehr ausgewertet. Ist sie befüllt, schreibt der Agent eine Warnung ins Log. Der Wert sollte geleert oder die Variable entfernt werden.
## Fachliche Eignung bleibt separat
Nach der Grundfreigabe müssen weiterhin alle fachlichen und technischen Gates bestehen:
- Retrieval-Floor,
- KI-Auswahl,
- KI-Confidence,
- finale Knowledge-Evidenz,
- Sprache und Kommunikationsstil,
- Antwortinhalt,
- Kontext- und Incident-Regeln,
- vorhandene Followups,
- Dry-Run-/Live-Schreibregeln.
Soweit GLPI ein Mapping von KB-Kategorien auf ITIL-Kategorien liefert, wird es nur für die separate Prüfung **„Artikel passt zur effektiven Ticketkategorie“** und für Kategorie-Evidenz verwendet. Fehlt das Mapping oder ist der Kategorie-Endpunkt nicht erreichbar, läuft der KB-Sync weiter; die Freigabe über die KB-Kategorie bleibt gültig.
## Neue Diagnoseentscheidungen
- `glpi_kb_auto_reply_approved`: Freigabe über eine GLPI-KB-Kategorie.
- `glpi_kb_uncategorized_article_approved`: Freigabe eines unkategorisierten Artikels über seine konkrete Artikel-ID.
- `glpi_kb_category_not_whitelisted`: Keine Artikel-KB-Kategorie steht in der Allowlist.
- `glpi_kb_article_without_category`: Artikel ist unkategorisiert, aber der Fallback ist deaktiviert.
- `glpi_kb_uncategorized_article_not_whitelisted`: Unkategorisierter Artikel ist nicht explizit freigegeben.
- `glpi_kb_auto_reply_whitelist_empty`: Für kategorisierte Artikel ist keine KB-Kategorie freigegeben.
Die Policyentscheidung bei fehlender Grundfreigabe lautet jetzt:
```text
reply_knowledge_auto_reply_not_approved
```
## Cache-Migration
Der GLPI-KB-Cache enthält eine Policy-Version. Caches aus der vorherigen ITIL-basierten Freigabelogik werden aus Sicherheitsgründen nicht geladen. Beim nächsten erfolgreichen GLPI-KB-Sync wird `data/glpi-kb-cache.json` automatisch im neuen Format erstellt.
## Empfohlene Konfiguration
```env
AUTO_REPLY=true
KNOWLEDGE_ALLOWED_SOURCES=internal-kb,glpi-kb
KNOWLEDGE_AUTO_REPLY_SOURCES=internal-kb,glpi-kb
GLPI_KB_ENABLED=true
GLPI_KB_AUTO_REPLY=true
# Kategorisierte Artikel
GLPI_KB_AUTO_REPLY_CATEGORY_IDS=4,7
# Unkategorisierte Artikel
GLPI_KB_AUTO_REPLY_ALLOW_UNCATEGORIZED=true
GLPI_KB_AUTO_REPLY_UNCATEGORIZED_ARTICLE_IDS=1,5
# Veraltet; leer lassen
GLPI_KB_AUTO_REPLY_ITIL_CATEGORY_IDS=
```