Dreaming est le système de consolidation de mémoire en arrière-plan dansDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
memory-core. Il aide OpenClaw à déplacer les signaux forts à court terme vers une mémoire durable tout en gardant le processus explicable et révisable.
Dreaming est optionnel et désactivé par défaut.
Ce que Dreaming écrit
Dreaming conserve deux types de sortie :- État machine dans
memory/.dreams/(magasin de rappel, signaux de phase, points de reprise d’ingestion, verrous). - Sortie lisible par l’humain dans
DREAMS.md(ou le fichierdreams.mdexistant) et les fichiers optionnels de rapport de phase sousmemory/dreaming/<phase>/YYYY-MM-DD.md.
MEMORY.md.
Modèle de phases
Dreaming utilise trois phases coopératives :| Phase | Objectif | Écriture durable |
|---|---|---|
| Légère | Trier et préparer le contenu récent à court terme | Non |
| Profonde | Noter et promouvoir les candidats durables | Oui (MEMORY.md) |
| REM | Réfléchir aux thèmes et aux idées récurrentes | Non |
Phase légère
Phase légère
La phase légère ingère les signaux récents de mémoire quotidienne et les traces de rappel, les déduplique et prépare les lignes candidates.
- Lit l’état de rappel à court terme, les fichiers récents de mémoire quotidienne et les transcriptions de session expurgées lorsqu’elles sont disponibles.
- Écrit un bloc
## Light Sleepgéré lorsque le stockage inclut une sortie en ligne. - Enregistre les signaux de renforcement pour le classement profond ultérieur.
- N’écrit jamais dans
MEMORY.md.
Phase profonde
Phase profonde
La phase profonde décide de ce qui devient de la mémoire à long terme.
- Classe les candidats à l’aide d’un score pondéré et de seuils de validation.
- Exige que
minScore,minRecallCountetminUniqueQueriessoient satisfaits. - Réhydrate les extraits depuis les fichiers quotidiens actifs avant l’écriture, afin que les extraits obsolètes ou supprimés soient ignorés.
- Ajoute les entrées promues à
MEMORY.md. - Écrit un résumé
## Deep SleepdansDREAMS.mdet écrit éventuellementmemory/dreaming/deep/YYYY-MM-DD.md.
Phase REM
Phase REM
La phase REM extrait les motifs et les signaux réflexifs.
- Construit des résumés de thèmes et de réflexions à partir des traces récentes à court terme.
- Écrit un bloc
## REM Sleepgéré lorsque le stockage inclut une sortie en ligne. - Enregistre les signaux de renforcement REM utilisés par le classement profond.
- N’écrit jamais dans
MEMORY.md.
Ingestion des transcriptions de session
Dreaming peut ingérer des transcriptions de session expurgées dans le corpus de Dreaming. Lorsque des transcriptions sont disponibles, elles sont fournies à la phase légère avec les signaux de mémoire quotidienne et les traces de rappel. Le contenu personnel et sensible est expurgé avant l’ingestion.Journal des rêves
Dreaming conserve aussi un Journal des rêves narratif dansDREAMS.md. Une fois que chaque phase dispose d’assez de contenu, memory-core exécute un tour de sous-agent en arrière-plan au mieux et ajoute une courte entrée de journal. Il utilise le modèle d’exécution par défaut sauf si dreaming.model est configuré. Si le modèle configuré est indisponible, le Journal des rêves réessaie une fois avec le modèle par défaut de la session.
Ce journal est destiné à la lecture humaine dans l’interface Dreams, pas à servir de source de promotion. Les artefacts de journal/rapport générés par Dreaming sont exclus de la promotion à court terme. Seuls les extraits de mémoire fondés peuvent être promus dans
MEMORY.md.Commandes de remplissage
Commandes de remplissage
memory rem-harness --path ... --groundedprévisualise la sortie de journal fondée à partir des notes historiquesYYYY-MM-DD.md.memory rem-backfill --path ...écrit des entrées de journal fondées et réversibles dansDREAMS.md.memory rem-backfill --path ... --stage-short-termprépare les candidats durables fondés dans le même magasin de preuves à court terme que la phase profonde normale utilise déjà.memory rem-backfill --rollbacket--rollback-short-termsuppriment ces artefacts de remplissage préparés sans toucher aux entrées de journal ordinaires ni au rappel à court terme actif.
Signaux de classement profond
Le classement profond utilise six signaux de base pondérés plus le renforcement de phase :| Signal | Poids | Description |
|---|---|---|
| Fréquence | 0.24 | Nombre de signaux à court terme accumulés par l’entrée |
| Pertinence | 0.30 | Qualité moyenne de récupération pour l’entrée |
| Diversité des requêtes | 0.15 | Contextes distincts de requête/jour qui l’ont fait ressortir |
| Récence | 0.15 | Score de fraîcheur avec décroissance temporelle |
| Consolidation | 0.10 | Force de récurrence sur plusieurs jours |
| Richesse conceptuelle | 0.06 | Densité des balises de concept issues de l’extrait/du chemin |
memory/.dreams/phase-signals.json.
Planification
Lorsqu’il est activé,memory-core gère automatiquement une tâche cron pour un balayage complet de Dreaming. Chaque balayage exécute les phases dans l’ordre : légère → REM → profonde.
Le balayage inclut l’espace de travail d’exécution principal et tous les espaces de travail d’agent configurés, dédupliqués par chemin, afin que la dispersion des espaces de travail de sous-agents n’exclue pas le DREAMS.md et l’état mémoire de l’agent principal.
Comportement de cadence par défaut :
| Paramètre | Par défaut |
|---|---|
dreaming.frequency | 0 3 * * * |
dreaming.model | modèle par défaut |
Démarrage rapide
- Activer Dreaming
- Cadence de balayage personnalisée
Commande slash
Flux de travail CLI
- Prévisualiser / appliquer une promotion
- Expliquer la promotion
- Prévisualisation du harnais REM
memory promote utilise par défaut les seuils de la phase profonde, sauf remplacement par des indicateurs CLI.Valeurs par défaut clés
Tous les paramètres se trouvent sousplugins.entries.memory-core.config.dreaming.
Active ou désactive le balayage Dreaming.
Cadence Cron du balayage Dreaming complet.
Remplacement optionnel du modèle du sous-agent Journal des rêves. Utilisez une valeur canonique
provider/model lorsque vous définissez aussi une liste d’autorisation allowedModels de sous-agent.La politique de phase, les seuils et le comportement de stockage sont des détails d’implémentation internes (pas de la configuration destinée à l’utilisateur). Consultez la référence de configuration de la mémoire pour la liste complète des clés.
Interface Dreams
Lorsqu’il est activé, l’onglet Dreams du Gateway affiche :- l’état actuel d’activation de Dreaming
- le statut par phase et la présence d’un balayage géré
- les décomptes à court terme, fondés, de signaux et promus aujourd’hui
- le moment de la prochaine exécution planifiée
- une voie de scène fondée distincte pour les entrées de relecture historique préparées
- un lecteur extensible de Journal des rêves alimenté par
doctor.memory.dreamDiary
Dreaming ne s’exécute jamais : le statut indique un blocage
Siopenclaw memory status signale Dreaming status: blocked, le cron géré existe mais le Heartbeat de l’agent par défaut ne se déclenche pas. Vérifiez que le Heartbeat est activé pour l’agent par défaut et que sa cible n’est pas none, puis exécutez de nouveau openclaw memory status --deep après le prochain intervalle de Heartbeat.