OpenClaw(原 Clawdbot/Moltbot)是一个开源的个人 AI 助手项目,其持久化内存(也常称为持久化记忆或长期记忆系统)是核心特色之一。它让 Agent 能在会话重启、跨天甚至跨月后“记住”用户偏好、关键事实、决策和历史上下文,而非每次都从零开始。
1. OpenClaw 原生持久化内存机制
OpenClaw 的设计哲学是简单透明、完全本地化,记忆不依赖外部数据库或云服务,而是直接用Markdown 文件存储在 Agent 的工作区(默认路径:~/.openclaw/workspace 或类似配置路径)。这样用户可以随时用文本编辑器查看、编辑或备份记忆。
主要文件结构(分层设计):
- MEMORY.md
(长期/精选记忆层):存储核心事实、用户偏好、重要决策等。只保留高价值信息,每次主会话启动时会加载到上下文中。内容需要经过筛选和蒸馏,避免膨胀。 - memory/YYYY-MM-DD.md
(每日记忆日志层):append-only(只追加不修改)的日常记录,记录当天事件、笔记、临时决策等。像“日记本”一样,可无限增长。 - 会话实录(jsonl 或 transcript)
:短期工作记忆,记录原始对话历史。 - 其他 bootstrap 文件
:如 SOUL.md(人格定义)、USER.md(用户画像)、TOOLS.md 等,每次会话启动时从磁盘加载。
工作流程:
Agent 在对话中会主动或根据指令将重要信息写入上述文件。 支持智能压缩(compaction):当上下文接近 token 上限时,会触发自动机制(如 memory flush),让模型提炼关键信息存入 MEMORY.md,同时清理过时内容。压缩是“有损”或“无损”取决于配置/插件。 - 检索机制
:内置全文搜索(SQLite FTS5)、向量语义搜索(sqlite-vec 或实验性 QMD 后端),支持关键词 + 语义混合检索。需要时从文件中拉取相关片段注入上下文,而不是一股脑塞全部历史。 - 特点
:持久(跨重启有效)、无上限(文件可无限增长)、低成本(不额外消耗 LLM token)、用户完全可控。
局限性:纯 Markdown 方案在海量数据时检索效率可能不高、chunking 分割不佳时语义检索精度受影响、并发写入需注意安全。社区常通过插件或混合方案优化。
2. 社区常见增强方案(插件与混合持久化)
原生方案已能满足基本需求,但很多人会叠加插件实现更强的“自我进化”:
- 向量数据库插件
:如 memory-lancedb-pro,支持智能提取(自动从对话中筛选重要内容存入向量库)、去重、自动召回(Auto-Recall)。能让记忆更语义化,避免垃圾信息。 - 无损/高级压缩插件
:如 Lossless-claw,使用 DAG 压缩 + SQLite 持久化,记忆整理自动化,减少信息丢失。 - 外部内存插件
:Mem0、Cognee、Supermemory 等。将部分记忆移到向量库或知识图谱(knowledge graph)中,实现 compaction-proof(压缩不影响持久层)。支持 Auto-Capture(自动捕获)和 Auto-Recall。 - 分层存储思路
:热层(内存,会话上下文)、温层(Markdown/SQLite,结构化信息)、冷层(向量数据库,历史摘要/语义检索)。许多文章推荐这种混合方式。
这些插件通常通过 openclaw plugins install 命令安装,配置简单。有些支持本地自托管(Ollama + Qdrant 等),有些用云服务。
3. 实际使用建议
- 想简单上手
:直接用原生 MEMORY.md + 每日日志 + 内置检索。告诉 Agent “记住这个……” 或在会话结束时让它总结存盘即可。 - 追求强记忆
:安装 1-2 个热门插件(如 memory-lancedb-pro 或 Lossless-claw),结合原生文件,形成“越用越聪明”的效果。 - 云上部署
:可用对象存储(如腾讯云 Lighthouse COS)持久化整个 workspace 目录(记忆 + 日志 + 结果)。 - 注意事项
:记忆质量取决于模型提炼能力 + 用户指令。建议定期 review MEMORY.md,避免无关内容堆积。压缩机制可配置(如 softThresholdTokens)。
如果你在用 OpenClaw,推荐查看官方文档(docs.openclaw.ai/concepts/memory)或 GitHub 项目。社区讨论(如知乎、腾讯云开发者文章、Reddit)里有很多源码解析和插件推荐。
具体问题可以补充:你是想了解原生实现细节、某个插件安装步骤、还是优化方案对比?或者遇到什么内存相关的问题?
夜雨聆风