深度

OpenClaw 记忆系统深度解析:MEMORY.md、日记文件与长期记忆管理完全指南

OpenClaw Agent 记忆系统完整解析:为什么 AI 每次对话不会遗忘(文件型记忆机制)、MEMORY.md 长期记忆的写法和维护策略、每日日记文件的自动创建规则、HEARTBEAT.md 心跳任务与记忆同步、跨会话上下文传递原理,以及如何让 OpenClaw 记住你的偏好和项目背景。

2026/3/175分钟 阅读ClaudeEagle

大多数 AI 聊天工具每次对话都是「失忆」的——不记得你是谁、你的偏好、上次讨论什么。 OpenClaw 通过基于文件的记忆系统解决了这个问题,让 AI 助手真正拥有长期记忆。

核心原理:文件就是记忆

OpenClaw 的记忆机制很直接:AI 把需要记住的信息写入文件, 下次会话时读取这些文件恢复上下文。

AI 对话 ↓ 学到新信息 写入文件(MEMORY.md / 日记文件) ↓ 下次会话开始 读取文件(恢复上下文) ↓ 对话时「记得」之前的一切

这个设计的优点是:

  • 透明可查:记忆是普通文本文件,你随时可以查看和编辑
  • 可移植:备份文件就备份了 AI 的所有记忆
  • 可控:你可以删除不想让 AI 记住的内容

记忆文件的层级结构

~/.openclaw/workspace-content/ ├── MEMORY.md # 长期核心记忆(精华) ├── SOUL.md # AI 的角色和行为定义 ├── USER.md # 关于用户的基本信息 ├── AGENTS.md # 操作规范和工作流程 └── memory/ ├── 2026-03-16.md # 今日日记 ├── 2026-03-15.md # 昨日日记 └── heartbeat-state.json # 心跳状态记录

MEMORY.md:长期核心记忆

MEMORY.md 是 AI 的「长期记忆库」,存放最重要、最需要持久保存的信息。

什么应该写进 MEMORY.md?

markdown
# MEMORY.md 示例内容

## 关于用户
- 叫张三,后端工程师,用 Python/Go
- 偏好简洁直接的回复,不喜欢废话
- 在北京,时区 UTC+8
- 有一只猫叫「豆腐」

## 项目上下文
- 主项目:电商平台后端(FastAPI + PostgreSQL)
- 当前迭代:支付模块重构,预计本周完成
- 技术栈:Python 3.12、FastAPI、SQLAlchemy 2.0、Redis

## 重要决策记录
- 2026-03-10:决定放弃 Celery,改用 ARQ(更轻量)
- 2026-03-05:数据库确认用 UUID 作为主键,不用自增 ID

## 用户偏好
- 代码示例语言优先 Python
- 喜欢用表格对比方案优劣
- 回复最好在 300 字以内

AI 如何维护 MEMORY.md?

AI 会在合适时机自动更新 MEMORY.md:

markdown
# 在 AGENTS.md 中定义更新规则

## 记忆维护规则
- 用户提到重要偏好 → 写入 MEMORY.md 用户偏好区
- 做出重要技术决策 → 写入 MEMORY.md 决策记录区
- 项目状态变化 → 更新 MEMORY.md 项目上下文区
- 收到「记住」指令 → 立即写入对应位置

每日日记文件

日记文件是原始的当日工作记录,AI 在每次会话中自动创建和追加:

memory/2026-03-17.md 示例: # 2026-03-17 工作日志 ## 10:23 对话 - 用户问了关于 FastAPI 依赖注入的问题 - 提供了 Depends() 的完整示例 - 用户反馈很有帮助 ## 14:05 对话 - 帮助调试 SQLAlchemy async session 问题 - 根本原因:async_session_factory 未正确关闭 - 解决方案:使用 async with 上下文管理器 ## 任务状态 - [x] 支付接口单元测试完成(14:30) - [ ] 退款逻辑待实现

哪些内容写日记?

markdown
# AGENTS.md 中定义日记规则

