一、核心设计理念
OpenClaw 记忆全部以标准 Markdown 文件存储,不依赖向量数据库、外部存储服务,特点:
- 透明可视:直接打开文件就能查看、编辑记忆内容
- 自由迁移:可备份、同步、Git 版本管理
- 轻量可靠:纯文本读写,无额外组件依赖
- 分层管理:区分长期记忆、每日笔记、实验梦境记忆
核心规则:模型仅加载 / 读取已落地到磁盘的记忆文件。
二、三大记忆文件(路径 + 用途)
所有文件默认路径:~/.openclaw/workspace/
1. MEMORY.md 长期记忆(核心)
作用
跨会话永久保存关键固定信息,每次对话启动都会自动加载进上下文。
适合:用户习惯、项目配置、账号信息、规则约定、固定参数。
路径
plaintext
~/.openclaw/workspace/MEMORY.md
标准写法示例
markdown
# 长期记忆汇总
## 用户偏好
- 沟通风格:简洁、直奔重点
- 常用技术栈:Java、Python、SQL、Nginx
- 编辑器:VS Code
## 项目配置
- 数据库:MySQL 8.0
- 服务地址:106.52.9.75
- 部署方式:Docker + Nginx
## 通用规则
- 输出代码附带简要注释
- 报错优先给出可直接运行的修复代码
2. memory / 日期.md 每日笔记(临时 / 流水记忆)
作用
按自然日自动生成日记文件,记录当日任务、问题、临时想法。
不会默认加载进上下文,仅通过搜索工具按需调取,避免占用 Token。
路径
plaintext
~/.openclaw/workspace/memory/2025-06-14.md
内容示例
markdown
# 2025-06-14 工作记录
## 已完成
1. 配置模型故障转移与流式传输
2. 调试 Telegram 渠道流式分块
## 待跟进
1. 优化 Ollama 局域网连接
2. 整理多智能体路由规则
## 问题记录
- Telegram 分块过小易触发平台限流
3. DREAMS.md 梦境记忆(实验功能)
作用
AI 空闲时自动整理、提炼碎片化记忆,合并关联内容、淘汰无效信息,优化记忆结构。
状态:实验性功能,默认关闭,接口与逻辑后续可能变更。
路径
plaintext
~/.openclaw/workspace/DREAMS.md
三、两大内置记忆工具(对话中调用)
1. memory_search 语义搜索(推荐)
- 能力:语义匹配,不是简单关键词检索,换种说法也能搜到相关内容
- 用途:回忆历史对话、查找每日笔记、检索零散信息
- 触发方式:对话直接提问即可自动调用
示例
plaintext
用户:上次说的数据库部署地址是多少?
智能体:(自动调用 memory_search 检索记忆)
找到相关内容:MEMORY.md 记录服务地址为 106.52.9.75
2. memory_get 读取完整文件
- 能力:直接读取整个记忆文件全文
- 用途:查看完整长期记忆、翻阅某一天全部日记
示例
plaintext
用户:把我的长期记忆全部展示出来
智能体:(调用 memory_get 读取 MEMORY.md)
工具对比
表格
| 工具 | 特点 | 适用场景 |
|---|---|---|
| memory_search | 语义匹配、返回片段、省 Token | 查历史信息、零散笔记 |
| memory_get | 读取完整文件、内容全 | 整体查看记忆、批量审阅 |
四、自动记忆机制
1. 对话压缩 & 自动落库
对话轮次过多时,系统会压缩历史会话(总结摘要、缩减上下文),避免超出模型上下文限制。
压缩流程:
- 扫描待压缩的对话内容
- 识别重要信息(配置、决策、用户要求)
- 自动写入
MEMORY.md或当日每日笔记 - 执行会话压缩
👉 优势:长对话压缩后,关键信息不会丢失。
2. 手动指令保存记忆
可主动命令 AI 记录内容,精准控制记忆落点:
plaintext
# 存入长期记忆
用户:记住:生产环境端口统一使用 18789
# 存入当日笔记
用户:把今天讨论的接口限流方案记到今日笔记里
五、启用实验功能:Dreaming 梦境整理
空闲时段自动梳理、归类、精简记忆,提升检索效率。
开启配置
编辑 ~/.openclaw/openclaw.json:
json
{
"memory": {
"dreaming": {
"enabled": true
}
}
}
注意:该功能会额外调用模型、消耗 Token,生产环境不建议开启。
工作流程
- 收集日常对话中的关键信号
- 按重要性打分
- 空闲时整合、提炼、迁移有效内容到长期记忆
- 衰减、清理无效碎片化信息
六、CLI 命令行记忆管理
1. 查看整体记忆状态
bash
运行
openclaw memory status
输出:文件大小、更新时间、笔记数量、索引状态。
2. 命令行检索记忆
bash
运行
openclaw memory search "数据库地址"
批量查找所有记忆文件中的相关内容。
3. 重建搜索索引
手动修改记忆文件、恢复备份后,必须重建索引,否则搜索失效:
bash
运行
openclaw memory index
七、多智能体记忆隔离
多智能体场景下,每个 Agent 拥有独立记忆目录,完全隔离互不干扰:
main主智能体:~/.openclaw/workspace/- 自定义智能体(如 work):
~/.openclaw/agents/work/workspace/
编辑对应智能体记忆:
bash
运行
# 编辑 work 智能体长期记忆
nano ~/.openclaw/agents/work/workspace/MEMORY.md
八、最佳实践与使用规范
1. MEMORY.md 管理(长期记忆)
- 按模块分类(偏好、配置、规则、项目),条理清晰
- 定期清理:删除过期配置、重复内容
- 控制篇幅:内容过多会占用上下文,导致可用对话轮次变少
2. 每日笔记管理
- 记录:当日任务、问题、临时方案、跟进事项
- 不用刻意精简,适合流水式记录
- 历史笔记无需删除,依靠
memory_search检索即可
3. 备份记忆(重要)
记忆是核心数据,建议 Git 版本管控:
bash
运行
cd ~/.openclaw/workspace
git init
git add MEMORY.md memory/
git commit -m "记忆备份 2025-06-14"
4. 记忆使用技巧
- 重要配置、规则主动让 AI 记录,不要依赖自动识别
- 细节、临时内容优先存每日笔记
- 固定不变的核心信息存入 MEMORY.md
- 手动改记忆文件后,务必执行
openclaw memory index
九、已知局限性(避坑)
- MEMORY.md 占用上下文 文件越大,留给对话的 Token 越少,建议精简内容。
- 每日笔记不会自动加载 必须通过
memory_search主动搜索,AI 不会凭空想起历史笔记。 - 语义搜索存在误差 极专业、生僻细节可能匹配不准,关键信息建议写在长期记忆。
- 对话压缩仍可能丢失边缘细节 极度细节内容,建议手动写入笔记留存。
十、快速配置 & 排查总结
- 记忆本质 = 纯 Markdown 文件,透明易维护;
- 长期记忆
MEMORY.md随会话加载,每日笔记按需搜索; - 改记忆文件后 → 执行
openclaw memory index重建索引; - 多智能体记忆目录相互独立;
- Dreaming 为实验功能,测试环境使用即可;
- 重要数据定期 Git 备份,防止丢失。