乐于分享
好东西不私藏

OpenClaw"做梦"记忆法:让AI在夜间自动整理记忆

OpenClaw"做梦"记忆法:让AI在夜间自动整理记忆

你做的梦,现在可以让AI帮忙记录了。

(图源网络,侵删)

和AI对话时,你是否有过这样的经历——聊了很多重要的事,约定了某个方案,或者交代了关键的背景信息,结果下次再问,AI一脸茫然?
这不能怪AI。传统的AI记忆系统大多数只是被动地存储信息,不会主动去整理、筛选和提炼。时间一长,重要的信息和过时的碎片混在一起,真正有价值的内容反而被淹没。
OpenClaw最新引入的 Dreaming(做梦)机制,就是来解决这个问题的。它模仿人类睡眠时大脑的整理活动,在后台自动对记忆进行分类、评分和晋升,把真正重要的内容沉淀为长期记忆,同时生成可读的梦境日记供人类审查。

什么是做梦?

Dreaming(做梦)是OpenClaw内置的后台记忆整合系统,由 memory-core 插件驱动。它不像传统cron任务那样机械地执行命令,而是模拟人类睡眠时大脑的工作方式——在后台安静地运行,对一天中积累的短期记忆信号进行系统化处理。
默认情况下,Dreaming在每天凌晨3点(UTC+8)自动启动,对过去24小时内积累的记忆碎片进行三个阶段的处理。只有Deep阶段会将内容真正写入 MEMORY.md,其他阶段只做分析和铺垫工作。
整个系统的设计哲学是:宁可少晋升,不要乱晋升。所以Deep阶段设置了较高的门槛,确保只有真正经过反复验证的记忆才会进入长期存储。

三个阶段详解

Light→REM→Deep

Light Phase(浅睡阶段)
Light阶段相当于人类睡眠中的浅睡期。系统此时做的事比较简单:
· 读取当天(以及最近几天)的 daily memory 文件(memory/YYYY-MM-DD.md)
· 读取召回记录(recall store),了解哪些记忆在对话中被多次唤醒
· 对重复出现的记忆碎片进行去重
· 给每个候选记忆打上初步的信号标签,为后续阶段做准备
这个阶段完全不会写入任何持久内容。它只是"把桌面整理干净",让后续阶段能更高效地处理。如果启用了 inline output,Light阶段还会在 DREAMS.md 中写入一个 ## Light Sleep 区块,记录本次轻睡的处理概况。
Deep Phase(深睡阶段)
Deep阶段是整个做梦过程中最核心的部分,对应人类睡眠中的深睡期。这个阶段真正决定哪些内容值得成为长期记忆。
系统用六个加权信号对候选记忆进行综合评分:

信号

权重

含义

Frequency(频率)

24%

这条记忆在短期记忆中被召回过多少次。次数越多,说明越重要。

Relevance(相关性)

30%

平均检索质量。每次被召回时,语义相关性得分如何。

Query diversity(查询多样性)

15%

有多少个不同的问题上下文触发了这条记忆。多样性越高,说明它越通用。

Recency(新鲜度)

15%

距离最后被访问过去了多久。越近期的记忆权重越高,但会随时间衰减。

Consolidation(巩固度)

10%

这条记忆是否连续多天出现。连续出现说明它是稳定的长期知识。

Conceptual richness(概念丰富度)

6%

从记忆片段的路径和标签中提取的概念密度。概念越丰富,越可能是结构化知识。

三个硬性门槛(必须同时满足才会晋升):
· minScore ≥ 0.8(综合分数必须超过0.8)
· minRecallCount ≥ 3(被召回至少3次)
· minUniqueQueries ≥ 3(来自至少3个不同的查询上下文)
只有同时通过三项门槛的候选记忆,才会被写入 MEMORY.md。如果某条记忆分数很高但召回次数不足,就不会晋升——宁缺毋滥。
另外值得注意的是:晋升写入之前,系统会重新从当天的日常记忆文件读取最新的内容快照。这意味着,如果你在文件中编辑或删除了某条信息,系统不会从过期的召回记录里错误地晋升一个已经被删除的内容。
REM Phase(REM阶段)

(图源网络,侵删)

REM阶段提取近期记忆中的主题模式和规律,生成反思摘要。它对应人类睡眠中的REM(快速眼动)期——这个阶段大脑会做梦、整合情绪和长时记忆。
REM阶段的工作包括:
·分析近期记忆中的高频主题
·识别反复出现的概念和关联
·生成简短的反思性摘要
·将REM的信号作为加成反馈给Deep阶段的评分系统
REM阶段本身不写 MEMORY.md,但它的输出会影响未来Deep阶段的评分——被REM识别为"主题性强的记忆"会在Deep阶段获得额外的加权加成。同样,如果启用了inline output,REM阶段会在 DREAMS.md 中写入 ## REM Sleep 区块。

梦境日记

让AI的思考过程可审计

(图源网络,侵删)

每次完整的睡眠周期(Light → REM → Deep)结束后,memory-core 还会启动一个后台子agent,用默认模型生成一段人类可读的"梦境日记",追加到 DREAMS.md(或已存在的 dreams.md)中。
日记内容包括:
· 各阶段的执行概况(处理了多少候选、晋升了多少条)
· 识别出的主要主题和规律
· 成功晋升的记忆条目摘要
· 系统对当前记忆状态的总体评估
日记的目的是让人类可以追踪AI的记忆整理逻辑——它为什么晋升了这条记忆而没有晋升那条?为什么某个概念被标记为重要?这些都可以在梦境日记中找到线索。Gateway还提供了 Dreams 面板,可以直观看到做梦功能的运行状态、各阶段进度、以及Dream Diary的阅读界面。

