Sessions & Speicher
Sessions
Wie Sessions funktionieren
Jedes Gespraech mit einem Agenten findet in einer Session statt. Sessions werden durch Schluessel identifiziert, die den Kontext kodieren -- welcher Agent, welcher Channel, welcher Chat.
Sessions fuehren ein vollstaendiges Transkript (Append-only JSONL) aller Nachrichten, Tool-Aufrufe und Ergebnisse. Dieses Transkript gibt Agenten den Kontext ueber das laufende Gespraech.
Session-Schluessel
Sessions werden automatisch basierend auf dem Kontext geroutet:
| Muster | Bedeutung |
|---|---|
agent:main:main |
Haupt-Direktkonversation |
agent:<id>:<channel>:group:<id> |
Gruppenchat auf einem bestimmten Channel |
agent:<id>:<channel>:channel:<id> |
Channel/Raum-Konversation |
cron:<jobId> |
Geplante Job-Ausfuehrung |
hook:<uuid> |
Webhook-ausgeloeste Ausfuehrung |
Session-Lebenszyklus
- Taeglicher Reset -- Sessions setzen sich automatisch zu einer konfigurierbaren Zeit zurueck (Standard 4 Uhr morgens lokal). Dies erstellt einen frischen Konversationskontext jeden Tag unter Beibehaltung des Verlaufs.
- Leerlauf-Ablauf -- Sessions, die fuer einen konfigurierbaren Zeitraum nicht aktiv waren, koennen sich automatisch zuruecksetzen.
- Manueller Reset -- Jederzeit mit einem
/new- oder/reset-Befehl neu beginnen.
Token-Verfolgung
Sessions verfolgen kumulativen Token-Verbrauch (Eingabe, Ausgabe, Cache Read, Cache Write) fuer Kostenueberwachung und Kontextfenster-Management.
Komprimierung
Was ist Komprimierung?
Wenn sich ein Gespraech dem Kontextfenster-Limit des Modells naehert, komprimiert Neotask es -- fasst aeltere Nachrichten in eine kompakte Uebersicht zusammen und startet eine neue Session mit dieser Zusammenfassung plus aktuellen Nachrichten.
Wie es funktioniert
- Erkennung -- Kontextverbrauch ueberwachen (Standard-Ausloeser: 80% des Kontextfensters)
- Zusammenfassung -- Aeltere Nachrichten werden in einen Komprimierungseintrag zusammengefasst
- Neue Session -- Eine frische Session startet mit der eingefuegten Zusammenfassung am Anfang
- Beibehaltung -- Alte Transkripte werden fuer den Verlauf aufbewahrt, aber nicht mehr in den Kontext geladen
Konfiguration
- Aktiviert/deaktiviert -- Auto-Komprimierung ein-/ausschalten
- Schwellenwert -- Prozentsatz des Kontextfensters, der die Komprimierung ausloest (Standard 80%)
- Mindestnachrichten -- Nicht komprimieren, wenn weniger als N Nachrichten vorhanden sind
Manuelle Komprimierung
Sie koennen die Komprimierung jederzeit manuell mit dem /compact-Befehl ausloesen. Dies ist nuetzlich, wenn Sie den Kontext zuruecksetzen moechten, ohne wichtige Informationen zu verlieren.
Speicher
Agenten-Speicher
Jeder Agent hat ein Speichersystem fuer das Persistieren wichtiger Informationen ueber Sessions hinweg:
- MEMORY.md -- Eine Markdown-Datei im Workspace des Agenten, in der wichtige Fakten, Praeferenzen und Kontext gespeichert werden
- Speicherverzeichnis -- Zusaetzliche Dateien in
memory/fuer strukturiertes Wissen
Vektorsuche
Neotask unterstuetzt Vektoraehnlichkeitssuche ueber den Agenten-Speicher:
- Indizierung -- Speicherdateien werden mittels Embeddings indiziert
- Suche -- Agenten durchsuchen den Speicher mit natuerlicher Sprache ("Was hat der Benutzer ueber seine API-Praeferenzen gesagt?")
- Abruf -- Relevante Erinnerungen werden nach Aehnlichkeit sortiert zurueckgegeben
Memory-Plugin (LanceDB)
Das LanceDB-Memory-Plugin bietet erweiterte Vektorspeicherung:
- Persistente Vektordatenbank
- Konfigurierbare Chunk-Groesse und Ueberlappung
- Effiziente Aehnlichkeitssuche
- Automatische Neuindizierung bei Aenderung von Speicherdateien
Automatischer Abruf
Zu Sessionbeginn koennen relevante Erinnerungen automatisch abgerufen und in den Kontext des Agenten injiziert werden. Dies gibt Agenten Kontinuitaet ueber Sessions hinweg, ohne komplette Konversationsverlaeufe laden zu muessen.
Session-Persistenz
Alle Session-Daten werden lokal gespeichert:
- Session-Metadaten --
sessions.jsonverfolgt aktive Sessions, letzte Aktivitaet, Token-Zaehler und Konfiguration - Transkripte -- Individuelle Session-Transkripte als
.jsonl-Dateien gespeichert - Wiederherstellung -- Sessions ueberstehen Gateway-Neustarts ohne Datenverlust
Bereinigung
- Sessions, auf die fuer einen konfigurierbaren Zeitraum nicht zugegriffen wurde (Standard 30 Tage), sind fuer die Bereinigung geeignet
- Manuelle Session-Verwaltung ist ueber die UI oder API verfuegbar
- Komprimierte Transkripte werden archiviert, koennen aber eingesehen werden