🧠 Technischer Deep Dive · 2026

OpenClaw-Speicher erklärt: Architektur, Einrichtung und warum es vergisst

Eine vollständige technische Anleitung zu OpenClaw\

📅 Aktualisiert: April 2026⏱ 14-minütige Lektüre✍️ EasyClaw Editorial
  • X(Twitter) icon
  • Facebook icon
  • LinkedIn icon
  • Copy link icon

Warum OpenClaw Sie ständig vergisst (und warum es kein Fehler ist)

Die Erfahrung des Vergessens ist ein direktes Ergebnis der Gestaltung des Speichersystems von OpenClaw: Der Speicher befindet sich als einfache Markdown-Dateien auf der Festplatte, nicht in einer Datenbank, nicht im RAM, nicht innerhalb des Modells. Die Akten sind die Quelle der Wahrheit.

Wenn diese Dateien fehlen, falsch konfiguriert sind oder während der Komprimierung stillschweigend überschrieben werden, verliert der Agent den Kontext – und er hat keine Möglichkeit, Ihnen mitzuteilen, was passiert ist.

Die Lösung ist keine Einstellung, die Sie umdrehen. Es geht darum, die dreischichtige Architektur gut genug zu verstehen, um bewusste Entscheidungen darüber zu treffen, was wohin gehört.

Die vollständige OpenClaw-Speicherarchitektur (3 Schichten erklärt)

Der OpenClaw-Speicher arbeitet auf drei verschiedenen Ebenen mit jeweils unterschiedlichen Persistenzeigenschaften und Fehlermodi.

Vollständiger Speicherlebenszyklus:

Write → Embed/Index → Search → Compact → Recover
  ↓          ↓           ↓         ↓         ↓
.md file   sqlite-vec  semantic  summary   MEMORY.md
created    indexes it  query     replaces  re-read at
           on save     returns   context   session start
                       chunks    window

Jede Stufe in dieser Kette kann unabhängig voneinander scheitern. Die meisten Vergessensprobleme sind auf genau eine defekte Stufe zurückzuführen.

Ebene 1 – Das aktive Kontextfenster

Dies ist der Arbeitsspeicher des Modells: alles, was derzeit für die aktive Konversation in das Kontextfenster geladen wird. Dazu gehören Ihre Systemeingabeaufforderung, der Konversationsverlauf und alle vom Suchtool abgerufenen Speicherblöcke.

Was füllt es aus:

  • Systemaufforderung (oft groß)
  • Erinnerungsauszüge abgerufen
  • Verlauf der Werkzeugaufrufe
  • Das Gespräch dreht sich

Was passiert bei Überlauf: Wenn sich das Kontextfenster seinem Token-Limit nähert, löst OpenClaw eine Komprimierung aus – es fasst den vorhandenen Kontext in einer komprimierten Darstellung zusammen und fährt fort. Anweisungen, die in der Konversation integriert waren (und nicht in dauerhaften Speicherdateien angeheftet sind), werden in dieser Zusammenfassung häufig gelöscht.

Praktische Grenze: Gehen Sie davon aus, dass etwa 60–70 % des angekündigten Kontextfensters des Modells für die tatsächliche Konversation nach der Systemaufforderung und dem Speicheraufwand zur Verfügung stehen.

Ebene 2 – Tägliche Notizen (Das rollierende Zwei-Tage-Fenster)

Tägliche Notizen sind Markdown-Dateien, die nur angehängt werden können und im Format YYYY-MM-DD benannt sind und in Ihrem Verzeichnis memory/ gespeichert sind. OpenClaw wird geladen heute und gestern Dateien automatisch zu Beginn jeder Sitzung.

  • Hier werden Fakten über die heutige Arbeit, getroffene Entscheidungen und aktive Aufgaben angehängt
  • Sie sind nicht zum Bearbeiten gedacht – behandeln Sie sie als Protokoll
  • Nach zwei Tagen verlassen sie das automatische Ladefenster und können nur noch über die semantische Suche durchsucht werden

