Sessions and memory

Speicherübersicht

OpenClaw merkt sich Dinge, indem es einfache Markdown-Dateien in den Arbeitsbereich Ihres Agenten schreibt (standardmäßig ~/.openclaw/workspace). Das Modell erinnert sich nur an Inhalte, die auf der Festplatte gespeichert werden; es gibt keinen verborgenen Zustand.

Funktionsweise

Ihr Agent verfügt über drei gedächtnisbezogene Dateien:

  • MEMORY.md — Langzeitgedächtnis. Dauerhafte Fakten, Präferenzen und Entscheidungen. Wird zu Beginn einer Sitzung geladen.
  • memory/YYYY-MM-DD.md (oder memory/YYYY-MM-DD-<slug>.md) — tägliche Notizen. Laufender Kontext und Beobachtungen. Die datierten Notizen von heute und gestern werden bei einem einfachen /new oder /reset automatisch geladen; Varianten mit Slug, beispielsweise solche, die vom mitgelieferten Sitzungsgedächtnis-Hook geschrieben werden, werden zusammen mit der Datei berücksichtigt, die nur das Datum enthält.
  • DREAMS.md (optional) — Traumtagebuch und Zusammenfassungen der Dreaming-Durchläufe zur menschlichen Überprüfung, einschließlich fundierter historischer Nachträge.

Welche Inhalte wohin gehören

MEMORY.md ist die kompakte, kuratierte Ebene: dauerhafte Fakten, Präferenzen, fortbestehende Entscheidungen und kurze Zusammenfassungen, die zu Beginn einer Sitzung verfügbar sein sollen. Sie ist weder ein Rohtranskript noch ein Tagesprotokoll oder ein vollständiges Archiv.

memory/YYYY-MM-DD.md-Dateien bilden die Arbeitsebene: ausführliche tägliche Notizen, Beobachtungen, Sitzungszusammenfassungen und Rohkontext, die später noch nützlich sein können. Sie werden für memory_search und memory_get indiziert, aber nicht bei jeder Interaktion in den Bootstrap-Prompt eingefügt.

Im Laufe der Zeit verdichtet der Agent nützliche Inhalte aus den täglichen Notizen in MEMORY.md und entfernt veraltete Langzeiteinträge. Generierte Arbeitsbereichsanweisungen und der Heartbeat-Ablauf erledigen dies regelmäßig; Sie müssen MEMORY.md nicht für jedes Detail manuell bearbeiten.

