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

OpenClaw 梦境功能 (Dreaming)

(图源网络,侵删)

和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.md
openclaw memory promote --apply

# 只显示前 N 条候选
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的记忆质量有更高要求,开启做梦后长期记忆的质量会明显提升。建议先从默认配置开始,观察梦境日记一段时间,再根据自己的需求调整阈值和频率。

图片

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