Das entscheidende Problem: OpenClaw erstellt das Verzeichnis memory/ nicht für Sie. Wenn das Verzeichnis nicht vorhanden ist, werden die täglichen Notizen stillschweigend gelöscht, es wird kein Fehler ausgegeben und der Agent vergisst alles zwischen den Sitzungen. Diese einzige Auslassung ist der Grund für die Mehrzahl der „Warum vergisst es mich ständig?“-Berichte.

Schicht 3 – Dauerhafter Speicher (MEMORY.md und Memory-Wiki)

Langfristige Fakten, die sitzungsübergreifend erhalten bleiben sollten – Ihr Name, Projektkontext, Codierungspräferenzen, Architekturentscheidungen – gehören in MEMORY.md oder den strukturierten Plugin-Tresor memory-wiki.

SPEICHER.md

Eine Freiform-Markdown-Datei. Der Agent liest es zu Beginn der Sitzung. Schreiben Sie hier Fakten, die immer geladen werden sollen. Einfach, keine Konfiguration erforderlich.

Speicher-Wiki

Ein strukturiertes Plugin mit Organisation auf Seitenebene, Anspruchs- und Beweisverfolgung, Widerspruchserkennung und Aktualitätsmetadaten. Am besten für Produktionsagenten mit großen, sich weiterentwickelnden Wissensdatenbanken geeignet.

Das Verdichtungsproblem – Warum Ihre Anweisungen mitten in der Aufgabe verschwinden

Komprimierung ist der am wenigsten dokumentierte Fehlermodus in OpenClaw. In den meisten Artikeln geht es um das Vergessen nach der Sitzung. Fast keine Adresse Komprimierung in der Mitte der Aufgabe in lang andauernden autonomen Arbeitsabläufen – Wenn der Agent eine mehrstufige Aufgabe ausführt, wird die Komprimierung lautlos bei Schritt 7 von 12 ausgelöst und die Verhaltensanweisungen aus Schritt 1 sind verschwunden.

Was bewirkt die Komprimierung:

  1. Erkennt, dass sich das Kontextfenster der Kapazität nähert
  2. Fasst das aktuelle Gespräch in einem komprimierten Block zusammen
  3. Ersetzt den ursprünglichen Kontext durch die Zusammenfassung
  4. Setzt die Ausführung fort

Das Problem: Zusammenfassungen sind auf Fakten und Aufgabenstatus ausgerichtet, nicht auf Verhaltensanweisungen. A system instruction like "always write tests before implementation" or "never overwrite files without confirmation" can survive the first compaction cycle and be gone by the second.

Wenn es ausgelöst wird: Im Standard-Plugin memory-core gibt es keinen konfigurierbaren Schwellenwert. Es wird basierend auf der Tokenanzahl ausgelöst, nicht auf der Aufgabenstufe. Bei einem 2-stündigen autonomen Lauf können Sie mit 3–5 Verdichtungszyklen rechnen.

So erstellen Sie eine komprimierungsresistente Dateiarchitektur

Verhaltensanweisungen in MEMORY.md anheften, nicht in der Konversation. Alles, was mehrere Komprimierungszyklen überstehen muss, muss in einer dauerhaften Datei gespeichert sein, die nach jeder Komprimierung erneut gelesen wird.

Empfohlenes Pinnmuster:


## Agent Behavioral Rules (always active)
- Never overwrite files without showing a diff first
- Write tests before implementation (TDD mode: on)
- Use TypeScript strict mode in all new files

## Project Context
- Stack: Node.js 22, Fastify, PostgreSQL 16
- Repo root: /home/user/project
- Active sprint goal: migrate auth to Clerk

