OpenClaw 记忆系统详解:MEMORY.md、每日笔记与 Dreaming
OpenClaw 的记忆哲学写在官方文档第一句:「模型只会记住保存到磁盘的内容;不存在隐藏状态。」理解这句话,就理解了它所有记忆行为。
三层文件
- MEMORY.md(长期层):精炼、整理过的事实、偏好、长期决定。会话开始时注入,是它的「性格底座 + 常识库」。
- memory/日期.md(工作层):每天滚动的笔记与观察。仅在新会话或重置时自动加载今天与昨天两天,其余靠搜索召回。
- DREAMS.md(审阅层,可选):Dreaming 流程的日记输出,供人工审阅(见下文)。
记忆怎么进去
- 开口要:直接说「记住我喜欢喝美式」,它会写进对应文件——这是最日常的入口。
- 自动刷新:会话被压缩(上下文太长触发摘要)前,系统会先跑一轮静默提醒,把重要事实存盘再压缩,防止丢失。
- 定期整理:心跳与生成的工作区指令会周期性地把每日笔记里有价值的内容提炼进 MEMORY.md,并清掉过时条目。
记忆怎么找回来
两个内置工具:memory_search(语义搜索,措辞不同也能命中)与 memory_get(精确读取某文件某段)。语义搜索需要配置嵌入提供商,默认用 OpenAI 嵌入,也支持 Gemini、Voyage、Ollama 本地模型等;后端默认是零依赖的 SQLite 内置引擎,另有 QMD、Honcho、LanceDB 等可选后端。
操作敏感型记忆
官方特别提醒:有些记忆影响未来行为,记录时要写清「何时可安全行动」。例如「API 迁移期间此会话不得改代码,等计划落地再动」。记忆保留审批上下文但不强制执行——真正的强制还是靠策略与沙箱。
Dreaming(可选开启)
默认关闭的后台整合流程:定期给候选记忆打分,只有过分数线、召回频率与多样性门槛的条目才晋升进 MEMORY.md;阶段摘要写进 DREAMS.md 供你审阅。想要「记忆自动长成知识库」的重度用户可以开启,配合记忆 wiki 插件还能编译出结构化的知识站。
CLI 速查
openclaw memory status # 索引状态与提供商
openclaw memory search "关键词" # 命令行搜索
openclaw memory index --force # 重建索引