Die besten Automatisierungen von OpenClaw funktionieren nur, wenn vergangene Entscheidungen zugänglich bleiben. Die Dokumentation von OpenClaw ist eindeutig: Der Speicher ist einfach nur Markdown, das Agenten bewusst lesen und schreiben müssen. Dieser Leitfaden fasst die neuesten offiziellen Anleitungen zu Dateilayout, automatischen Speicher-Flushes, Vektorindizierung und dem neuen QMD-Backend zusammen, damit die openclaw memory management kein Rätselraten mehr ist.
TL;DR
- Der Speicher befindet sich in einfachem Markdown:
memory/YYYY-MM-DD.mdfür tägliche Protokolle undMEMORY.mdfür kuratierte Langzeitfakten. Agenten sollten beim Start den heutigen und gestrigen Tag lesen undMEMORY.mdnur in privaten Sitzungen öffnen. - Bevor die Kontextkomprimierung einsetzt, löst OpenClaw einen stillen Memory-Flush-Durchgang aus (Standard
softThresholdTokens = 4000,reserveTokensFloor = 20000), damit Agenten dauerhafte Notizen mitNO_REPLY-Rauschunterdrückung speichern können. - Die Vektor-Speichersuche wählt automatisch einen Embedding-Anbieter aus (
local → OpenAI → Gemini → Voyage → Mistral) und kann auf einen Fallback zurückgreifen, wenn API-Schlüssel fehlen; Sie können alles lokal halten durchmemorySearch.provider = "local"oder Ollama. - Für die anspruchsvolle Speicherung gibt es jetzt den QMD-Sidecar: OpenClaw kann einen Bun + node-llama-cpp-Prozess verwalten, Markdown plus optionale zusätzliche Pfade indizieren und auf den integrierten SQLite-Indexer zurückgreifen, wenn QMD nicht verfügbar ist.
- Betriebshygiene ist nach wie vor wichtig: Beschränken Sie die Speichersuche auf DM-Kontexte, überwachen Sie Flush-Protokolle über
openclaw statusund halten Sie Workspaces beschreibbar, damit die stille Hausmeisterarbeit ausgeführt werden kann.
Wie OpenClaw den Speicher tatsächlich ablegt
Das Speichermodell von OpenClaw ist bewusst einfach gehalten – alles ist Markdown innerhalb des Agenten-Workspace (standardmäßig ~/.openclaw/workspace).
- Täglicher Kontext (
memory/YYYY-MM-DD.md) ist nur zum Anhängen (append-only) und für rohe Transkripte, Zustände und To-dos gedacht. Lesen Sie zu Beginn jeder Sitzung den aktuellen und den vorherigen Tag, um die Kontinuität zu gewährleisten. - Kuratiertes Gedächtnis (
MEMORY.md) ist optional und sollte nur in privaten/Hauptsitzungen geöffnet werden, um das Durchsickern von Langzeitfakten in Gruppenkontexten zu vermeiden. - Die Dokumentation warnt ausdrücklich: Wenn jemand sagt „merk dir das“, vertrauen Sie nicht dem latenten Zustand des Modells – schreiben Sie es auf. Dies hält den Speicher über Neustarts und Komprimierungen hinweg konsistent.
Automatischer Memory-Flush vor der Komprimierung
OpenClaw überwacht die Token-Nutzung und fügt, wenn eine Sitzung den Komprimierungsschwellenwert erreicht, einen stillen Durchgang ein, damit der Agent dauerhafte Notizen auf die Festplatte schreiben kann, bevor eine Kürzung stattfindet.
- Gesteuert durch
agents.defaults.compaction.memoryFlush(standardmäßig aktiviert). - Standard-Schwellenwerte:
softThresholdTokens = 4000,reserveTokensFloor = 20000. WenncontextWindow - reserveTokensFloor - softThresholdTokensüberschritten wird, wird der Flush einmal pro Komprimierungszyklus ausgelöst. - Der Flush-Durchgang enthält sowohl eine System- als auch eine Benutzeraufforderung, die den Agenten anweist, in
memory/YYYY-MM-DD.mdzu schreiben und mitNO_REPLYzu antworten, wenn nichts gespeichert werden muss, sodass Benutzer die Hausmeisterarbeiten nie sehen. - Flushes erfordern, dass der Workspace beschreibbar ist; Sandboxing mit
workspaceAccess: "ro"überspringt das Ereignis. Überprüfen Sieopenclaw statusoder/status, wenn Sie vermuten, dass die Flushes nicht ausgeführt werden.
Vektor-Speichersuche und Anbieterauswahl
Das Speicher-Plugin von OpenClaw (standardmäßig memory-core) indiziert Markdown, damit Agenten einen semantischen Abruf durchführen können.
- Automatische Anbieterauswahl: Das Gateway versucht zuerst
local(falls ein lokaler Modellpfad existiert), dannopenai,gemini,voyageundmistral. Wenn keine Anmeldeinformationen aufgelöst werden können, bleibt die Speichersuche deaktiviert, bis sie konfiguriert wird. - Local-First-Optionen: Setzen Sie
memorySearch.provider = "local"oder"ollama", um gehostete APIs zu vermeiden. Der Ollama-Modus greift auf/api/embeddingsauf Ihrem eigenen Knoten zu; ein Platzhalter-API-Schlüssel erfüllt bei Bedarf die lokale Richtlinie. - Zusätzlicher Inhalt:
memorySearch.extraPathsermöglicht es Ihnen, Markdown (und mit Gemini Embedding 2 auch Bilder/Audio) außerhalb des standardmäßigenmemory/**/*.md-Baums einzubinden. - Bereichssteuerung: Ergebnisse der Speichersuche erscheinen nur in Sitzungen, die durch
memorySearch.scopeerlaubt sind. Der Standard ist nur für DMs; verweigern Sie Gruppenkanäle, es sei denn, Sie benötigen absichtlich einen gemeinsamen Abruf.
QMD-Sidecar für große Speicherarchive
Für Teams, die ein umfassenderes Ranking oder einen multimodalen Abruf benötigen, kann OpenClaw die Indizierung an QMD übergeben, einen Open-Source-Bun-Sidecar, der BM25 + Vektoren + Reranking kombiniert.
- Aktivieren Sie die Funktion mit
memory.backend = "qmd". OpenClaw verwaltet den Sidecar unter~/.openclaw/agents/<id>/qmd/, kümmert sich umqmd update/qmd embedund versucht es bei einem Fehlschlag von QMD erneut mit dem integrierten SQLite-Indexer. - Anforderungen: Installieren Sie die
qmd-CLI separat, stellen Sie sicher, dass Bun und ein SQLite-Build mit Erweiterungsunterstützung vorhanden sind (Homebrew sqlite funktioniert), und führen Sie es auf macOS/Linux oder WSL2 aus. - QMD-Sammlungen können
MEMORY.md,memory/**/*.md, zusätzliche Verzeichnisse und sogar bereinigte Sitzungstranskripte enthalten, wennmemory.qmd.sessions.enabled = trueist. - Suchen werden über
qmd search --json(Standard) ausgeführt, mit einem Fallback aufqmd query, wenn ein Build Flags ablehnt. Die erste Abfrage kann GGUF-Modelle herunterladen; OpenClaw setztXDG_CONFIG_HOME/XDG_CACHE_HOMEautomatisch, damit Caches agentenspezifisch bleiben.
Operator-Playbook
- Behandeln Sie Speicherdateien wie Code: Versionieren oder sichern Sie sie zusammen mit dem Arbeitsbereich, um sich von Festplattenproblemen erholen zu können.
- Überprüfen Sie stille Flushes: Aktivieren Sie den ausführlichen Modus oder beobachten Sie
openclaw status --all, damit Sie wissen, wann Komprimierungs- und Flush-Zyklen ausgelöst werden. - Halten Sie Embeddings erschwinglich: Wenn gehostete Embeddings zu teuer sind, pinnen Sie
memorySearch.provider = "local"oder verwenden Sie Ollama; die Dokumentation betont, dass Remote-Anbieter über ihre jeweiligen Schlüssel abrechnen. - Begrenzen Sie die Exposition: Verschärfen Sie
memorySearch.scope(Gruppenkanäle verweigern) und speichern Sie langfristige Notizen nur in privaten Sitzungen, um eine versehentliche Offenlegung zu verhindern. - Wärmen Sie QMD auf, falls aktiviert: Führen Sie nach Upgrades
qmd update && qmd embedin den XDG-Verzeichnissen des Agenten aus, damit die erste Live-Abfrage keine Automatisierung blockiert.
Fazit
Die neueste OpenClaw-Dokumentation macht die Speicherverwaltung unkompliziert: Halten Sie Markdown-Dateien sauber, lassen Sie den automatischen Flush vor der Komprimierung auslösen, konfigurieren Sie die Vektorsuche mit expliziten Anbietern und steigen Sie auf QMD um, wenn Sie einen reichhaltigeren Abruf benötigen. Mit diesen Steuerelementen behalten langlebige Agenten ihren Kontext, ohne Geheimnisse preiszugeben oder Embedding-Budgets zu erschöpfen.
Ihr KI-Rezeptionist ist in Minuten live.
Skalieren Sie Ihren Empfang mit einer KI, die nie schläft. Solvea bearbeitet unbegrenzte Anfragen über mehrere Kanäle, bucht Termine automatisch in Ihren Kalender und verhindert rund um die Uhr verpasste Chancen.
FAQ
Wie verhindere ich, dass OpenClaw mitten im Projekt den Kontext verliert?
Stellen Sie sicher, dass der Arbeitsbereich beschreibbar ist, damit der Pre-Compaction-Flush in memory/YYYY-MM-DD.md schreiben kann, und erinnern Sie Agenten daran, wichtige Details anzuhängen, anstatt einen latenten Abruf zu erwarten. Die Komprimierung plus Speicher-Flush ist das Sicherheitsnetz, kein Ersatz für explizite Notizen.
Kann ich die Speichersuche ausführen, ohne für gehostete Embeddings zu bezahlen?
Ja. Setzen Sie memorySearch.provider = "local" (node-llama-cpp) oder "ollama", um auf dem Gerät zu bleiben. Sie können weiterhin extraPaths für gemeinsames Markdown hinzufügen und dabei die Abrechnung über OpenAI/Gemini vermeiden.
Wann sollte ich das QMD-Backend aktivieren?
Verwenden Sie QMD, wenn Ihr Speichersatz über einfache Markdown-Embeddings hinauswächst – z. B. Zehntausende von Snippets, Multi-GB-Archive oder wenn Sie BM25 + Reranking für eine höhere Präzision benötigen. OpenClaw greift automatisch auf den integrierten Indexer zurück, wenn QMD nicht verfügbar ist, sodass Sie sicher experimentieren können.