Namenskonventionen, die die Komprimierung überleben:

  • Stellen Sie kritischen Abschnitten ## [PINNED] voran – die Zusammenfassung behandelt Kopfzeilen in Großbuchstaben mit hoher Priorität
  • Halten Sie jeden angehefteten Sachverhalt nach Möglichkeit in einer Zeile – dichte Absätze werden zusammengefasst, einzeilige Sachverhalte bleiben in der Regel wörtlich erhalten
  • Wiederholen Sie die 3–5 wichtigsten Verhaltensregeln sowohl in MEMORY.md als auch in der heutigen Tagesnotiz – Redundanz ist Ihre Verdichtungsabsicherung

Zero-to-Memory-Einrichtung in 10 Minuten (komplettes Dateigerüst)

Dies ist die Installationsanleitung, die es sonst nirgendwo gibt. Kopieren Sie diese Struktur, geben Sie Ihren Kontext ein und schon kann es losgehen.

Verzeichnisbaum:

memory/
├── MEMORY.md
├── 2026-04-27.md          ← today's daily note (create manually)
└── wiki/                  ← only if using memory-wiki plugin
    ├── index.md
    ├── project-context.md
    └── decisions.md

Starter MEMORY.md:

# Persistent Memory

## Identity & Preferences
- Name: [your name]
- Role: [your role]
- Preferred response style: concise, no preamble

## Project: [Project Name]
- Stack: [your stack]
- Key constraints: [e.g., no external APIs, TypeScript only]
- Current focus: [active task or sprint goal]

## Behavioral Rules
- [Rule 1]
- [Rule 2]

## Decisions Made
- [YYYY-MM-DD] Decided to use X because Y

Starter-Tagesnotiz (2026-04-27.md):

# 2026-04-27

## Session Goals
- [ ] Task 1
- [ ] Task 2

## Notes

Plugin-Slot-Konfiguration (2026-Syntax):

{
  "plugins": {
    "slots": {
      "memory": "memory-core"
    }
  }
}

So deaktivieren Sie den Speicher vollständig:

{
  "plugins": {
    "slots": {
      "memory": false
    }
  }
}

Überprüfungsschritte:

  1. Führen Sie eine Sitzung durch und bitten Sie den Agenten, sich an etwas zu erinnern, das Sie ihm in einer früheren Sitzung gesagt haben
  2. Überprüfen Sie, ob memory/YYYY-MM-DD.md geschrieben wurde (es sollte neuen Inhalt haben)
  3. Fragen Sie den Agenten direkt: „Was wissen Sie über mich?“ – es sollte von MEMORY.md abgerufen werden

Speicher-Wiki für eine Produktions-Wissensdatenbank konfigurieren

Aktivieren Sie es, indem Sie den Plugin-Slot tauschen:

{
  "plugins": {
    "slots": {
      "memory": "memory-wiki"
    }
  }
}

Memory-Wiki generiert einen strukturierten Tresor unter memory/wiki/. Jedes Thema bekommt eine eigene Seite. Das Plugin kompiliert einen digest.md, der hochzuverlässige, nicht widersprüchliche Fakten zusammenfasst, die der Agent beim Sitzungsstart laden kann.

Praktische Tresorstruktur für einen Produktionsagenten:

memory/wiki/
├── index.md              ← vault table of contents
├── digest.md             ← auto-generated; agent reads this
├── project-context.md    ← stack, goals, constraints
├── decisions.md          ← architectural decisions log
├── team.md               ← stakeholders, contacts
└── domain-knowledge.md   ← business rules, glossary

Verwenden Sie Memory-Wiki, wenn:

  • Ihre Wissensbasis umfasst mehr als 50 Fakten
  • Sie benötigen eine Widerspruchserkennung
  • Mehrere Agenten schreiben in denselben Tresor

Bleiben Sie bei raw MEMORY.md, wenn:

  • Sie sind ein Einzelentwickler
  • Ihr Kontext ist stabil
  • Sie möchten keinen Wartungsaufwand haben

Semantische Suche und Einbettungen – SQLite, sqlite-vec und der JS-Fallback

