Sessions and memory
Vue d’ensemble de la mémoire
OpenClaw mémorise des éléments en écrivant des fichiers Markdown simples dans l’espace de travail de votre agent. Le modèle ne « mémorise » que ce qui est enregistré sur disque — il n’y a pas d’état caché.
Fonctionnement
Votre agent dispose de trois fichiers liés à la mémoire :
MEMORY.md— mémoire à long terme. Faits durables, préférences et décisions. Chargé au début de chaque session DM.memory/YYYY-MM-DD.md(oumemory/YYYY-MM-DD-<slug>.md) — notes quotidiennes. Contexte en cours et observations. Les notes d’aujourd’hui et d’hier sont chargées automatiquement, et les variantes avec slug, comme celles écrites par le hook de mémoire de session inclus sur/newou/reset, sont désormais prises en compte avec le fichier contenant uniquement la date.DREAMS.md(facultatif) — journal de Dreaming et résumés des balayages de Dreaming pour révision humaine, y compris les entrées de remplissage historique fondées.
Ces fichiers se trouvent dans l’espace de travail de l’agent (par défaut
~/.openclaw/workspace).
Ce qui va où
MEMORY.md est la couche compacte et organisée. Utilisez-le pour les faits
durables, les préférences, les décisions permanentes et les courts résumés qui
doivent être disponibles au début d’une session privée principale. Il n’est pas
destiné à être une transcription brute, un journal quotidien ou une archive
exhaustive.
Les fichiers memory/YYYY-MM-DD.md constituent la couche de travail. Utilisez-les
pour les notes quotidiennes détaillées, les observations, les résumés de session
et le contexte brut qui peut encore être utile plus tard. Ces fichiers sont
indexés pour memory_search et memory_get, mais ils ne sont pas injectés dans
l’invite de bootstrap normale à chaque tour.
Au fil du temps, l’agent est censé distiller les éléments utiles des notes
quotidiennes dans MEMORY.md et supprimer les entrées à long terme obsolètes. Les
instructions d’espace de travail générées et le flux Heartbeat peuvent le faire
périodiquement ; vous n’avez pas besoin de modifier manuellement MEMORY.md pour
chaque détail mémorisé.
Si MEMORY.md dépasse le budget de fichier de bootstrap, OpenClaw conserve le
fichier intact sur disque, mais tronque la copie injectée dans le contexte du
modèle. Considérez cela comme un signal indiquant qu’il faut replacer les
éléments détaillés dans memory/*.md, ne garder que le résumé durable dans
MEMORY.md, ou augmenter les limites de bootstrap si vous voulez explicitement
dépenser davantage de budget d’invite. Utilisez /context list,
/context detail ou openclaw doctor pour voir les tailles brutes et injectées,
ainsi que l’état de troncature.
Mémoires sensibles aux actions
La plupart des mémoires peuvent être écrites comme de simples notes Markdown. Mais certaines mémoires influencent ce que l’agent devra faire plus tard. Pour celles-ci, capturez le moment où il est sûr d’agir sur la note, et pas seulement le fait lui-même.
Capturez cette limite d’action lorsqu’une note implique :
- des exigences d’approbation ou d’autorisation,
- des contraintes temporaires,
- des transmissions à une autre session, un fil ou une personne,
- des conditions d’expiration,
- un moment où il devient sûr d’agir,
- une autorité de source ou de propriétaire,
- des instructions pour éviter une action tentante.
Une mémoire sensible aux actions utile précise :
- ce qui change le comportement futur,
- quand ou dans quelle condition cela s’applique,
- quand cela expire, ou ce qui débloque l’action,
- ce que l’agent doit éviter de faire,
- qui est la source ou le propriétaire, si cela affecte la confiance ou l’autorité.
La mémoire peut préserver le contexte d’approbation, mais elle n’applique pas la politique. Utilisez les paramètres d’approbation, le sandboxing et les tâches planifiées d’OpenClaw pour les contrôles opérationnels stricts.
Exemple :
The API migration is being designed in another session. Future turns should not edit the API implementation from this thread; use findings here only as design input until the migration plan lands.Autre exemple :
A report from an untrusted source needs review before promotion. Future turns should treat it as evidence only; do not store it as durable memory until a trusted reviewer confirms the contents.Utilisez les engagements pour les suivis déduits et de courte durée. Utilisez les tâches planifiées pour les rappels exacts, les vérifications à heure fixe et le travail récurrent. La mémoire peut toujours résumer le contexte durable autour de l’une ou l’autre voie.
Ce n’est pas un schéma obligatoire pour chaque mémoire. Les faits simples peuvent rester concis. Utilisez des limites sensibles aux actions lorsque la perte du contexte de timing, d’autorité, d’expiration ou de sécurité d’action pourrait amener l’agent à faire la mauvaise chose plus tard.
Engagements déduits
Certains suivis futurs ne sont pas des faits durables. Si vous mentionnez un
entretien demain, la mémoire utile peut être « faire un point après l’entretien »,
et non « stocker cela pour toujours dans MEMORY.md ».
Les engagements sont des mémoires de suivi explicites et de courte durée pour ce cas. OpenClaw les déduit dans un passage d’arrière-plan caché, les limite au même agent et au même canal, et transmet les relances arrivées à échéance via Heartbeat. Les rappels explicites utilisent toujours les tâches planifiées.
Outils de mémoire
L’agent dispose de deux outils pour travailler avec la mémoire :
memory_search— trouve les notes pertinentes au moyen d’une recherche sémantique, même lorsque la formulation diffère de l’original.memory_get— lit un fichier de mémoire spécifique ou une plage de lignes.
Les deux outils sont fournis par le Plugin de mémoire active (par défaut :
memory-core).
Plugin compagnon Memory Wiki
Si vous voulez que la mémoire durable se comporte davantage comme une base de
connaissances maintenue que comme de simples notes brutes, utilisez le Plugin
inclus memory-wiki.
memory-wiki compile les connaissances durables dans un coffre wiki avec :
- une structure de pages déterministe
- des assertions et preuves structurées
- le suivi des contradictions et de la fraîcheur
- des tableaux de bord générés
- des condensés compilés pour les consommateurs agent/runtime
- des outils natifs du wiki comme
wiki_search,wiki_get,wiki_applyetwiki_lint
Il ne remplace pas le Plugin de mémoire active. Le Plugin de mémoire active
possède toujours le rappel, la promotion et Dreaming. memory-wiki ajoute à ses
côtés une couche de connaissances riche en provenance.
Voir Memory Wiki.
Recherche en mémoire
Lorsqu’un fournisseur d’embeddings est configuré, memory_search utilise une
recherche hybride — combinant la similarité vectorielle (sens sémantique) et
la correspondance par mots-clés (termes exacts comme les identifiants et les
symboles de code). Cela fonctionne immédiatement dès que vous disposez d’une clé
API pour n’importe quel fournisseur pris en charge.
Pour plus de détails sur le fonctionnement de la recherche, les options de réglage et la configuration des fournisseurs, consultez Recherche en mémoire.
Backends de mémoire
Basé sur SQLite. Fonctionne immédiatement avec la recherche par mots-clés, la similarité vectorielle et la recherche hybride. Aucune dépendance supplémentaire.
Sidecar local-first avec reranking, expansion de requête et possibilité d’indexer des répertoires en dehors de l’espace de travail.
Mémoire intersessions native IA avec modélisation utilisateur, recherche sémantique et conscience multi-agent. Installation du Plugin.
Mémoire incluse basée sur LanceDB avec embeddings compatibles OpenAI, rappel automatique, capture automatique et prise en charge des embeddings Ollama locaux.
Couche wiki de connaissances
Vidage automatique de la mémoire
Avant que Compaction ne résume votre conversation, OpenClaw exécute un tour silencieux qui rappelle à l’agent d’enregistrer le contexte important dans les fichiers de mémoire. C’est activé par défaut — vous n’avez rien à configurer.
Pour conserver ce tour de maintenance sur un modèle local, définissez une substitution exacte du modèle de vidage de mémoire :
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}La substitution ne s’applique qu’au tour de vidage de mémoire et n’hérite pas de la chaîne de fallback de la session active.
Dreaming
Dreaming est un passage facultatif de consolidation en arrière-plan pour la
mémoire. Il collecte des signaux à court terme, note les candidats et ne promeut
que les éléments qualifiés dans la mémoire à long terme (MEMORY.md).
Il est conçu pour garder la mémoire à long terme très pertinente :
- Opt-in : désactivé par défaut.
- Planifié : lorsqu’il est activé,
memory-coregère automatiquement une tâche Cron récurrente pour un balayage complet de Dreaming. - Seuils : les promotions doivent franchir des seuils de score, de fréquence de rappel et de diversité des requêtes.
- Révisable : les résumés de phase et les entrées de journal sont écrits dans
DREAMS.mdpour révision humaine.
Pour le comportement des phases, les signaux de notation et les détails du journal de Dreaming, consultez Dreaming.
Remplissage fondé et promotion en direct
Le système de Dreaming dispose désormais de deux voies de révision étroitement liées :
- Dreaming en direct fonctionne à partir du magasin de Dreaming à court terme
sous
memory/.dreams/et correspond à ce que la phase profonde normale utilise lorsqu’elle décide de ce qui peut passer dansMEMORY.md. - Remplissage fondé lit les notes historiques
memory/YYYY-MM-DD.mdcomme des fichiers journaliers autonomes et écrit une sortie de révision structurée dansDREAMS.md.
Le remplissage fondé est utile lorsque vous voulez rejouer d’anciennes notes et
inspecter ce que le système considère comme durable sans modifier manuellement
MEMORY.md.
Lorsque vous utilisez :
openclaw memory rem-backfill --path ./memory --stage-short-termles candidats durables fondés ne sont pas promus directement. Ils sont placés dans le même magasin de Dreaming à court terme que la phase profonde normale utilise déjà. Cela signifie que :
DREAMS.mdreste la surface de révision humaine.- le magasin à court terme reste la surface de classement destinée à la machine.
MEMORY.mdest toujours écrit uniquement par promotion profonde.
Si vous décidez que le rejeu n’était pas utile, vous pouvez supprimer les artefacts préparés sans toucher aux entrées ordinaires du journal ni à l’état de rappel normal :
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Check index status and provideropenclaw memory search "query" # Search from the command lineopenclaw memory index --force # Rebuild the indexPour aller plus loin
- Moteur de mémoire intégré : backend SQLite par défaut.
- Moteur de mémoire QMD : sidecar avancé local-first.
- Mémoire Honcho : mémoire intersessions native IA.
- Memory LanceDB : Plugin basé sur LanceDB avec embeddings compatibles OpenAI.
- Memory Wiki : coffre de connaissances compilé et outils natifs du wiki.
- Recherche en mémoire : pipeline de recherche, fournisseurs et réglage.
- Dreaming : promotion en arrière-plan du rappel à court terme vers la mémoire à long terme.
- Référence de configuration de la mémoire : tous les réglages de configuration.
- Compaction : comment Compaction interagit avec la mémoire.