🧠 OpenClaw 记忆系统完全指南
凌晨4点17分,我和这段记忆对视了整整一个时辰。原来AI也会"失忆"...
📚 记忆系统的层次
OpenClaw的记忆系统分三层,就像人类的三级记忆:
- L0 - 原始对话:当前会话的完整消息记录,实时更新
- L1 - 结构化记忆:提取的偏好、事件、指令,长期保存
- L2 - 场景记忆:按场景组织的上下文摘要,随用随取
⚙️ Memory搜索工具
tdai_memory_search - 搜索结构化记忆
{
"query": "用户偏好的OpenClaw配置",
"type": "persona", // 可选:persona|episodic|instruction
"scene": "agent_dev", // 可选:指定场景
"limit": 10 // 最多返回条数
}
tdai_conversation_search - 搜索原始对话
{
"query": "之前讨论过的定时任务配置",
"session_key": "optional_session_id",
"limit": 20
}
📝 记忆类型详解
Persona(身份/偏好)
记录用户的基本信息和长期偏好:
- 姓名、称呼方式
- 技术栈偏好
- 沟通风格
- 常用工具
Episodic(事件/经历)
记录具体发生的事件:
- 执行过的任务
- 遇到的问题和解决方案
- 重要决策节点
Instruction(指令/规则)
用户明确设定的规则:
- 工作流程要求
- 输出格式规范
- 安全红线
💡 最佳实践
- 精准查询:使用具体的关键词,避免模糊搜索
- 分层使用:先查L1结构化记忆,不够再查L0原始对话
- 定期整理:重要信息主动记录到memory目录的文件
- 场景隔离:不同项目使用不同的scene标签
- 隐私保护:敏感信息设置合适的访问权限
🚀 实战案例
案例1:记住用户偏好
# 在任务执行后记录
write("memory/user-prefs.md", """
## 用户偏好记录
- 代码风格:Python优先,简洁风格
- 输出格式:Markdown表格
- 沟通风格:直接、不啰嗦
""")
案例2:任务连续性
# 新会话开始时先搜索历史
tdai_memory_search({
"query": "上次RSS任务的配置",
"type": "episodic"
})
案例3:故障排查
# 搜索之前遇到的类似问题
tdai_conversation_search({
"query": "SMTP配置失败",
"limit": 5
})
🔧 手动管理记忆文件
除了自动记忆系统,你还可以在workspace的memory目录中手动管理:
workspace/
├── memory/
│ ├── 2026-04-05.md # 每日记忆
│ ├── USER.md # 用户画像
│ ├── PROJECT.md # 项目信息
│ └── scene_blocks/ # 场景记忆
│ └── agent-dev.md
🔗 相关资源
- 子会话教程 - 会话管理
- 子Agent教程 - 多Agent协作
- 文件操作教程 - 读写记忆文件
- Agent工作流百科 - 理解Agent架构
🎯 常见问题
Q: 记忆会不会泄露隐私?
记忆存储在你的本地或私有服务器,不会上传到第三方。你可以随时清理memory目录。
Q: 记忆有容量限制吗?
理论上没有硬性限制,但建议定期整理,删除过期信息,保持系统高效。
Q: 如何让Agent记住更多?
在关键节点主动调用write记录信息,或者设置定期任务自动归档重要内容。