乐于分享
好东西不私藏

OpenClaw ACP Harness 系列 05:Memory 与 Heartbeat——让 AI 拥有持久记忆

OpenClaw ACP Harness 系列 05:Memory 与 Heartbeat——让 AI 拥有持久记忆

每次重启 ChatGPT,它都不认识你了。OpenClaw 的 AI 有文件作为记忆——它记得你喜欢什么,正在做什么项目,上次发生了什么。


一、Memory 系统的四个层次

如图所示,OpenClaw 的记忆分为四层,从上到下重要性递减:

第一层:长期记忆(MEMORY.md)

# MEMORY.md —— 核心长期记忆

## 用户信息
名字:Devin,时区 Asia/Shanghai
偏好:直接给答案,不铺垫,用中文

## 当前项目
公众号文章系列:D:\project\article
图片目录:D:\project\images
文章用 WenQuanYi Micro Hei 字体避免乱码

## 重要约定
SVG 图片必须先转 PNG 再用(公众号不支持 SVG)
生成文件放 workspace/temp/ 目录

## 记录的教训
2024-04: cairosvg 渲染中文需要指定中文字体

关键规则: MEMORY.md 只在主会话(直接对话)加载,在群聊中不加载,防止个人信息泄露。

第二层:日记记忆(memory/YYYY-MM-DD.md)

每天的原始日志,记录发生了什么:

# 2024-04-21

## 今天做的事
生成安卓逆向系列10篇文章
修复 SVG 中文乱码问题(改用 WenQuanYi 字体)
写 AI Coding Harness 系列8篇

## 踩的坑
cairosvg 在 Linux 上找不到 Arial 字体
  解决:所有 SVG 改用 WenQuanYi Micro Hei,sans-serif

## 待办
OpenClaw ACP Harness 系列还差最后几篇

第三层:Heartbeat 状态(memory/heartbeat-state.json)

{
"lastChecks": {
"email"1713661234,
"calendar"1713650000,
"weather"null
  }
}

第四层:上下文窗口(会话内存)

当前对话历史,会话结束即消失。


二、记忆的写入时机

什么时候更新记忆?

立即写入(memory_search / write):
✓ 用户说"记住这件事"
✓ 发生了重要决策
✓ 发现了有价值的信息

定期整理(Heartbeat 触发):
✓ 每隔几天,把日记精华提炼到 MEMORY.md
✓ 删除过期信息
✓ 更新当前项目状态

三、Heartbeat 机制

Heartbeat 是定时触发的心跳检查,让 AI 主动干活。

配置 HEARTBEAT.md:

# HEARTBEAT.md

## 定期检查任务

### 邮件检查
上次检查超过2小时:扫描收件箱
发现重要邮件:立即通知

### 日历提醒
查看未来24小时内的日程
有会议提前1小时提醒

### 记忆维护
每3天:把日记精华提炼到 MEMORY.md
每周:清理过时信息

Heartbeat 触发规则:

✅ 主动通知(打断用户):
- 重要邮件到达
- 2小时内有会议
- 发现重要变化

🔇 静默处理(HEARTBEAT_OK):
- 夜间23:00-08:00
- 刚检查过(<30分钟内)
- 没有新的重要信息
- 用户明显很忙

四、memory_search 工具

AI 可以搜索自己的记忆:

// 搜索记忆
memory_search({ query"SVG 中文字体问题" })
// → 返回相关记忆片段,带来源文件和行号

// 读取特定记忆文件
memory_get({ path"MEMORY.md"from1lines50 })

// 写入新记忆(通过写文件实现)
write({ path"memory/2024-04-21.md"content"..." })

五、隐私安全模型

主会话(私聊):
✓ 加载 MEMORY.md
✓ 加载今天和昨天的日记
✓ 完整的个人上下文

群聊 / 其他人的会话:
✗ 不加载 MEMORY.md
✗ 不加载日记
✓ 只有通用的 SOUL.md 和 AGENTS.md

原因:群聊中可能有其他人,不能泄露个人信息

六、实用技巧

让 AI 记住你的偏好:

对 AI 说:"记住:我喜欢直接得到答案,不需要解释过程"
→ AI 会将这条写入 MEMORY.md 并在以后遵守

主动触发记忆整理:

对 AI 说:"整理一下最近一周的日记,更新 MEMORY.md"
→ AI 读取日记文件,提炼重要信息,更新长期记忆

查看 AI 知道什么:

对 AI 说:"你现在记得关于我的哪些信息?"
→ AI 展示当前 MEMORY.md 的关键内容

下一篇:TaskFlow——让长任务跨会话持续运行