OpenClaw indiziert Ihre Speicherdateien mithilfe von SQLite mit der Erweiterung sqlite-vec für die Vektorähnlichkeitssuche. Wenn Sie oder der Agent eine Speichersuche durchführen, bettet er die Abfrage ein und ruft die semantisch relevantesten Blöcke ab.

Überprüfen Sie, ob Ihr Vektorspeicher fehlerfrei ist:

# Check that the memory index exists
ls memory/.index/

# Reset a corrupted index (safe to run — it rebuilds from .md files)
rm -rf memory/.index/ && OpenClaw reindex

Wenn sqlite-vec nicht verfügbar ist (häufig unter ARM Linux und einigen Windows-Konfigurationen), greift OpenClaw auf eine reine JS-Vektorerweiterung zurück. Erzwingen Sie den Fallback explizit:

{
  "memory": {
    "vectorBackend": "js"
  }
}

Segmentspezifische Gedächtnisstrategien

Solo-Entwickler – Minimaler Overhead, maximaler Rückruf

Empfohlenes Setup: memory-core Plugin, MEMORY.md + nur tägliche Notizen, kein Wiki-Tresor.

  • Halten Sie MEMORY.md unter 200 Zeilen – längere Dateien verlangsamen den Sitzungsstart
  • An tägliche Notizen aggressiv anhängen; Versuchen Sie nicht, sie sauber zu halten
  • Überprüfen und bereinigen Sie MEMORY.md wöchentlich – veraltete Fakten beeinträchtigen die Suchqualität

Multi-Agent-Pipeline – Gemeinsamer Speicher für alle Agenten

Wenn mehrere Agenten in dasselbe Verzeichnis memory/ lesen und schreiben, benötigen Sie explizite Eigentumsregeln.

  • Ein Agent ist für die Schreibvorgänge in jeder Datei verantwortlich – Gleichzeitige Schreibvorgänge in dieselbe Datei .md führen zu Konflikten
  • Verwenden Sie Unterverzeichnisse pro Agent: memory/agent-a/, memory/agent-b/, mit einem gemeinsamen memory/shared/MEMORY.md
  • Verwenden Sie Memory-Wiki für den gemeinsamen Tresor – seine Digest-Kompilierung verarbeitet die Aktualität über mehrere Autoren hinweg besser als Rohdateien

Autonome Aufgaben mit langer Laufzeit – stundenlange Ausführung überleben

Für Agenten, die Aufgaben ausführen, gemessen in Stunden:

  • Speicherschreibvorgänge an Prüfpunkten erzwingen – Weisen Sie den Agenten nach jeder größeren Aufgabenphase an, seinen aktuellen Status an die heutige Tagesnotiz anzuhängen
  • Verdichtungsresistenten Kontext vorladen – Fügen Sie die vollständige Aufgabenspezifikation vor Beginn der Ausführung in MEMORY.md ein, nicht nur in der ersten Nachricht
  • Setzen Sie explizite Fortsetzungsmarkierungen in täglichen Notizen: <!-- RESUME POINT: completed steps 1-4, next: step 5 -->, damit sich der Agent nach einem Verdichtungszyklus selbst orientieren kann

Warum EasyClaw bei lang andauernden Speicheraufgaben gewinnt

EasyClaw ist Desktop-nativ aufgebaut – das bedeutet, dass Ihre Speicherdateien, Vektorindizes und täglichen Notizen neben Ihrem Projekt auf der lokalen Festplatte gespeichert sind und nicht in einer Cloud-Sitzung, die den Kontext bei Zeitüberschreitung entfernt. Sie erhalten standardmäßig komprimierungsresistenten Speicher, nicht durch Konfiguration.

  • ✅ Persistenter Speicher, der Neustarts übersteht – keine Cloud-Sitzungsbeschränkungen
  • ✅ Lokale SQLite-VEC-Indizierung ohne Netzwerklatenz
  • ✅ Integriertes strukturiertes Speicher-Wiki – keine zusätzlichen Plugins zum Konfigurieren
  • ✅ Automatische Checkpoint-Schreibvorgänge in jeder wichtigen Aufgabenphase
  • ✅ Komprimierungsbewusstes Anheften – Verhaltensregeln werden nie zusammengefasst
