Dreaming 睡眠整合——你睡了它跑一次整合
对话型 AI 最烦的一件事
打开 ChatGPT、聊了半小时、关了浏览器。第二天回来——它什么都忘了,你又得从头讲一遍。
MateClaw 的 Dreaming 机制就是为了解决这个问题。
Dreaming 什么时候跑
默认每天凌晨 2 点(可在配置里改,也可以手动触发)。这时候你大概率在睡觉,Agent 也没在处理实时对话——正好做后台整合。
Dreaming 跑的时候在干嘛
- 读取当天所有对话——从 mate_message 表按 Agent 分组拉出当天的完整对话历史
- 提炼对话摘要——每段对话压缩成结构化的要点:主题、决策、偏好、未完成事项
- 跨对话关联——把不同对话里相关的点串起来(A 对话讲了 Spring Boot 升级,B 对话讲了生产环境 issue——Dreaming 可能发现这是同一件事的两个面)
- 更新记忆文件——PROFILE.md 里加新的用户偏好,MEMORY.md 里加新的项目/决策/知识点,SOUL.md 里更新 Agent 自己的工作方式
一个具体例子
假设你一天内和「代码助手」Agent 聊了这些:
- 早上:把 Spring Boot 从 3.2 升到 3.5
- 下午:写了一段 SQL 连接池配置
- 晚上:抱怨 PostgreSQL 的某些行为不符合预期
Dreaming 跑完之后,代码助手 Agent 的 MEMORY.md 里会多出类似这样的条目:
- 用户最近在做 Spring Boot 3.2 → 3.5 升级,关注自动配置 breaking changes
- 用户用 PostgreSQL 做项目数据库,对其某些行为有意见
- 用户偏好使用 HikariCP 连接池(从下午那段对话里提炼)
第二天你打开这个 Agent,直接说「帮我 review 一下昨天写的连接池配置」——它知道你在说什么,不需要你重新介绍背景。
可以手动触发
不想等凌晨?在控制台里找到 Dreaming 手动触发按钮(具体入口以官方最新版为准),或者重启 MateClaw——启动时也会跑一轮。