每日日志
memory/YYYY-MM-DD.md 像每天一本小日记,专门记当天发生的事。
Concepts 导读
OpenClaw 的记忆就是 agent 工作区里的纯文本文件,没有隐藏状态。先搞清楚三个核心文件:MEMORY.md 存长期事实,每日笔记存上下文,DREAMS.md 可选。最易错的是 memory-wiki 插件不替换默认记忆插件,它只是额外加一层知识库,召回、晋升、做梦仍由 memory-core 控制。
先讲这一页到底在解决什么
OpenClaw 的记忆就是 agent 工作区里的纯文本文件,没有隐藏状态。先搞清楚三个核心文件:MEMORY.md 存长期事实,每日笔记存上下文,DREAMS.md 可选。最易错的是 memory-wiki 插件不替换默认记忆插件,它只是额外加一层知识库,召回、晋升、做梦仍由 memory-core 控制。
第一站
原文开头说得很清楚:memory 就是工作区里的 Markdown 文件。文件本身就是事实来源。
memory/YYYY-MM-DD.md 像每天一本小日记,专门记当天发生的事。
MEMORY.md 像一本总笔记,放长期要保留的偏好、决定和事实。
这些文件都放在 agent workspace 下面,不是飘在云里等你猜。
模型只有写进去的才算真正记住。没写到文件里的东西,只是这轮脑子里飘过一下。
第二站
OpenClaw 不是把整个仓库都翻出来,而是有一套默认会看的文件层级。
默认会读今天和昨天的 daily log。这样一开始就能接上最近发生的事。
如果有 MEMORY.md,也会一起读。这样老偏好、老决定不会只躲在某一天的日志里。
plugins.slots.memory = "none":像直接把记忆管理员关掉,不再自动搜 memory。agents.defaults.workspace:像告诉系统“仓库从哪一间屋子开始找”。memory 不是无限乱读。它只会按规则读默认范围,先把最近和最重要的拿出来。
第三站
原文给了两个 agent-facing 工具:一个用来搜,一个用来精读。它们都不是人类手工翻文件,而是给模型用的。
memory_search像在仓库里问“有没有跟这个意思相近的旧记录”。它适合语义搜索,不一定非要一模一样的字。
memory_get像把某一页文件直接拿出来看。你可以指定文件和行号范围。
原文特别提到:文件不存在时会优雅返回空文本,不会直接报错炸掉流程。
不是人类手动一页一页翻,而是让 memory 插件帮模型自己找。
第四站
原文给了很实用的规则:能长期影响后面工作的,就应该写进去,不要只记在当下会话里。
比如用户喜欢哪种风格、哪个称呼、哪个模板,这类东西就该放进长期记忆。
做过什么选择、定过什么规则、以后要遵守什么约定,也应该记下来。
原文直接说:如果你想让东西真的留下,就得让 bot 写进 memory。只在对话里说过一遍,不算真的保存。
这页没有很重的命令操作,但核心动作就是“写文件”。比起记在心里,落到 MEMORY.md 或当天日志里更可靠。
第五站
这段很像贴心小秘书:在上下文快满的时候,OpenClaw 会悄悄提醒模型,先把该留下的东西写进 memory,再去做压缩。
当会话快到 auto-compaction 附近时,系统会触发一个静默的提醒回合。
提醒内容就是:把真正值得长期保留的东西写进 daily log 或总笔记。
原文说得很明确,这轮通常应该返回 NO_REPLY,让用户看不到多余噪音。
如果 workspace 只读,这个提醒就会跳过。因为没地方写,也就没法存。
{
agents: {
defaults: {
compaction: {
reserveTokensFloor: 20000,
memoryFlush: {
enabled: true,
softThresholdTokens: 4000,
systemPrompt: "Session nearing compaction. Store durable memories now.",
prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.",
},
},
},
},
}
第六站
原文最后一段说明 memory 不只是关键词查找,还能做语义搜索,像你在找“意思差不多的旧记录”。
不需要字面完全一样,只要意思接近,也可能搜出来。
还可以把关键词和语义一起用,既看意思,也看字面,找得更稳。
OpenClaw 的默认 memory 插件支持多种 embedding 提供商和后端,不只一种办法。
memory 不是单纯“存文件”,它还可以在需要时帮你把旧线索找回来。
最后总结
Memory 就是 OpenClaw 真正写进工作区的小仓库,平时能搜、能取、能写,快压缩前还会提醒你把重要东西先存好。
如果你下一页只想继续看一页,我建议接着看 /concepts/compaction 或 /concepts/context。因为 memory 负责“存下来”,context 负责“这次带上来”,两页正好是一前一后。