Probieren Sie EasyClaw Free aus →

Fehlerbehebung beim OpenClaw-Speicher – Diagnostizieren Sie jedes Vergessensproblem in 2 Minuten

Gehen Sie diese Schritte der Reihe nach durch:

Schritt 1 – Existiert das Verzeichnis memory/?

  • NEIN → Erstellen Sie es. Dadurch werden etwa 40 % aller Vergessensmeldungen behoben.
  • Ja → Fahren Sie mit Schritt 2 fort.

Schritt 2 – Werden tägliche Notizen geschrieben?

  • Suchen Sie nach einer Datei mit dem Namen „heutiges Datum“ in memory/
  • Keine Datei → Der Plugin-Slot ist möglicherweise falsch konfiguriert. Stellen Sie sicher, dass plugins.slots.memory und nicht false festgelegt ist.
  • Datei existiert, ist aber leer → Der Agent lädt Speicher, schreibt aber nicht. Überprüfen Sie die Schreibberechtigungen für das Verzeichnis.

Schritt 3 – Hat die Verdichtung Ihre Anweisungen ausgelöst und entfernt?

  • Symptom: Der Agent erinnert sich an Fakten, ignoriert aber während der Sitzung Verhaltensregeln
  • Fix: Verschieben Sie alle Verhaltensregeln nach MEMORY.md unter einem Abschnitt ## [PINNED]

Schritt 4 – Läuft das Kontextfenster vor der Komprimierung über?

  • Symptom: Der Agent beginnt, frühere Teile langer Gespräche zu ignorieren
  • Fix: Reduzieren Sie die Größe der Systemeingabeaufforderung, kürzen Sie MEMORY.md oder teilen Sie die Aufgabe in kürzere Sitzungen mit expliziten Prüfpunktnotizen auf

Schritt 5 – Ist der SQLite-Vektorindex beschädigt?

  • Symptom: Die Speichersuche liefert keine Ergebnisse oder eindeutig irrelevante Ergebnisse
  • Fix: rm -rf memory/.index/ && OpenClaw reindex
  • Wenn SQLite-VEC-Fehler in Protokollen auftreten: Wechseln Sie über "vectorBackend": "js" zum JS-Backend.

Häufig gestellte Fragen

F: Warum vergisst OpenClaw alles, nachdem ich das Terminal schließe?

A: Die häufigste Ursache ist, dass das Verzeichnis memory/ nicht existiert. OpenClaw löscht stillschweigend tägliche Notizen, wenn das Verzeichnis fehlt – kein Fehler, keine Warnung. Erstellen Sie das Verzeichnis in Ihrem Projektstammverzeichnis und stellen Sie sicher, dass nach Ihrer nächsten Sitzung eine datierte Datei angezeigt wird.

F: Mein Agent befolgt die Anweisungen am Anfang, ignoriert sie aber später bei längeren Aufgaben. Warum?

A: Das ist Verdichtung. Wenn das Kontextfenster voll ist, fasst OpenClaw frühere Inhalte zusammen, um Platz zu schaffen. Zusammenfassungen bewahren Fakten, keine Verhaltensanweisungen. Verschieben Sie Ihre Regeln in MEMORY.md unter einem Abschnitt ## [PINNED], damit sie nach jedem Komprimierungszyklus erneut gelesen werden.

F: Sollte ich Memory-Core oder Memory-Wiki verwenden?

A: Beginnen Sie mit memory-core. Es ist konfigurationsfrei und bewältigt die meisten Arbeitslasten von Einzelentwicklern gut. Führen Sie ein Upgrade auf memory-wiki nur durch, wenn Ihre Wissensdatenbank mehr als 50 Fakten umfasst, Sie eine Widerspruchserkennung benötigen oder mehrere Agenten in denselben Speichertresor schreiben.

