记忆系统搭建完成报告
搭建时间:2026-03-05 14:00-14:30 参考文档:OpenClaw 记忆系统搭建指南 维护者:Travel Agent
✅ 已完成的工作
1. 文件结构创建
~/.openclaw/workspace/travel/
├── AGENTS.md ✅ 已添加记忆系统规则
├── MEMORY.md ✅ 已添加写入/清理/召回规则
├── HEARTBEAT.md ✅ 已添加日志兜底和每周蒸馏
├── openclaw.json ✅ 已配置心跳间隔 60 分钟
└── memory/
├── heartbeat-state.json ✅ 心跳状态追踪
├── 2026-03-05.md ✅ 今日日志(已有)
└── 2026-03-05-test.md ✅ 测试日志(新建)
2. AGENTS.md 记忆规则
已添加的核心规则:
每次 Session 启动必做
- 读取 MEMORY.md(长期记忆)
- 读取 memory/YYYY-MM-DD.md(今天 + 昨天)
- 如果是 session 第一条消息,主动告知用户"上次到哪"
语义触发写日志
- ✅ 确认了某件事
- ✅ 完成了实质性操作
- ✅ 话题明显切换
写日志标准:
- 已完成:标注"已完成,结论:X"
- 进行中:写明"进行中。已知约束:X"
- 修正:写"修正:之前 X 有误,正确是 Y"
三层防御机制
- 预防:写进行中任务时,约束与状态同行
- 侦测:恢复高风险任务时,先搜记忆找约束
- 兜底:执行不可逆操作前,当场确认约束
不存在"心理笔记"
- "记住这个" = 立刻写入文件
- session 内记忆不持久化
memory_search 使用规范
- 标注来源并确认
- 不直接当事实用
3. HEARTBEAT.md 自动维护
已添加的功能:
日志兜底写入(每 15 分钟检查)
- 读取
heartbeat-state.json的lastLogWrite - 超过 15 分钟 + 有实质性内容 → 写入日志
- 写完后更新时间戳
每周记忆蒸馏
- 读取
lastWeeklyTasks - 不是当前周 → 执行蒸馏
- 提炼近 7 天日志中有价值的内容到 MEMORY.md
4. MEMORY.md 规则
已添加的规则说明:
> 写入规则:只写 3 个月后仍有效的事实、决策、偏好。写入时标注日期。
>
> 清理规则:每周蒸馏时清理过期条目。
>
> 召回规则:搜到内容后标注来源确认,不直接当事实用。
>
> 有效期标注:
> - ✅ 长期有效(无特殊说明)
> - ⏰ 有效期至:YYYY-MM-DD
> - 📅 创建日期:YYYY-MM-DD
5. openclaw.json 配置
{
"agents": {
"main": {
"heartbeat": {
"intervalMinutes": 60
}
}
},
"memory": {
"embedding": {
"provider": "qmd",
"model": "qmd"
}
}
}
配置说明:
- 心跳间隔:60 分钟(避免 token 浪费)
- 语义搜索:使用 qmd embedding(无需额外 API)
6. heartbeat-state.json 状态追踪
{
"lastLogWrite": "2026-03-05T14:35:00+08:00",
"lastMorningBriefing": "",
"lastWeeklyTasks": ""
}
字段说明:
-
lastLogWrite:上次日志写入时间 -
lastMorningBriefing:上次晨间汇报日期 -
lastWeeklyTasks:上次蒸馏周次
🎯 记忆系统架构
┌─────────────────────────────────────────┐
│ Session Context(热) │
│ 当前对话的上下文窗口 │
│ 生命周期:单次 session │
├─────────────────────────────────────────┤
│ Daily Log(温) │
│ memory/YYYY-MM-DD.md │
│ 当天发生的事,原始记录 │
│ 生命周期:日 │
├─────────────────────────────────────────┤
│ Long-term Memory(冷) │
│ MEMORY.md │
│ 蒸馏后的长期记忆,精简有效 │
│ 生命周期:月 - 永久 │
└─────────────────────────────────────────┘
数据流向:
Session Context → 写入 Daily Log → 定期蒸馏到 MEMORY.md
📋 检查清单(逐项验证)
- memory/ 目录已创建
- MEMORY.md 已创建并添加规则
- memory/heartbeat-state.json 已创建
- AGENTS.md 中已添加 session 启动读取规则
- AGENTS.md 中已添加语义触发写日志规则(含约束同行要求)
- AGENTS.md 中已添加三层防御规则
- AGENTS.md 中已添加"心理笔记不存在"规则
- openclaw.json 中已配置心跳(intervalMinutes: 60)
- HEARTBEAT.md 中已添加日志兜底检查
- HEARTBEAT.md 中已添加每周蒸馏规则
- 测试日志已创建(2026-03-05-test.md)
-
发一条消息测试(待下次 session 验证) -
重启 session 测试(待下次 session 验证)
🚀 下一步
待测试项目(下次 session)
-
Session 启动读取测试
- 启动新 session
- 观察是否主动读取 MEMORY.md 和今日日志
- 观察是否汇报"上次到哪"
-
语义触发写日志测试
- 完成一个操作
- 观察是否自动写入 memory/YYYY-MM-DD.md
-
心跳兜底测试
- 等待 15 分钟
- 观察心跳是否检查并写入日志
📊 与原文对比
| 要求 | 状态 | 说明 |
|---|---|---|
| 文件结构创建 | ✅ 完成 | memory/、MEMORY.md、heartbeat-state.json |
| AGENTS.md 规则 | ✅ 完成 | 所有记忆规则已添加 |
| 心跳配置 | ✅ 完成 | 60 分钟间隔 |
| HEARTBEAT.md | ✅ 完成 | 日志兜底 + 每周蒸馏 |
| 三层防御 | ✅ 完成 | 预防、侦测、兜底 |
| 语义搜索 | ✅ 完成 | qmd embedding |
| 测试验证 | ⏳ 待测 | 下次 session 验证 |
🎉 总结
记忆系统已完整搭建!
- ✅ 文件结构完整
- ✅ 规则配置完善
- ✅ 心跳自动维护
- ✅ 三层防御机制
- ⏳ 待下次 session 验证实际效果
Git 提交:168b06e
同步状态:✅ 已推送到远程仓库
搭建完成时间:2026-03-05 14:30 维护者:Travel Agent