乐于分享
好东西不私藏

Openclaw学习笔记(10)记忆系统

Openclaw学习笔记(10)记忆系统

记忆概览

OpenClaw 通过在代理(Agent)的工作空间内写入纯文本 Markdown 文件来存储记忆。模型仅能“记住”那些已保存至磁盘的内容——不存在任何隐式或隐藏的状态。

​工作原理

您的代理包含三个与记忆相关的文件:

MEMORY.md —— 长期记忆。用于存储持久性的事实、偏好及决策。该文件会在每次 DM(对话管理)会话开始时被加载。

memory/YYYY-MM-DD.md —— 日常笔记。用于记录持续的上下文信息及观察所得。系统会自动加载“今天”和“昨天”的笔记。

DREAMS.md(可选)—— 梦境日记与“梦境清扫”(Dream Sweep)摘要,供人类用户审阅;其中包含基于既有事实回填的历史记录条目。

这些文件均存放于代理的工作空间内(默认路径为 ~/.openclaw/workspace)。

workspace文件夹里面的MEMORY.md文件

workspace memory里面的日志文件

记忆日志文件示例:这里记录了4月11号发生的一些事情,包括一个测试图片,最新消息请求,模型更换,Email格式等事宜。

记忆工具

智能体(agent)拥有两个用于处理记忆的工具:

memory_search —— 利用语义搜索查找相关笔记,即使措辞与原文有所不同。

memory_get —— 读取特定的记忆文件或行范围。

这两个工具均由当前活跃的记忆插件提供(默认为:memory-core)。

记忆搜索

当配置了嵌入服务提供商后,`memory_search` 功能将采用混合搜索模式——即结合向量相似度(语义含义)与关键词匹配(诸如 ID 和代码符号等精确术语)进行搜索。只要您拥有任一受支持服务提供商的 API 密钥,此功能即可开箱即用。

OpenClaw 会根据您现有的 API 密钥,自动检测并识别您所使用的嵌入服务提供商。如果您已配置了 OpenAI、Gemini、Voyage 或 Mistral 的密钥,记忆搜索功能将自动启用。

自动记忆刷新

在执行对话压缩(Compaction)以总结您的对话之前,OpenClaw 会静默执行一个轮次,提示代理将重要上下文保存至记忆文件中。此功能默认开启——您无需进行任何配置。

梦境(Dreaming)

“梦境”是一项可选的、用于记忆巩固的后台处理流程。它负责收集短期信号,对候选条目进行评分,并仅将符合条件的条目晋升至长期记忆库(详见 MEMORY.md)。

此机制旨在确保长期记忆库始终保持高信噪比:

  • 可选启用: 默认状态下处于禁用状态。

  • 定时调度:启用后,记忆核心(memory-core)将自动管理一项周期性的 Cron 任务,以执行完整的“梦境”扫描与整理。

  • 阈值筛选:记忆条目的晋升必须通过评分、召回频率以及查询多样性等多重关卡。

  • 人工可审: 各处理阶段的摘要及相关日记条目将被写入 DREAMS.md 文件中,以便进行人工审阅。

相关命令行
openclaw memory status          # 检查索引状态和提供商openclaw memory search "query"  # 命令行搜索openclaw memory index --force   # 重建索引