什么是 Dreaming 系统
Dreaming 是 OpenClaw 的记忆巩固机制,在 v2026.4.5 首次引入,v2026.4.9 大幅增强。它模拟人类睡眠中的记忆整理过程,让 Agent 在空闲时"做梦"——自动整理和巩固短期记忆为长期知识。
核心机制:
- Light Phase(浅睡期):轻量清理和整合
- Deep Phase(深睡期):深度分析和关联
- REM Phase(快速眼动期):创造性联想和知识生成
v2026.4.9 新功能
Dream Diary 结构化视图
控制 UI 新增了 Dream Diary 视图,让用户可以直观查看 Agent 的记忆整理过程:
- 时间线导航:按时间查看 Dreaming 历史
- 阶段可视化:展示 Light/Deep/REM 三个阶段的处理记录
- 摘要追溯:每次 Dreaming 都有详细摘要说明做了什么
- Scene lane:基于 Ground Truth 的场景分析通道
访问方式:
控制面板 → 记忆 → Dream Diary
或 CLI:
openclaw memory diary
openclaw memory diary --timeline
REM 历史回填
v2026.4.9 引入了重要的 REM 回填能力:
- 旧的日记条目可以重新进入 Dreams 处理流程
- 更清晰的持久化事实提取
- 短期记忆提升机制与 REM 协同
这让用户可以让 Agent "回顾"之前的对话,重新整理和挖掘其中的知识。
使用 rem-harness 回填
# 回填最近 7 天的日记到 REM 阶段
openclaw memory rem-harness --path ./memory/diary --days 7
# 回填特定目录
openclaw memory rem-harness --path ./memory/conversations/2026-03
# 完全重新处理所有历史
openclaw memory rem-harness --path ./memory --all
加权记忆提升
短期记忆到长期记忆的提升采用加权机制:
- 使用频率:经常被引用的记忆优先提升
- 重要性评分:Agent 判断信息价值
- 时间衰减:旧信息逐渐降权
- 人工标记:用户显式标记的重要信息优先
基础配置
# config.yaml
memory:
dreaming:
enabled: true
phases:
light:
enabled: true
interval: "30m" # 每 30 分钟执行一次
deep:
enabled: true
interval: "2h"
rem:
enabled: true
interval: "6h"
diary:
enabled: true
path: "./memory/diary"
手动触发
触发 Dream Diary 提交
/memory dream commit
这会立即将当前短期记忆整理并写入 Diary。
触发各阶段
/memory dream light
/memory dream deep
/memory dream rem
重置记忆状态
/memory dream reset
谨慎使用——这会清除短期记忆缓存。
Dream Diary 结构
memory/diary/
├── 2026-04-09/
│ ├── 10-00-light.md # 10:00 浅睡期
│ ├── 12-00-deep.md # 12:00 深睡期
│ ├── 16-00-rem.md # 16:00 REM 阶段
│ └── summary.md # 当日汇总
├── 2026-04-10/
│ └── ...
└── index.md # 全局索引
每个阶段的日记包含:
- 处理的记忆条目数量
- 提取的关键事实
- 建立的记忆链接
- 提升到长期记忆的条目
实际应用
案例 1:每周知识回顾
# 周末回填本周所有对话,生成知识总结
openclaw memory rem-harness --path ./memory --days 7
# 查看本周总结
openclaw memory diary --week
案例 2:项目结束知识沉淀
项目结束后,让 Agent 回顾整个项目的对话,提炼核心经验:
openclaw memory rem-harness --path ./memory/projects/xyz --all
生成的 REM 摘要可以直接作为项目回顾文档。
案例 3:记忆修复
如果发现 Agent 记忆有偏差,可以:
# 1. 查看 Diary 定位问题
/memory dream diary --find "错误信息"
# 2. 重置特定记忆段
/memory dream reset --from 2026-04-05
# 3. 从干净状态重新回填
openclaw memory rem-harness --path ./memory/diary --from 2026-04-05
与其他记忆系统的配合
Dreaming 系统与其他记忆机制配合工作:
| 系统 | 角色 |
|---|---|
| Short-term Memory | 当前会话上下文 |
| Dreaming | 记忆巩固和提升 |
| Long-term Memory | 向量存储的持久记忆 |
| Memory-Wiki | 结构化知识文档 |
Dreaming 负责从短期到长期的转化过程,确保记忆不会简单丢失,而是经过筛选和提炼后保留。
性能考虑
- Dreaming 默认在空闲时运行,不影响正常对话
- REM 阶段计算量较大,建议在低峰时段执行
- 可以配置为仅在 CPU 负载低时触发:
memory:
dreaming:
trigger:
maxCpuLoad: 30
minIdleMinutes: 5
监控 Dreaming 状态
# 查看 Dreaming 系统状态
openclaw memory dream status
# 查看最近的 Dreaming 活动
openclaw memory dream recent
# 诊断 Dreaming 问题
openclaw doctor memory
注意事项
- Dream Diary 结构化视图需要 OpenClaw v2026.4.9 或更高版本
- REM 回填可能消耗较多 Token,大规模回填前建议预估成本
- Diary 目录可能随时间增长较大,建议定期归档
- Dreaming 过程中 Agent 响应可能短暂变慢,v2026.4.9 已优化此问题
- 在高并发场景下建议调低 Dreaming 频率