Agents

记忆与会话

12分钟

理解 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>.mdsession-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 不等于长期记忆。

bash
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 chunks
  • memory_get:读取某个具体记忆项

CLI 也有对应入口:

bash
openclaw memory status
openclaw memory search "project decision"
openclaw memory index --force

Memory search 让 Agent 按需检索,而不是每轮注入全部记忆。

Search Backends

默认内置 backend 是 SQLite。OpenClaw 也可以使用 QMD、Honcho、LanceDB,或者不同 provider 的 embedding/search 配置。

QMD 是 local-first 的 Markdown memory sidecar。默认 workspace collection 会跟踪:

  • MEMORY.md
  • memory/ 目录树

QMD 还可以显式索引额外路径,或在开启后索引 session transcripts。QMD 不可用时,OpenClaw 可以回退到内置引擎。

Active Memory

Active memory 是可选的 plugin-owned 机制。符合条件的交互 session 里,一个窄权限 memory sub-agent 会在主回复前运行,并注入相关召回。

适合在不让用户每次显式搜索的情况下,自动带入相关历史。要限制到正确的 Agent 和 chat type。

注意:

  • 过期事实
  • 召回范围过宽
  • 私密数据跨 Agent 边界
  • 旧记忆压过当前用户意图

Session toggles:

text
/active-memory status
/active-memory off
/active-memory on

Memory 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.mdmemory/dreaming/

排查

bash
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 继续练习