Wenn MEMORY.md das Budget für Bootstrap-Dateien überschreitet, lässt OpenClaw die Datei auf der Festplatte unverändert, kürzt jedoch die in den Kontext eingefügte Kopie. Betrachten Sie dies als Hinweis, ausführliche Inhalte nach memory/*.md zu verschieben, in MEMORY.md nur eine dauerhafte Zusammenfassung beizubehalten oder die Bootstrap-Grenzwerte zu erhöhen, wenn Sie mehr Prompt-Budget verwenden möchten. Verwenden Sie /context list, /context detail oder openclaw doctor, um die Rohgröße, die eingefügte Größe und den Kürzungsstatus anzuzeigen.

Aktionsrelevante Erinnerungen

Die meisten Erinnerungen sind gewöhnliche Markdown-Notizen. Einige beeinflussen, was der Agent später tun soll; halten Sie bei diesen nicht nur die Tatsache selbst fest, sondern auch, wann auf Grundlage der Notiz sicher gehandelt werden kann.

Erfassen Sie diese Handlungsgrenze, wenn eine Notiz Folgendes betrifft:

  • Genehmigungs- oder Berechtigungsanforderungen,
  • vorübergehende Einschränkungen,
  • Übergaben an eine andere Sitzung, einen anderen Thread oder eine andere Person,
  • Ablaufbedingungen,
  • den Zeitpunkt, ab dem sicher gehandelt werden kann,
  • die Autorität der Quelle oder des Verantwortlichen,
  • Anweisungen, eine naheliegende Handlung zu vermeiden.

Eine nützliche aktionsrelevante Erinnerung verdeutlicht:

  • was das zukünftige Verhalten ändert,
  • wann oder unter welcher Bedingung sie gilt,
  • wann sie abläuft oder wodurch eine Handlung freigegeben wird,
  • welche Handlung der Agent vermeiden soll,
  • wer die Quelle oder der Verantwortliche ist, falls dies Vertrauen oder Autorität beeinflusst.

Das Gedächtnis kann den Genehmigungskontext bewahren, setzt Richtlinien jedoch nicht durch. Verwenden Sie für verbindliche operative Kontrollen die Genehmigungseinstellungen von OpenClaw, Sandboxing und geplante Aufgaben.

Beispiel:

md
Die API-Migration wird in einer anderen Sitzung entworfen. ZukünftigeInteraktionen dürfen die API-Implementierung nicht aus diesem Thread herausbearbeiten; verwenden Sie die Erkenntnisse hier nur als Entwurfsgrundlage, bisder Migrationsplan umgesetzt ist.

Ein weiteres Beispiel:

md
Ein Bericht aus einer nicht vertrauenswürdigen Quelle muss vor der Übernahmegeprüft werden. Zukünftige Interaktionen dürfen ihn nur als Beleg behandeln;speichern Sie ihn erst dann als dauerhafte Erinnerung, wenn einevertrauenswürdige prüfende Person den Inhalt bestätigt hat.

Dies ist kein erforderliches Schema für jede Erinnerung; einfache Fakten können knapp bleiben. Verwenden Sie aktionsrelevante Grenzen, wenn der Verlust von Zeitpunkt, Autorität, Ablauf oder Kontext für sicheres Handeln dazu führen könnte, dass der Agent später falsch handelt.

Verwenden Sie Zusagen für abgeleitete, kurzlebige Folgeaktionen. Verwenden Sie geplante Aufgaben für genaue Erinnerungen, zeitgesteuerte Prüfungen und wiederkehrende Arbeiten. Das Gedächtnis kann den dauerhaften Kontext zu beiden Pfaden weiterhin zusammenfassen.

Abgeleitete Zusagen

Manche zukünftigen Folgeaktionen sind keine dauerhaften Fakten. Wenn Sie ein Vorstellungsgespräch am nächsten Tag erwähnen, könnte die nützliche Erinnerung „nach dem Vorstellungsgespräch nachfragen“ lauten, nicht „dies dauerhaft in MEMORY.md speichern“.

Zusagen sind optionale, kurzlebige Erinnerungen an Folgeaktionen für diesen Fall. OpenClaw leitet sie in einem verborgenen Hintergrunddurchlauf ab, beschränkt sie auf denselben Agenten und Kanal und liefert fällige Rückfragen über Heartbeat aus. Explizite Erinnerungen verwenden weiterhin geplante Aufgaben.

Gedächtniswerkzeuge

Der Agent verfügt über zwei Werkzeuge für die Arbeit mit dem Gedächtnis:

  • memory_search — findet relevante Notizen mithilfe semantischer Suche, selbst wenn die Formulierung vom Original abweicht.
  • memory_get — liest eine bestimmte Gedächtnisdatei oder einen Zeilenbereich.

Beide Werkzeuge werden vom aktiven Gedächtnis-Plugin bereitgestellt (standardmäßig memory-core).

Gedächtnissuche

Wenn ein Embedding-Provider konfiguriert ist, verwendet memory_search eine hybride Suche: Vektorähnlichkeit (semantische Bedeutung) kombiniert mit Schlüsselwortabgleich (exakte Begriffe wie IDs und Codesymbole). Dies funktioniert ohne weitere Einrichtung mit einem API-Schlüssel für jeden unterstützten Provider.

Unter Gedächtnissuche erfahren Sie, wie die Suche funktioniert und welche Optimierungsoptionen und Einrichtungsschritte für Provider verfügbar sind.

Gedächtnis-Backends

Wissens-Wiki-Ebene

Wenn sich das dauerhafte Gedächtnis eher wie eine gepflegte Wissensbasis als wie Rohnotizen verhalten soll, verwenden Sie das mitgelieferte Plugin memory-wiki. Es überführt dauerhaftes Wissen in einen Wiki-Tresor mit deterministischer Seitenstruktur, strukturierten Aussagen und Belegen, Nachverfolgung von Widersprüchen und Aktualität, generierten Übersichten, kompilierten Zusammenfassungen und Wiki-nativen Werkzeugen (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).

memory-wiki ersetzt das aktive Gedächtnis-Plugin nicht; das aktive Gedächtnis-Plugin bleibt für Abruf, Übernahme und Dreaming verantwortlich. memory-wiki ergänzt daneben eine wissensbasierte Ebene mit umfassenden Herkunftsnachweisen.

Automatische Gedächtnissicherung

Bevor Compaction Ihre Unterhaltung zusammenfasst, führt OpenClaw eine stille Interaktion aus, die den Agenten daran erinnert, wichtigen Kontext in Gedächtnisdateien zu speichern. Dies ist standardmäßig aktiviert; setzen Sie agents.defaults.compaction.memoryFlush.enabled: false, um es zu deaktivieren.

Um diesen Verwaltungsdurchlauf auf einem lokalen Modell auszuführen, legen Sie eine exakte Überschreibung fest, die ausschließlich für den Gedächtnissicherungsdurchlauf gilt (sie übernimmt nicht die Modell-Fallback-Kette der aktiven Sitzung):

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

Dreaming

Dreaming ist ein optionaler Konsolidierungsdurchlauf für das Gedächtnis im Hintergrund. Er sammelt kurzfristige Abrufsignale, bewertet Kandidaten und übernimmt nur qualifizierte Elemente in das Langzeitgedächtnis (MEMORY.md):

  • Optional: standardmäßig deaktiviert.
  • Geplant: Wenn aktiviert, verwaltet memory-core automatisch einen wiederkehrenden Cron-Auftrag für einen vollständigen Dreaming-Durchlauf.
  • Schwellenwertbasiert: Übernahmen müssen Schwellen für Bewertung, Abrufhäufigkeit und Abfragevielfalt passieren.
  • Überprüfbar: Phasenzusammenfassungen und Tagebucheinträge werden zur menschlichen Überprüfung in DREAMS.md geschrieben.

Unter Dreaming finden Sie Einzelheiten zum Phasenverhalten, zu Bewertungssignalen und zum Traumtagebuch.

Fundierter Nachtrag und direkte Übernahme

Das Dreaming-System verfügt über zwei zusammenhängende Prüfpfade:

  • Direktes Dreaming arbeitet mit dem kurzfristigen Dreaming-Speicher unter memory/.dreams/ und wird von der normalen tiefen Phase verwendet, um zu entscheiden, was in MEMORY.md übernommen wird.
  • Fundierter Nachtrag liest historische memory/YYYY-MM-DD.md-Notizen als eigenständige Tagesdateien und schreibt strukturierte Prüfergebnisse in DREAMS.md.

Der fundierte Nachtrag eignet sich dazu, ältere Notizen erneut zu verarbeiten und zu prüfen, welche Inhalte das System als dauerhaft betrachtet, ohne MEMORY.md manuell zu bearbeiten.

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

Das Flag --stage-short-term überführt fundierte dauerhafte Kandidaten in denselben kurzfristigen Dreaming-Speicher, den die normale tiefe Phase bereits verwendet; es übernimmt sie nicht direkt. Daher gilt:

  • DREAMS.md bleibt die Oberfläche zur menschlichen Überprüfung.
  • Der kurzfristige Speicher bleibt die maschinenorientierte Bewertungsoberfläche.
  • MEMORY.md wird weiterhin ausschließlich durch die tiefe Übernahme beschrieben.

So machen Sie eine erneute Verarbeitung rückgängig, ohne gewöhnliche Tagebucheinträge oder den normalen Abrufzustand zu verändern:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # Indexstatus und Provider prüfenopenclaw memory search "query"  # Über die Befehlszeile suchenopenclaw memory index --force   # Index neu erstellen

Weiterführende Informationen

Was this useful?
On this page

On this page