Dreaming 是Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
memory-core 中的后台记忆巩固系统。它帮助 OpenClaw 将强烈的短期信号转入持久记忆,同时让过程保持可解释、可审查。
Dreaming 是选择启用的,并且默认禁用。
Dreaming 会写入什么
Dreaming 保留两类输出:memory/.dreams/中的机器状态(召回存储、阶段信号、摄取检查点、锁)。DREAMS.md(或现有的dreams.md)中的人类可读输出,以及memory/dreaming/<phase>/YYYY-MM-DD.md下可选的阶段报告文件。
MEMORY.md。
阶段模型
Dreaming 使用三个协作阶段:| 阶段 | 目的 | 持久写入 |
|---|---|---|
| Light | 排序并暂存近期短期材料 | 否 |
| Deep | 评分并提升持久候选项 | 是(MEMORY.md) |
| REM | 反思主题和反复出现的想法 | 否 |
Light phase
Light phase
Light 阶段摄取近期每日记忆信号和召回轨迹,对它们去重,并暂存候选行。
- 从短期召回状态、近期每日记忆文件,以及可用时经过脱敏的会话转录中读取。
- 当存储包含内联输出时,写入一个托管的
## Light Sleep块。 - 记录强化信号,供之后的 Deep 排名使用。
- 绝不写入
MEMORY.md。
Deep phase
Deep phase
Deep 阶段决定哪些内容会成为长期记忆。
- 使用加权评分和阈值门控对候选项排名。
- 要求
minScore、minRecallCount和minUniqueQueries通过。 - 写入前从实时每日文件中重新取回片段,因此会跳过陈旧或已删除的片段。
- 将提升后的条目追加到
MEMORY.md。 - 向
DREAMS.md写入## Deep Sleep摘要,并可选写入memory/dreaming/deep/YYYY-MM-DD.md。
REM phase
REM phase
REM 阶段提取模式和反思信号。
- 基于近期短期轨迹构建主题和反思摘要。
- 当存储包含内联输出时,写入一个托管的
## REM Sleep块。 - 记录 Deep 排名使用的 REM 强化信号。
- 绝不写入
MEMORY.md。
会话转录摄取
Dreaming 可以将经过脱敏的会话转录摄取到 Dreaming 语料库中。当转录可用时,它们会与每日记忆信号和召回轨迹一起送入 Light 阶段。个人内容和敏感内容会在摄取前脱敏。Dream Diary
Dreaming 还会在DREAMS.md 中保留一份叙事性的 Dream Diary。每个阶段积累了足够材料后,memory-core 会运行一次尽力而为的后台子智能体轮次,并追加一条简短的日记条目。除非配置了 dreaming.model,否则它使用默认运行时模型。如果配置的模型不可用,Dream Diary 会使用会话默认模型重试一次。
这份日记用于 Dreams UI 中的人类阅读,不是提升来源。Dreaming 生成的日记/报告工件会被排除在短期提升之外。只有有依据的记忆片段才有资格提升到
MEMORY.md。Backfill commands
Backfill commands
memory rem-harness --path ... --grounded从历史YYYY-MM-DD.md笔记预览有依据的日记输出。memory rem-backfill --path ...将可逆的有依据日记条目写入DREAMS.md。memory rem-backfill --path ... --stage-short-term将有依据的持久候选项暂存到普通 Deep 阶段已经使用的同一个短期证据存储中。memory rem-backfill --rollback和--rollback-short-term移除这些已暂存的回填工件,而不触及普通日记条目或实时短期召回。
Deep 排名信号
Deep 排名使用六个加权基础信号以及阶段强化:| 信号 | 权重 | 描述 |
|---|---|---|
| 频率 | 0.24 | 该条目累积了多少短期信号 |
| 相关性 | 0.30 | 该条目的平均检索质量 |
| 查询多样性 | 0.15 | 使其浮现的不同查询/日期上下文 |
| 近期性 | 0.15 | 按时间衰减的新鲜度分数 |
| 巩固度 | 0.10 | 多日重复出现的强度 |
| 概念丰富度 | 0.06 | 片段/路径中的概念标签密度 |
memory/.dreams/phase-signals.json 添加一个较小的、按近期性衰减的提升。
调度
启用后,memory-core 会自动管理一个用于完整 Dreaming 扫描的 cron 作业。每次扫描按顺序运行阶段:Light → REM → Deep。
扫描包括主运行时工作区和任何已配置的 Agent 工作区,并按路径去重,因此子智能体工作区扇出不会排除主智能体的 DREAMS.md 和记忆状态。
默认节奏行为:
| 设置 | 默认值 |
|---|---|
dreaming.frequency | 0 3 * * * |
dreaming.model | 默认模型 |
快速开始
- 启用 Dreaming
- 自定义扫描节奏
斜杠命令
CLI 工作流
- 提升预览 / 应用
- 解释提升
- REM harness 预览
memory promote 默认使用 Deep 阶段阈值,除非通过 CLI 标志覆盖。关键默认值
所有设置都位于plugins.entries.memory-core.config.dreaming 下。
启用或禁用 Dreaming 扫描。
完整 Dreaming 扫描的 cron 节奏。
可选的 Dream Diary 子智能体模型覆盖。同时设置子智能体
allowedModels 允许列表时,请使用规范的 provider/model 值。阶段策略、阈值和存储行为是内部实现细节(不是面向用户的配置)。完整键列表请参阅记忆配置参考。
Dreams UI
启用后,Gateway 网关 Dreams 标签页会显示:- 当前 Dreaming 启用状态
- 阶段级 Status 和托管扫描存在状态
- 短期、有依据、信号以及今日已提升计数
- 下一次计划运行时间
- 一条用于已暂存历史重放条目的独立有依据场景通道
- 由
doctor.memory.dreamDiary支撑的可展开 Dream Diary 阅读器
Dreaming 从不运行:Status 显示被阻止
如果openclaw memory status 报告 Dreaming status: blocked,说明托管 cron 存在,但默认智能体 Heartbeat 未触发。检查默认智能体是否启用了 Heartbeat,并且其目标不是 none,然后在下一个 Heartbeat 间隔后再次运行 openclaw memory status --deep。