做梦的输出位置

路径

内容

MEMORY.md

长期记忆存储。Deep阶段晋升的内容写到这里。

DREAMS.md / dreams.md

人类可读的梦境日记。按时间顺序记录每次做梦的结果。

memory/.dreams/

机器可读的内部状态(信号数据、召回记录、锁文件)。

可选的阶段报告目录:memory/dreaming/<phase>/YYYY-MM-DD.md,其中 <phase> 可以是 light、rem 或 deep。

如何开启做梦功能

方式一:配置文件
在 openclaw.json 中添加以下配置:

{"plugins": {"entries": {"memory-core": {"config": {"dreaming": {"enabled": true}}}}}}

自定义运行频率。例如改为每6小时运行一次:

{"plugins": {"entries": {"memory-core": {"config": {"dreaming": {"enabled": true,"frequency": "0 */6 * * *"}}}}}}

方式二:聊天命令
在对话中直接输入(不需要手动添加cron任务,系统会自动创建托管任务):

/dreaming on 开启做梦

/dreaming off 关闭做梦

/dreaming status 查看当前状态

/dreaming help 获取帮助

手动操作命令

如果你不想等凌晨三点的自动运行,可以手动触发记忆晋升流程:

预览哪些记忆符合晋升条件(不实际写入)openclaw memory promote

手动晋升符合条件的记忆到 MEMORY.mdopenclaw memory promote --apply

只显示前 条候选openclaw memory promote --limit 5

调整晋升阈值(一次性覆盖)openclaw memory promote --min-score 0.75 --min-recall-count 2

查看某条候选的详细评分openclaw memory promote-explain "记忆关键词"

预览REM阶段的反思内容(不写入任何文件)openclaw memory rem-harness

查看记忆系统整体状态openclaw memory status --deep

强制重新索引记忆openclaw memory index --force

完整工作流程

一个完整的做梦周期如下:
1. 时间触发:到达 cron 时间(默认每天3点),memory-core 自动启动
2. Light 阶段读取日常记忆文件 → 去重整理 → 打信号标签 → 写 Light Sleep 日志
3. REM 阶段分析主题模式 → 生成反思摘要 → 写 REM Sleep 日志 → 反馈信号给 Deep
4. Deep 阶段:对候选评分 → 检查三项门槛 → 重新读取原文 → 写入 MEMORY.md
5. Dream Diary:后台子agent生成梦境日记 → 追加到 DREAMS.md
6. Dreams 面板:Gateway面板更新状态、下次运行时间、今日晋升统计

几个关键细节

晋升前重新读取:写入 MEMORY.md 之前,系统从原始文件读取最新快照。如果你在文件中删除了某条内容,不会从旧召回记录里错误晋升。
三阶段顺序执行:Light → REM → Deep,严格按顺序,不会跳阶段也不会并行。只有Deep写 MEMORY.md。
REM信号影响Deep评分:REM阶段识别的主题信号会作为加成反馈给Deep阶段,使主题性强的记忆在Deep阶段获得额外分数。
跨多工作区执行:如果配置了多个memory workspace,自动运行时会分发给所有配置的工作区。
Gateway版本要求:做梦功能需要Gateway支持 secrets.resolve,旧版本会返回 unknown-method 错误。

适合谁用?

如果你有下面这些场景,做梦功能会明显提升AI的记忆质量:
长期项目跟进:需要AI记住项目背景、技术选型、关键决策。开启做梦后,重要决策会被自动提炼到 MEMORY.md。
个人知识管理:每天和AI讨论很多知识点,希望AI能主动整理出可以随时调用的长期知识库。
减少重复说明:不想每次都重新交代工作环境、配置偏好、团队约定。做梦会自动把这些沉淀下来。
可审计的记忆管理:希望了解AI为什么记住了某些内容、通过什么逻辑晋升。DREAMS.md提供完全透明的日记。

配置参考

配置项

默认值

说明

enabled

false

是否开启做梦功能

frequency

0 3 * * *

Cron表达式,默认每天凌晨3点

timezone

UTC+8

时区设置

minScore

0.8

Deep阶段晋升的最低分数门槛

minRecallCount

3

晋升所需的最少召回次数

项目

说明

功能名称

Dreaming(做梦)

核心作用

自动整理和晋升短时记忆为长期记忆

三个阶段

Light(整理)→ REM(反思)→ Deep(晋升)

晋升门槛

分数≥0.8、召回≥3次、查询来源≥3

默认时间

每天凌晨 3:00(UTC+8)

开启方式

配置文件 /dreaming on

Dreaming 目前标记为实验性(experimental)功能,但核心机制已经稳定。如果你在使用中对AI的记忆质量有更高要求,开启做梦后长期记忆的质量会明显提升。建议先从默认配置开始,观察梦境日记一段时间,再根据自己的需求调整阈值和频率。

怎么样,学会了吗,现在就来算家云试试吧!

往期 · 推荐

OpenClaw进阶玩法:多飞书机器人部署指南

点击阅读

AI 视频生成为什么看起来简单,实际却很吃资源?

点击阅读

更多 · 活动

左右滑动查看更多

👇点击阅读原文立即访问算家云,创建你的专属小龙虾(OpenClaw)!