别再用外部插件了,OpenClaw 自己就有 RAG
很多人像我一样,"养虾"快一个月、才终于开窍,解锁了真·"长期记忆"。
最近OpenClaw 彻底火了。很多人像我一样,兴冲冲地装好、跑起来,然后每天让它帮处理邮件、整理笔记、写周报……用着用着却发现:它好像还是会忘事。
今天我终于明白问题出在哪里,也真正解锁了它内置的长期记忆机制。这篇文章就是给所有还在"短期记忆"阶段挣扎的养虾人的科普向干货。

为什么很多新手觉得OpenClaw"没记忆"?
OpenClaw本质上是一个本地运行的开源AI Agent框架。它不像ChatGPT那样每次聊天都从零开始,但默认状态下,它的"记忆"其实很有限:
- 短期记忆:只靠当前对话的上下文窗口(Token限制内)。今天聊完关掉,明天重新打开,很多细节就得重新交代。
- 表面上的长期记忆:它会把聊天记录保存成Markdown文件(daily notes),但如果不主动处理,这些文件只是"堆在那里",Agent并不会聪明地调用它们。
结果就是:养了一个月,虾还是经常"健忘",让你忍不住吐槽"还不如Claude聪明"。
其实,OpenClaw早就内置了解决办法——基于RAG的长期记忆系统。很多人用了一个月才发现(包括我),因为它默认没完全开启,或者配置得不够聪明。
OpenClaw的长期记忆到底是怎么工作的?
OpenClaw的记忆系统采用双层/三层架构,核心就是RAG(Retrieval-Augmented Generation,检索增强生成):
1. 短期记忆(Short-term Memory) 当前会话的原始上下文。像我们和朋友聊天时记住的"最近几句话"。
2. 长期记忆(Long-term Memory) 这是重点!它把历史对话、关键事实、用户偏好等,自动摘要后存入向量数据库(支持Chroma、SQLite、Milvus等本地后端)。 当你下次提问时,Agent不会把所有历史都塞进Prompt(那样太费Token),而是通过memory_search工具进行语义检索,只把最相关的片段拉进来。
3. 工具驱动的"按需回忆" OpenClaw聪明的地方在于:它不是把所有记忆硬塞给模型,而是让Agent自己决定什么时候用memory_search或memory_get工具去查。 这既省Token,又更精准,避免了无关信息干扰。
简单说:RAG就像给你的虾配了一个私人图书馆。它不只是"记下来",而是能"理解、筛选、精准调用"。你说过"以后优先用TypeScript写代码""我讨厌周报用太多模板",它就能长期记住并主动应用。

方案:用OpenClaw自带的原生Memory模块(最简单,不用装任何东西)
OpenClaw本身就有持久化记忆能力,它就是一个小型的本地RAG系统。你不需要装任何插件。
核心原理:OpenClaw会把`memory`文件夹里的Markdown文件自动切块、向量化、存到本地SQLite数据库。对话时自动检索相关内容注入上下文。
如果没有embedding模型可以先用ollama拉一个:```bashollama pull bge-m3 # BAAI 出品,支持中文,效果好```
第一步:找到 `memory` 文件夹
在你的 OpenClaw 工作区目录下(通常是 `~/.openclaw/workspace/`),自带一个叫 `memory` 的文件夹,这是记录每日摘要的记忆文件。
第二步:往里面写东西
把你希望 AI 记住的内容,写成 Markdown 文件放进去。
比如,你想让它记住你的偏好:
# 我的偏好- 我喜欢简洁的回答,不要列表,不要序号- 语气要温柔但坚定- 我容易分心,需要你帮我保持节奏
或者记录每天的任务:
# 2026-03-31今天完成了:- 修复了邮件系统的重复提醒- 学习了 EvoMap 的乐高式架构- 搞定了向量搜索+hybrid混合搜索
多个文件、子文件夹都可以,OpenClaw 会递归读取。注意:单个文件不要太大(建议<50KB),否则切块可能不理想。可以拆成多个小文件。
第三步:手动触发索引
每次你添加或修改了`memory`里的文件,需要让OpenClaw重新生成向量索引。两种方式:
- 在对话界面输入:`/memory index`
- 在终端执行:`openclaw memory index`
几秒钟后,索引就建好了。执行后,OpenClaw会读取所有`.md`文件,切片、生成embedding、存入本地SQLite。这个过程通常几秒钟。
之后你再和它聊天,它会自动检索相关记忆,就像一个永远不会忘事的秘书。
第四步:验证索引成功
openclaw memory stats
会输出类似:Total chunks: 127Total files: 5Last indexed: 2026-03-31T01:23:45Z
第五步:在对话中自动使用
之后你和OpenClaw聊天时,它会自动检索`memory`里跟当前问题相关的内容,静默注入上下文。你不需要做任何额外操作。
你也可以手动搜索:
/search 昨天的任务或者查看所有记忆:
/memory list第六步:实际配置参考
# OpenClaw记忆搜索配置示例memorySearch:enabled: trueprovider: ollamamodel: bge-m3:latestquery:hybrid:enabled: truevectorWeight: 0.5textWeight: 0.5
常见问题
Q:需要装什么插件吗?
A:不需要。OpenClaw 原生自带,装好就有。
Q:支持中文吗?
A:支持。但默认的 embedding 模型 `nomic-embed-text` 对中文效果一般。如果搜索不准,可以换成中文优化模型,比如 `bge-m3`(需要 Ollama 拉取)。
Q:会占用很多硬盘空间吗?
A:不会。一个几千条记忆的数据库也就几十 MB。
Q:每次对话都会自动检索吗?
A:是的。你不需要手动触发,OpenClaw 会自动把相关记忆注入上下文。
Q:能记住多少个文件?
A:理论上没有上限。实测几百个 Markdown 文件、几万个 chunk 完全没问题。
进阶:自动捕获每日对话(可选)
你希望它"每天自动记住聊了什么",可以写一个简单的脚本,每天把OpenClaw的对话日志提取摘要,追加到`memory/daily/`目录下。
但OpenClaw目前没有内置"自动捕获对话"功能,因为记忆是手动的——你决定什么值得记。如果你想要自动化,可以自己写一个定时脚本,调用OpenClaw的API或者解析日志文件。
为什么这个机制这么重要?
传统大模型的"越用越笨"问题(我们之前用四层金字塔拆解过),很大程度上是因为上下文窗口有限 + 没有持久记忆。OpenClaw通过本地RAG把这个问题补上了:
- 不再依赖超长上下文(省钱、省算力)。
- 记忆可迁移、可备份(本地文件为主)。
- 真正实现个性化Agent:它记住的不是泛泛的知识,而是你的专属习惯和历史决策。
这也是2026年AI Agent发展的核心方向:大模型负责思考,Memory负责"记人",RAG负责"查资料",Skills负责"动手"。
最后想说
我养虾一个月,走了很多弯路。以为要自己搭 Chroma、写 LangChain 脚本、配置 embedding 服务……结果发现最省事的方案就在手边。
OpenClaw 这只龙虾,比我想象的要聪明得多。
它不张扬,文档里也没大张旗鼓地宣传这个功能。但一旦你解锁了"记忆宫殿",它就从一个只会执行命令的工具,变成了一个真正懂你、记得你、陪伴你的伙伴。
如果你也在养虾,不妨试试这个隐藏技能。
相信我,你会回来感谢我的。
养虾不易,且养且珍惜。
喜欢这篇科普?点个在看,转发给正在"养虾"的朋友,我们下期继续聊Agent的进阶技巧~
夜雨聆风