## 日记记录规则
- 每次解决重要问题 → 记录问题 + 解决方案
- 用户完成任务 → 标记为完成,记录时间
- 遇到有趣的技术点 → 简要记录
- 用户明确说「记一下」→ 立刻写入当天日记

HEARTBEAT 记忆同步

心跳任务中可以定期整理记忆,避免日记文件越堆越多:

markdown
# HEARTBEAT.md 中加入记忆维护任务

## 每周记忆整理(周五 22:00)

1. 读取本周所有日记文件(memory/2026-03-1*.md)
2. 提取值得长期保存的内容:
   - 重要技术决策
   - 解决的棘手问题
   - 用户新的偏好
3. 将提炼的内容追加到 MEMORY.md 对应区域
4. 不需要长期保存的日记内容可以压缩(只保留摘要)

跨会话上下文传递

OpenClaw 在每次会话开始时,自动读取关键记忆文件

markdown
# AGENTS.md 中定义启动读取顺序

## 每次会话启动时,按顺序读取:
1. SOUL.md(角色定义)
2. USER.md(用户信息)
3. memory/今日.md + memory/昨日.md(近期上下文)
4. MEMORY.md(长期记忆,仅主会话读取)

安全说明:MEMORY.md 只在与主用户的私聊中加载, 在 Discord 公开频道等场景不会加载,防止隐私泄露。

最佳实践建议

让 AI 主动整理记忆

你:把今天学到的技术要点都记到 MEMORY.md 里 AI:[读取今日日记,提炼要点,追加到 MEMORY.md] 已记录 3 个要点: 1. FastAPI 依赖注入的最佳实践 2. SQLAlchemy async session 使用规范 3. Redis 缓存 key 命名约定

定期清理过时记忆

你:MEMORY.md 里关于旧项目的内容已经过时了,帮我清理 AI:我来审查 MEMORY.md 中可能过时的内容... 建议删除:「项目 X」相关内容(3个月前的项目,已完成) 建议更新:技术栈中的 Python 版本(3.11 → 3.12) 确认删除/更新吗?

来源:OpenClaw 官方文档 - docs.openclaw.ai

相关文章推荐

深度OpenClaw Agent 记忆系统深度解析:向量搜索、混合检索与时间衰减策略OpenClaw Agent 记忆系统完整解析:双层 Markdown 文件架构(日常日志+长期记忆)、向量搜索提供商选择、混合 BM25+向量检索、MMR 多样性重排序、时间衰减策略、QMD 实验后端,以及 Session 记忆和嵌入缓存配置。2026/3/10深度OpenClaw 长期记忆系统深度解析:Markdown 文件、向量搜索与 QMD 后端OpenClaw 记忆系统深度解析:两层架构(每日日志+长期记忆MEMORY.md)、两个工具(memory_search/memory_get)、Pre-Compaction 自动刷新机制、BM25+向量混合搜索(MMR重排序+时间衰减)、QMD 实验性后端和扩展记忆路径配置。2026/3/2深度OpenClaw 记忆系统深度解析:双层 Markdown 记忆、向量搜索与 QMD 实验后端OpenClaw 记忆系统完整解析:双层 Markdown 架构(每日日志 + 长期 MEMORY.md)、memory_search 语义搜索工具、压缩前自动记忆刷新机制、向量嵌入模型选择策略,以及 QMD 实验性本地搜索后端(BM25 + 向量 + 重排序)的配置和使用指南。2026/2/28深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26深度OpenClaw 插件开发完全指南:从零构建自定义渠道和工具插件OpenClaw 插件(Plugin)开发完整教程:插件类型(渠道插件/工具插件/Provider插件)、插件的目录结构和 package.json 规范、使用 Plugin SDK 开发自定义消息渠道(实现 onMessage/sendMessage 接口)、开发自定义工具(Tool)的函数签名和参数 Schema、本地插件安装与调试(openclaw plugins install ./local-plugin)、发布到 npm 的规范要求(@openclaw/ 命名空间)、插件的权限声明(capabilities)、社区插件列表(Plugin Bundles)获取,以及常见插件开发错误和调试技巧。2026/3/25