
背景 #
在使用 OpenClaw 作为个人数字助理的过程中,我发现了一个核心问题:对话记忆无法持久化。
每次会话结束后,关键信息就丢失了。下次打开新会话,AI 完全不记得之前发生了什么。这导致:
- 配置信息需要反复告知
- 项目进度无法连续追踪
- 用户偏好每次都要重新说明
- 重要决策没有记录可查
为了解决这个问题,我设计并落地了一套自动记忆系统。
设计目标 #
- 自动记录 - 用户无需手动操作,AI 自动捕捉关键信息
- 自动加载 - 每次会话启动,自动加载相关记忆
- 记忆持久 - 重启不丢,切换会话不丢
- 不膨胀上下文 - 分层存储,控制 Token 使用
- 用户无感 - 不改变使用习惯,只是增强功能
分层存储架构 #
四层记忆结构 #
| 层级 | 文件位置 | 用途 | 更新频率 | 加载优先级 |
|---|---|---|---|---|
| 元记忆 | IDENTITY.md / USER.md / SOUL.md |
固定身份、用户信息、全局配置 | 很少更新 | 🥉 |
| 短期记忆 | memory/YYYY-MM-DD.md |
当日对话关键信息、操作记录 | 每日自动更新 | 🥇 |
| 中期记忆 | memory/YYYY-WW.md |
本周关键信息汇总 | 每周自动更新 | 🥈 |
| 长期记忆 | MEMORY.md |
永久重要结论、决策、偏好 | 每周自动同步精华 | 🥈 |
目录结构 #
~/.openclaw/workspace/
├── IDENTITY.md # AI 身份信息
├── USER.md # 用户信息
├── SOUL.md # 风格人设
├── MEMORY.md # 长期记忆(精华)
├── TOOLS.md # 本地工具配置
├── memory/
│ ├── 2026-03-12.md # 每日记忆
│ ├── 2026-03-13.md # 每日记忆
│ └── 2026-11.md # 每周记忆 (2026 年第 11 周)
└── docs/
└── AUTO_MEMORY_SYSTEM_COMPLETE.md自动工作机制 #
3.1 自动记录 #
触发时机 #
- 预压缩刷新(主要):系统触发
Pre-compaction memory flush时自动执行 - 用户明确要求:用户说「记住这个」「记下来」时立即追加
- 每周汇总:周日最后一次记录时自动汇总本周
记录规则 #
✅ 必须记录:
- 用户明确要求记住的任何信息
- 新建/修改的配置、服务、实例信息
- Bug 修复记录、重要结论、决策
- 用户偏好、习惯、个人信息变更
- 项目进度里程碑、完成状态
- 错误解决方法(下次可直接复用)
- 架构变更、设计方案最终版
❌ 不记录:
- 重复的日常对话废话
- 工具执行的完整输出(只记录结论)
- 临时调试信息(除非用户要求)
- 敏感信息(密码、密钥、私密内容)
记录格式规范 #
## 2026-03-13 记忆记录
### [USER] 用户明确要求
- 10:30 记住:TTS 偏好改为 "Nova" 声音
### [AUTO] 自动记录关键信息
- 11:00 新建服务:agent-home,端口 8080,用途:家庭控制
- 11:15 Bug 修复:Feishu 消息发送失败,原因:token 过期
### [SYNC] 已同步长期记忆
- ✅ 用户时区确认为 Asia/Shanghai
- ✅ 偏好:不使用 markdown 表格,用列表代替标记说明:
[USER]- 用户明确要求记住的(高优先级)[AUTO]- AI 自动判断记录的(中优先级)[SYNC]- 已同步到长期记忆的(永久保存)
3.2 自动加载 #
加载顺序(每次会话启动) #
1. 🥇 今日短期记忆 → memory/YYYY-MM-DD.md(今天)
2. 🥈 最近 3 天记忆 → memory/YYYY-MM-DD.md(前 3 天)
3. 🥈 长期记忆 → MEMORY.md
4. 🥉 元记忆 → IDENTITY.md / USER.md / SOUL.mdToken 预算控制 #
| 文件类型 | 目标大小 | 最大行数 | 超限处理 |
|---|---|---|---|
| 每日记忆 | < 2KB | 50 行 | 自动压缩,只保留关键 |
| 每周记忆 | < 5KB | 100 行 | 摘要合并 |
| 长期记忆 | < 10KB | 200 行 | 定期清理过时内容 |
| 总计 | < 20KB | - | 动态调整加载天数 |
3.3 自动汇总 #
触发时机 #
- 每周日 23:59 或最后一次预压缩刷新时
汇总流程 #
1. 读取本周所有每日记忆文件 (7 个)
2. 提取关键信息,去重合并
3. 生成周汇总文件 memory/YYYY-WW.md
4. 筛选永久重要内容,同步到 MEMORY.md
5. 标记已同步的内容 [SYNC]精华提取规则 #
同步到长期记忆的条件(满足任一即可):
- 用户明确要求「永远记住」
- 被引用复用 ≥ 3 次(高质量记忆)
- 涉及核心配置/偏好/身份
- 重要项目最终结论
不同步的内容:
- 临时性信息(有明确过期时间)
- 重复的日常操作记录
- 已过时的配置/状态
特殊场景处理 #
4.1 多会话并发 #
场景: 同时打开多个会话,都写入同一天的记忆文件
处理方案:
- 所有会话写入同一个
memory/YYYY-MM-DD.md - 使用时间戳 + 会话 ID 标记来源
- 写入前读取最新内容,避免覆盖
- 采用追加模式,不修改已有内容
4.2 隐私保护 #
场景: 敏感对话不应被记录
处理方案:
- 用户说「不要记住」「别记这个」时,跳过本次记录
- 涉及密码、密钥、隐私的内容,AI 主动不记录
- 提供手动清理命令:
/memory clear [日期]
4.3 记忆冲突 #
场景: 同一信息在不同时间被多次记录,内容不一致
处理方案:
- 时间优先:最新记录覆盖旧记录
- 用户优先:[USER] 标记的内容优先级最高
- 在长期记忆中只保留最新状态,旧状态归档
落地步骤 #
第一步:创建目录 #
mkdir -p ~/.openclaw/workspace/memory第二步:确认现有文件 #
确保以下文件存在(OpenClaw 默认已有):
IDENTITY.mdUSER.mdSOUL.mdMEMORY.md
第三步:初始化今日记忆 #
# 创建今日记忆文件(如果不存在)
touch ~/.openclaw/workspace/memory/$(date +%Y-%m-%d).md第四步:开始自动运行 #
无需额外配置,AI 按规则自动执行:
- ✅ 每次预压缩时自动记录
- ✅ 每次会话启动自动加载
- ✅ 每周日自动汇总
优势总结 #
| 优势 | 说明 |
|---|---|
| ✅ 完全自动 | 用户无需手动操作,AI 自动记录加载 |
| ✅ 记忆持久 | 重启不丢,切换会话不丢,任何新会话都记得 |
| ✅ 不膨胀上下文 | 分层存储,只加载必要信息,token 控制良好 |
| ✅ 兼容原有习惯 | 不改变使用方式,只是增强功能 |
| ✅ 支持多会话 | 切换会话记忆不中断,关键信息自动同步 |
| ✅ 可追溯 | 每条记忆有来源标记,方便排查 |
| ✅ 可清理 | 定期清理机制,避免无限增长 |
效果示例 #
场景:今天部署了两个 agent #
对话过程:
用户:帮我部署一个 home-agent,端口 8080
AI:已部署完成,服务运行在 http://localhost:8080
用户:再部署一个 work-agent,端口 8081
AI:已部署完成
用户:记住这两个 agent 的配置
AI:已记录到今日记忆,并同步到长期记忆自动记录内容:
### [USER] 10:30
- 部署 agent:home-agent (端口 8080)
- 部署 agent:work-agent (端口 8081)
### [SYNC] 已同步长期记忆
- ✅ 常驻服务:home-agent (:8080), work-agent (:8081)下次会话自动加载:
📚 记忆已加载:
- 长期记忆:常驻服务配置已就绪
- 今日记忆:2 条新记录
用户:work-agent 端口是多少?
AI:work-agent 运行在 8081 端口(今天部署的)风险与应对 #
| 风险 | 影响 | 应对措施 |
|---|---|---|
| 自动记录误判 | 废话太多或漏记重要信息 | 保留用户手动标记通道,定期回顾调整 |
| 记忆文件膨胀 | token 超限,加载缓慢 | 设置大小上限,定期清理,动态调整加载天数 |
| 隐私泄露 | 敏感信息被记录 | AI 主动识别不记录,提供手动清理命令 |
| 多会话冲突 | 写入覆盖或混乱 | 追加模式 + 时间戳标记,读取最新内容 |
| 记忆过时 | 旧配置与新配置冲突 | 时间优先原则,最新记录覆盖,旧内容归档 |
待优化方向 #
- 智能判断优化 - 通过反馈循环提升自动记录准确率
- 记忆检索增强 - 配合
memory_search工具,支持语义搜索 - 过期自动清理 - 给临时记忆加过期时间,自动删除
- 记忆可视化 - 生成记忆时间线/图谱,便于浏览
- 导出备份 - 支持记忆导出为 JSON/Markdown 备份
总结 #
自动记忆系统是 OpenClaw 的核心增强功能之一。它解决了 AI 助理记忆无法持久化的痛点,让对话关键信息能够自动记录、自动加载、长期保存。
通过分层存储架构和 Token 预算控制,系统在保证记忆连续性的同时,避免了上下文膨胀问题。多会话并发处理和隐私保护机制,让系统更加健壮和安全。
设计者: 老黄 (Ali) ⚙️
版本: v1.1
日期: 2026-03-13