18ae28f918
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki: raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren Grenzen in Code durchgesetzt sind statt im Prompt. Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44 Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist. Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs. Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte. Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet - siehe NOTICE.
143 lines
5.2 KiB
Markdown
143 lines
5.2 KiB
Markdown
---
|
|
type: types/concept.md
|
|
concept_type: workflow
|
|
tags: [automation, events, triggers, workflow]
|
|
created: 2026-07-26
|
|
modified: 2026-08-29
|
|
related: [Event-Driven Automation, LLM Wiki Pattern]
|
|
sources: [Source - LLM Wiki v2]
|
|
confidence: 0.85
|
|
confidence_base: 0.85
|
|
provenance: sourced
|
|
summary: Mechanismus von Event-Listenern, der bei Wiki-Lebenszyklusereignissen wie Quellen-Ingest, Seitenänderung und Sitzungsende automatisch Aktionen auslöst.
|
|
---
|
|
# Hooks
|
|
|
|
**Typ:** Workflow (Event-Listener-Mechanismus)
|
|
|
|
## Definition
|
|
|
|
Hooks sind **Event-Listener**, die automatische Aktionen als Reaktion auf bestimmte Ereignisse im Lebenszyklus des Wiki auslösen. Sie sind der Implementierungsmechanismus für [[Event-Driven Automation]] und ermöglichen dem Wiki, automatisch auf Änderungen zu reagieren, ohne menschliche Eingriffe.
|
|
|
|
## Kernpunkte
|
|
|
|
### Der Mechanismus
|
|
|
|
Ein Hook besteht aus:
|
|
1. **Ereignis:** Die Auslöserbedingung (z.B. Datei erstellt, Sitzung beendet)
|
|
2. **Listener:** Code oder Logik, die das Ereignis erkennt
|
|
3. **Aktion:** Die automatische Reaktion auf das Ereignis
|
|
|
|
### Hook-Typen
|
|
|
|
| Hook-Typ | Auslöser | Typische Aktionen |
|
|
|-----------|---------|----------------|
|
|
| **Pre-Ingest** | Vor Quellenverarbeitung | Quelle validieren, auf Duplikate prüfen |
|
|
| **Post-Ingest** | Nach Quellenverarbeitung | Index aktualisieren, Operation protokollieren, Entitäten extrahieren |
|
|
| **Pre-Write** | Vor dem Schreiben ins Wiki | Inhalte validieren, auf Widersprüche prüfen |
|
|
| **Post-Write** | Nach dem Schreiben ins Wiki | Querverweise aktualisieren, Vertrauen neu berechnen |
|
|
| **Pre-Delete** | Vor dem Löschen aus Wiki | Inhalte archivieren, keine Abhängigkeiten überprüfen |
|
|
| **Post-Delete** | Nach dem Löschen aus Wiki | Index aktualisieren, Operation protokollieren, Referenzen bereinigen |
|
|
| **Pre-Query** | Vor Abfrageverarbeitung | Kontext laden, relevante Seiten identifizieren |
|
|
| **Post-Query** | Nach Abfrageverarbeitung | Antwort erfassen, falls wertvoll, Zugriffszeitstempel aktualisieren |
|
|
| **Session Start** | Benutzer/Agent startet Sitzung | Aktuellen Kontext laden, relevante Seiten anzeigen |
|
|
| **Session End** | Benutzer/Agent beendet Sitzung | Sitzung verdichten, Erkenntnisse erfassen, Kristallisierung auslösen |
|
|
| **Geplant** | Timer (täglich/wöchentlich/monatlich) | Lint ausführen, Vertrauen verfallen lassen, Tiers konsolidieren |
|
|
|
|
### Implementierungsansätze
|
|
|
|
**1. Dateisystem-Watcher**
|
|
- `raw/`-Verzeichnis auf neue Dateien überwachen
|
|
- Ingest auslösen, wenn neue Datei erkannt
|
|
- Vorteile: Einfach, funktioniert mit jedem Dateisystem
|
|
- Nachteile: Auf dateibasierte Ereignisse beschränkt
|
|
|
|
**2. API/Webhook-basiert**
|
|
- Wiki als Service mit Webhook-Endpunkten verfügbar machen
|
|
- Externe Systeme posten Ereignisse an Webhooks
|
|
- Vorteile: Flexibel, funktioniert mit externen Systemen
|
|
- Nachteile: Erfordert Service-Infrastruktur
|
|
|
|
**3. In-Process-Hooks**
|
|
- Hooks in LLM-Agent-Code integriert
|
|
- Auslösen bei internen Ereignissen (Speicherschreibvorgang, Sitzungsende, etc.)
|
|
- Vorteile: Vollständiger Zugriff auf internen Status, effizient
|
|
- Nachteile: Eng mit Agent-Implementierung gekoppelt
|
|
|
|
**4. Plugin-System**
|
|
- Ladbare Hook-Module
|
|
- Hooks hinzufügen/entfernen, ohne Core-Code zu ändern
|
|
- Vorteile: Erweiterbar, modular
|
|
- Nachteile: Komplexer zu implementieren
|
|
|
|
### Hook-Konfiguration
|
|
|
|
Beispielkonfiguration in `AGENTS.md`:
|
|
|
|
```yaml
|
|
hooks:
|
|
- event: on_new_source
|
|
action: auto_ingest
|
|
enabled: true
|
|
priority: high
|
|
|
|
- event: on_session_end
|
|
action: compress_and_file
|
|
enabled: true
|
|
priority: medium
|
|
threshold: 0.7 # Qualitätsschwelle für automatisches Erfassen
|
|
|
|
- event: on_schedule
|
|
action: run_lint
|
|
enabled: true
|
|
schedule: "0 2 * * *" # Täglich um 2 Uhr
|
|
|
|
- event: on_memory_write
|
|
action: check_contradictions
|
|
enabled: true
|
|
priority: high
|
|
```
|
|
|
|
### Fehlerbehandlung
|
|
|
|
Hooks sollten **robust** sein:
|
|
- Fehler sollten **protokolliert**, aber nicht die Hauptoperation blockieren
|
|
- Wiederholungslogik für vorübergehende Fehler
|
|
- Circuit Breaker für wiederholt fehlgeschlagene Hooks
|
|
- Manuelle Außerkraftsetzungsmöglichkeit
|
|
|
|
## Vorteile
|
|
|
|
- **Automatisierung:** Reduziert manuelle Wartungslast
|
|
- **Konsistenz:** Stellt sicher, dass Aktionen immer ausgeführt werden
|
|
- **Erweiterbarkeit:** Einfaches Hinzufügen neuer Verhaltensweisen
|
|
- **Entkopplung:** Trennt Auslöser von Aktionen
|
|
- **Nachverfolgbarkeit:** Hook-Ausführungen können protokolliert werden
|
|
|
|
## Wann zu verwenden
|
|
|
|
- Jedes Wiki mit [[Event-Driven Automation]]
|
|
- Wikis, in denen Wartungslast ein Anliegen ist
|
|
- Multi-Benutzer- oder Multi-Agent-Setups
|
|
- Produktions-Wikis
|
|
|
|
## Wann NICHT zu verwenden
|
|
|
|
- Kleine, einfache Wikis, wo manuell ausreicht
|
|
- Situationen, in denen Hook-Komplexität nicht gerechtfertigt ist
|
|
- Vollständig statische Wikis
|
|
|
|
## Verwandte Concepts
|
|
|
|
- [[Event-Driven Automation]] - Das Gesamtautomatisierungs-Framework
|
|
- [[LLM Wiki Pattern]] - Das übergeordnete Muster
|
|
- [[Memory Lifecycle]] - Was Hooks helfen zu verwalten
|
|
- [[Quality and Self-Correction]] - Qualitätsbezogene Hooks
|
|
|
|
## Siehe auch
|
|
|
|
- [[Supersession]] (ausgelöst durch Hooks)
|
|
- [[Consolidation Tiers]] (hochgestuft durch Hooks)
|
|
- [[Forgetting]] (angewandt durch Hooks)
|
|
- [[Confidence Scoring]] (aktualisiert durch Hooks)
|