F: Mit wie vielen Verdichtungszyklen kann ich bei einem zweistündigen autonomen Lauf rechnen?

A: Rechnen Sie mit 3–5 Verdichtungszyklen. Der Schwellenwert basiert auf der Token-Anzahl, nicht auf der verstrichenen Zeit oder der Aufgabenstufe, und kann im Standard-Plugin memory-core nicht vom Benutzer konfiguriert werden. Aus diesem Grund ist ein verdichtungsbeständiges Pinning in MEMORY.md für lang andauernde Aufgaben unerlässlich.

F: Die Speichersuche liefert irrelevante Ergebnisse. Wie kann ich das Problem beheben?

A: Der SQLite-Vektorindex ist wahrscheinlich beschädigt oder veraltet. Führen Sie rm -rf memory/.index/ && OpenClaw reindex aus, um es aus Ihren .md-Dateien neu zu erstellen. Dies kann jederzeit sicher ausgeführt werden. Wenn weiterhin SQLite-Vec-Fehler auftreten (häufig bei ARM Linux und einigen Windows-Setups), wechseln Sie zum JS-Fallback-Backend.

F: Kann ich mehrere Agenten im selben Speicherverzeichnis ausführen?

A: Ja, aber Sie benötigen explizite Eigentumsregeln. Gleichzeitige Schreibvorgänge in dieselbe Datei .md führen zu Konflikten. Verwenden Sie Unterverzeichnisse pro Agent (memory/agent-a/, memory/agent-b/) mit einem gemeinsamen memory/shared/MEMORY.md und verwenden Sie Memory-Wiki für den gemeinsamen Tresor.

F: Wie lange bleiben Tagesnotizen im Fenster zum automatischen Laden?

A: Nur die Tagesnotizen von heute und gestern werden beim Sitzungsstart automatisch geladen. Ältere Notizen fallen außerhalb des Fensters zum automatischen Laden und sind nur über die semantische Suche zugänglich. Dies ist beabsichtigt – das Laden jeder historischen Notiz würde zu viel Kontextbudget verbrauchen.

Endgültiges Urteil – Das Speicher-Setup, das tatsächlich hängen bleibt

Empfohlene Basis für die meisten Benutzer: memory-core-Plugin, memory/-Verzeichnis, das vor der ersten Sitzung erstellt wurde, MEMORY.md mit Verhaltensregeln in einem klar gekennzeichneten, angehefteten Abschnitt, tägliche Notizen, die während jeder Sitzung angehängt werden.

Der einzige Fehler hinter 80 % der Vergessensprobleme: Das Verzeichnis memory/ wird nicht erstellt, kombiniert mit keinem verdichtungsresistenten Fixieren in MEMORY.md. Der Agent löscht den Kontext beim ersten Komprimierungszyklus und kann ihn nirgendwo zurückschreiben.

Ihre Aktions-Checkliste:

  • Erstellen Sie das Verzeichnis memory/ in Ihrem Projektstammverzeichnis
  • Kopieren Sie die obige Startervorlage MEMORY.md und geben Sie Ihren Kontext ein
  • Stellen Sie sicher, dass plugins.slots.memory auf "memory-core" (oder das von Ihnen gewählte Plugin) eingestellt ist.
  • Fügen Sie Ihre 3–5 kritischsten Verhaltensregeln unter ## [PINNED] in MEMORY.md hinzu.
  • Bestätigen Sie nach Ihrer ersten Sitzung, dass eine datierte Tagesnotiz geschrieben wurde
  • Wenn die semantische Suche nicht funktioniert, führen Sie OpenClaw reindex aus, um den Vektorindex neu zu erstellen

Die Architektur ist solide, wenn man sie erst einmal verstanden hat. Die meisten Vergessensprobleme lösen sich innerhalb von 10 Minuten nach Befolgen dieser Checkliste.