Dreaming é o sistema de consolidação de memória em segundo plano noDocumentation 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. Ele ajuda o OpenClaw a mover sinais fortes de curto prazo para a memória durável, mantendo o processo explicável e revisável.
Dreaming é opt-in e vem desativado por padrão.
O que o dreaming grava
Dreaming mantém dois tipos de saída:- Estado da máquina em
memory/.dreams/(armazenamento de recuperação, sinais de fase, checkpoints de ingestão, locks). - Saída legível por humanos em
DREAMS.md(oudreams.mdexistente) e arquivos opcionais de relatório de fase emmemory/dreaming/<phase>/YYYY-MM-DD.md.
MEMORY.md.
Modelo de fases
Dreaming usa três fases cooperativas:| Fase | Propósito | Gravação durável |
|---|---|---|
| Leve | Classificar e preparar material recente de curto prazo | Não |
| Profunda | Pontuar e promover candidatos duráveis | Sim (MEMORY.md) |
| REM | Refletir sobre temas e ideias recorrentes | Não |
Fase leve
Fase leve
A fase leve ingere sinais recentes de memória diária e rastros de recuperação, remove duplicatas e prepara linhas candidatas.
- Lê do estado de recuperação de curto prazo, arquivos recentes de memória diária e transcrições de sessão redigidas quando disponíveis.
- Grava um bloco
## Light Sleepgerenciado quando o armazenamento inclui saída inline. - Registra sinais de reforço para ranqueamento profundo posterior.
- Nunca grava em
MEMORY.md.
Fase profunda
Fase profunda
A fase profunda decide o que se torna memória de longo prazo.
- Ranqueia candidatos usando pontuação ponderada e gates de limite.
- Exige que
minScore,minRecallCounteminUniqueQueriessejam aprovados. - Reidrata snippets de arquivos diários ativos antes de gravar, então snippets obsoletos/excluídos são ignorados.
- Acrescenta entradas promovidas a
MEMORY.md. - Grava um resumo
## Deep SleepemDREAMS.mde, opcionalmente, gravamemory/dreaming/deep/YYYY-MM-DD.md.
Fase REM
Fase REM
A fase REM extrai padrões e sinais reflexivos.
- Cria resumos de temas e reflexões a partir de rastros recentes de curto prazo.
- Grava um bloco
## REM Sleepgerenciado quando o armazenamento inclui saída inline. - Registra sinais de reforço REM usados pelo ranqueamento profundo.
- Nunca grava em
MEMORY.md.
Ingestão de transcrições de sessão
Dreaming pode ingerir transcrições de sessão redigidas no corpus de dreaming. Quando as transcrições estão disponíveis, elas são enviadas para a fase leve junto com sinais de memória diária e rastros de recuperação. Conteúdo pessoal e sensível é redigido antes da ingestão.Dream Diary
Dreaming também mantém um Dream Diary narrativo emDREAMS.md. Depois que cada fase tem material suficiente, memory-core executa uma rodada de subagente em segundo plano em modo best-effort e acrescenta uma entrada curta de diário. Ele usa o modelo padrão de runtime, a menos que dreaming.model esteja configurado. Se o modelo configurado estiver indisponível, o Dream Diary tenta novamente uma vez com o modelo padrão da sessão.
Este diário é para leitura humana na UI Dreams, não uma fonte de promoção. Artefatos de diário/relatório gerados pelo Dreaming são excluídos da promoção de curto prazo. Apenas snippets de memória fundamentados são elegíveis para promoção para
MEMORY.md.Comandos de backfill
Comandos de backfill
memory rem-harness --path ... --groundedpré-visualiza a saída de diário fundamentada a partir de notas históricasYYYY-MM-DD.md.memory rem-backfill --path ...grava entradas reversíveis de diário fundamentado emDREAMS.md.memory rem-backfill --path ... --stage-short-termprepara candidatos duráveis fundamentados no mesmo armazenamento de evidências de curto prazo que a fase profunda normal já usa.memory rem-backfill --rollbacke--rollback-short-termremovem esses artefatos de backfill preparados sem tocar em entradas comuns de diário ou na recuperação ativa de curto prazo.
Sinais de ranqueamento profundo
O ranqueamento profundo usa seis sinais base ponderados mais reforço de fase:| Sinal | Peso | Descrição |
|---|---|---|
| Frequência | 0.24 | Quantos sinais de curto prazo a entrada acumulou |
| Relevância | 0.30 | Qualidade média de recuperação da entrada |
| Diversidade de consulta | 0.15 | Contextos distintos de consulta/dia que a revelaram |
| Recência | 0.15 | Pontuação de atualidade com decaimento temporal |
| Consolidação | 0.10 | Força de recorrência em vários dias |
| Riqueza conceitual | 0.06 | Densidade de tags conceituais do snippet/caminho |
memory/.dreams/phase-signals.json.
Agendamento
Quando habilitado,memory-core gerencia automaticamente um job cron para uma varredura completa de dreaming. Cada varredura executa as fases em ordem: leve → REM → profunda.
A varredura inclui o workspace principal de runtime e quaisquer workspaces de agentes configurados, sem duplicatas por caminho, para que o fan-out de workspace de subagentes não exclua o DREAMS.md e o estado de memória do agente principal.
Comportamento de cadência padrão:
| Configuração | Padrão |
|---|---|
dreaming.frequency | 0 3 * * * |
dreaming.model | modelo padrão |
Início rápido
- Habilitar dreaming
- Cadência personalizada de varredura
Comando slash
Fluxo de trabalho da CLI
- Prévia / aplicação de promoção
- Explicar promoção
- Prévia do harness REM
memory promote manual usa os limites da fase profunda por padrão, a menos que sejam sobrescritos com flags da CLI.Principais padrões
Todas as configurações ficam emplugins.entries.memory-core.config.dreaming.
Habilite ou desabilite a varredura de dreaming.
Cadência Cron para a varredura completa de dreaming.
Sobrescrita opcional de modelo de subagente do Dream Diary. Use um valor canônico
provider/model ao também definir uma allowlist allowedModels de subagente.Política de fases, limites e comportamento de armazenamento são detalhes internos de implementação (não configuração voltada ao usuário). Consulte a referência de configuração de memória para a lista completa de chaves.
UI Dreams
Quando habilitada, a aba Dreams do Gateway mostra:- estado atual de dreaming habilitado
- status em nível de fase e presença de varredura gerenciada
- contagens de curto prazo, fundamentadas, de sinais e promovidas hoje
- horário da próxima execução agendada
- uma trilha Scene fundamentada distinta para entradas preparadas de replay histórico
- um leitor expansível do Dream Diary apoiado por
doctor.memory.dreamDiary
Dreaming nunca executa: o status mostra bloqueado
Seopenclaw memory status relatar Dreaming status: blocked, o cron gerenciado existe, mas o Heartbeat do agente padrão não está disparando. Verifique se o Heartbeat está habilitado para o agente padrão e se o destino dele não é none; depois execute openclaw memory status --deep novamente após o próximo intervalo de Heartbeat.