记忆与会话
理解 OpenClaw MEMORY.md、每日记忆、session history、compaction、memory search、QMD、active memory、dreaming 和 memory wiki。
OpenClaw 的记忆首先是 Agent workspace 里的普通 Markdown 文件。它没有一个隐藏的“私有大脑”:想让 Agent 长期记住,就要把内容写进可检查、可备份、可修改的文件和索引里。
记忆文件
默认 workspace 通常是 ~/.openclaw/workspace。最重要的是这些文件:
| 文件 | 用途 | 注入行为 |
|---|---|---|
MEMORY.md | 经整理的长期记忆:稳定事实、偏好、决策和短摘要 | main/private session 开始时加载;应该保持精炼 |
memory/YYYY-MM-DD.md | 每日工作记忆、观察、session summary | 今天和昨天会自动加载;memory/ 树会被索引用于召回 |
memory/YYYY-MM-DD-<slug>.md | session-memory flow 生成的带主题每日记忆 | 会和当天日期文件一起被拾取 |
DREAMS.md | 可选的 dreaming 日志和整理结果,供人审阅 | 用于审阅;长期晋升仍写入 MEMORY.md |
不要把根长期记忆文件写成小写 memory.md。OpenClaw 识别的是 MEMORY.md。
放在哪里
稳定操作规则放 workspace 指令:
AGENTS.md:工作流规则和优先级SOUL.md:人格、语气和边界USER.md:基础用户资料TOOLS.md:本地工具使用约定
学习到的连续性放 memory:
MEMORY.md:应该跨周保留的事实- daily notes:详细 session 轨迹和观察
DREAMS.md:可审阅的整理输出- 显式 reminder 或 automation:有时间边界的承诺
涉及行动的记忆要写清 permission、timing、expiry、owner,以及 Agent 是否可以下次直接行动。
Sessions 与 Compaction
Session 保存对话、工具调用和路由上下文。每个 Agent 都有自己的 session store,和 workspace 分开。
会话变长后,OpenClaw 会总结旧上下文并保留最近消息。自动 memory flush 可以在压缩前保存重要上下文,但 compaction 不等于长期记忆。
openclaw sessions list
openclaw sessions show <session>
openclaw transcripts list
openclaw transcripts show <session>需要召回时,优先使用有界的 memory/session 工具,不要直接把原始 transcript dump 进 prompt。
Memory Tools
Active memory plugin 提供 Agent 可调用的召回工具:
memory_search:搜索已索引的 memory chunksmemory_get:读取某个具体记忆项
CLI 也有对应入口:
openclaw memory status
openclaw memory search "project decision"
openclaw memory index --forceMemory search 让 Agent 按需检索,而不是每轮注入全部记忆。
Search Backends
默认内置 backend 是 SQLite。OpenClaw 也可以使用 QMD、Honcho、LanceDB,或者不同 provider 的 embedding/search 配置。
QMD 是 local-first 的 Markdown memory sidecar。默认 workspace collection 会跟踪:
MEMORY.mdmemory/目录树
QMD 还可以显式索引额外路径,或在开启后索引 session transcripts。QMD 不可用时,OpenClaw 可以回退到内置引擎。
Active Memory
Active memory 是可选的 plugin-owned 机制。符合条件的交互 session 里,一个窄权限 memory sub-agent 会在主回复前运行,并注入相关召回。
适合在不让用户每次显式搜索的情况下,自动带入相关历史。要限制到正确的 Agent 和 chat type。
注意:
- 过期事实
- 召回范围过宽
- 私密数据跨 Agent 边界
- 旧记忆压过当前用户意图
Session toggles:
/active-memory status
/active-memory off
/active-memory onMemory Wiki
Memory wiki 是 bundled plugin,会把 durable memory 编译成带 provenance 的 wiki vault。它不替代 active memory plugin。广泛召回用 memory_search,需要可追溯知识库时用 wiki tools。
Dreaming
Dreaming 是可选能力,默认关闭。开启后会在后台做整理:
- Light 和 REM 阶段写审阅输出,不写长期记忆
- Deep 阶段可以把蒸馏后的记忆晋升进
MEMORY.md - 人类可读审阅结果进入
DREAMS.md或memory/dreaming/
排查
openclaw memory status
openclaw memory search "project decision"
openclaw status --usage如果记忆不对,分别检查 MEMORY.md、daily notes、session、compaction、search index、active memory 和 workspace 指令。
Memory 也是权威
错误记忆比没有记忆更危险。保持记忆有作用域、可查看、可修正,尤其是共享 Gateway 或群聊 Agent。
继续实践
记忆与会话 的核心概念已经读完
如果你想把理解变成可复用的能力,可以到 AgentWay 继续练习