Pular para o conteúdo principal

Dreaming

Dreaming é o sistema de consolidação de memória em segundo plano em memory-core. Ele ajuda o OpenClaw a mover sinais fortes de curto prazo para a memória durável, ao mesmo tempo em que mantém o processo explicável e revisável. Dreaming é opt-in e vem desativado por padrão.

O que o Dreaming grava

O Dreaming mantém dois tipos de saída:
  • Estado de máquina em memory/.dreams/ (armazenamento de recordação, sinais de fase, checkpoints de ingestão, locks).
  • Saída legível por humanos em DREAMS.md (ou dreams.md, se já existir) e arquivos opcionais de relatório de fase em memory/dreaming/<phase>/YYYY-MM-DD.md.
A promoção de longo prazo ainda grava apenas em MEMORY.md.

Modelo de fases

O Dreaming usa três fases cooperativas:
FaseObjetivoGravação durável
LeveOrganizar e preparar material recente de curto prazoNão
ProfundaPontuar e promover candidatos duráveisSim (MEMORY.md)
REMRefletir sobre temas e ideias recorrentesNão
Essas fases são detalhes internos de implementação, não “modos” separados configurados pelo usuário.

Fase leve

A fase leve ingere sinais recentes de memória diária e rastros de recordação, remove duplicatas e prepara linhas candidatas.
  • Lê do estado de recordação de curto prazo, arquivos recentes de memória diária e transcrições de sessão redigidas quando disponíveis.
  • Grava um bloco gerenciado ## Light Sleep quando o armazenamento inclui saída inline.
  • Registra sinais de reforço para classificação profunda posterior.
  • Nunca grava em MEMORY.md.

Fase profunda

A fase profunda decide o que se torna memória de longo prazo.
  • Classifica candidatos usando pontuação ponderada e limites mínimos.
  • Exige que minScore, minRecallCount e minUniqueQueries sejam atendidos.
  • Reidrata trechos a partir de arquivos diários ativos antes de gravar, para que trechos obsoletos/excluídos sejam ignorados.
  • Anexa entradas promovidas a MEMORY.md.
  • Grava um resumo ## Deep Sleep em DREAMS.md e opcionalmente grava memory/dreaming/deep/YYYY-MM-DD.md.

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 gerenciado ## REM Sleep quando o armazenamento inclui saída inline.
  • Registra sinais de reforço REM usados pela classificação profunda.
  • Nunca grava em MEMORY.md.

Ingestão de transcrições de sessão

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 alimentadas na fase leve junto com sinais de memória diária e rastros de recordação. Conteúdo pessoal e sensível é redigido antes da ingestão.

Diário de Sonhos

O Dreaming também mantém um Diário de Sonhos narrativo em DREAMS.md. Depois que cada fase tem material suficiente, o memory-core executa uma rodada em segundo plano de melhor esforço com um subagente (usando o modelo de runtime padrão) e anexa uma entrada curta ao diário. Esse diário é para leitura humana na interface 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 trechos de memória fundamentados são elegíveis para promoção em MEMORY.md. Também há uma trilha de preenchimento retroativo histórico fundamentado para trabalho de revisão e recuperação:
  • memory rem-harness --path ... --grounded pré-visualiza a saída fundamentada do diário a partir de notas históricas YYYY-MM-DD.md.
  • memory rem-backfill --path ... grava entradas de diário fundamentadas e reversíveis em DREAMS.md.
  • memory rem-backfill --path ... --stage-short-term prepara candidatos duráveis fundamentados no mesmo armazenamento de evidências de curto prazo que a fase profunda normal já usa.
  • memory rem-backfill --rollback e --rollback-short-term removem esses artefatos preparados do preenchimento retroativo sem tocar nas entradas comuns do diário nem na recordação ativa normal de curto prazo.
A interface Control expõe o mesmo fluxo de preenchimento retroativo/reset do diário para que você possa inspecionar os resultados na cena Dreams antes de decidir se os candidatos fundamentados merecem promoção. A cena também mostra uma trilha fundamentada distinta para que você possa ver quais entradas preparadas de curto prazo vieram de replay histórico, quais itens promovidos foram guiados por fundamentação e limpar apenas entradas preparadas fundamentadas sem tocar no estado comum ativo de curto prazo.

Sinais de classificação profunda

A classificação profunda usa seis sinais-base ponderados mais reforço de fase:
SinalPesoDescrição
Frequência0.24Quantos sinais de curto prazo a entrada acumulou
Relevância0.30Qualidade média de recuperação da entrada
Diversidade de consulta0.15Contextos distintos de consulta/dia em que ela apareceu
Recência0.15Pontuação de atualização com decaimento temporal
Consolidação0.10Força de recorrência em múltiplos dias
Riqueza conceitual0.06Densidade de tags conceituais do trecho/caminho
Acertos das fases leve e REM adicionam um pequeno reforço com decaimento temporal a partir de memory/.dreams/phase-signals.json.

Agendamento

Quando ativado, o memory-core gerencia automaticamente uma tarefa Cron para uma varredura completa de dreaming. Cada varredura executa as fases em ordem: leve -> REM -> profunda. Comportamento padrão da cadência:
ConfiguraçãoPadrão
dreaming.frequency0 3 * * *

Início rápido

Ative o Dreaming:
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}
Ative o Dreaming com uma cadência de varredura personalizada:
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true,
            "timezone": "America/Los_Angeles",
            "frequency": "0 */6 * * *"
          }
        }
      }
    }
  }
}

Comando de barra

/dreaming status
/dreaming on
/dreaming off
/dreaming help

Fluxo de trabalho da CLI

Use a promoção pela CLI para pré-visualizar ou aplicar manualmente:
openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
O memory promote manual usa os limites da fase profunda por padrão, a menos que sejam substituídos por flags da CLI. Explique por que um candidato específico seria ou não promovido:
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
Pré-visualize reflexões REM, verdades candidatas e a saída da promoção profunda sem gravar nada:
openclaw memory rem-harness
openclaw memory rem-harness --json

Valores padrão principais

Todas as configurações ficam em plugins.entries.memory-core.config.dreaming.
ChavePadrão
enabledfalse
frequency0 3 * * *
A política de fases, os limites e o comportamento de armazenamento são detalhes internos de implementação (não são configuração voltada ao usuário). Consulte a referência de configuração de memória para ver a lista completa de chaves.

Interface Dreams

Quando ativada, a aba Dreams do Gateway mostra:
  • estado atual de ativação do dreaming
  • 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 fundamentada distinta na cena para entradas preparadas de replay histórico
  • um leitor expansível do Diário de Sonhos com base em doctor.memory.dreamDiary

Relacionado