OpenClaw 小龙虾真实案例
语义记忆搜索:用向量检索找回每一条记忆
给 OpenClaw 的 Markdown 记忆文件加上语义搜索能力,按意思找而不只是按关键词找
awesome-openclaw-usecases2026-03-095 min read
记忆搜索向量数据库效率
OpenClaw 内置的记忆系统把所有内容存成 Markdown 文件——但随着几周几个月的积累,想找到上周二的某个决定变得几乎不可能。没有搜索功能,只能一个文件一个文件地翻。
这个用例利用 memsearch,在 OpenClaw 现有的 Markdown 记忆文件之上加了一层向量语义搜索,让你可以按意思而不只是按关键词瞬间找到过去的任何记忆。
它能做什么
- 一条命令就能把所有 OpenClaw Markdown 记忆文件索引到向量数据库(Milvus)中
- 按语义搜索:"我们选了什么缓存方案?"——即使文中没出现"缓存"这个词也能找到
- 混合搜索(稠密向量 + BM25 全文检索)+ RRF 重排序,效果最优
- SHA-256 内容哈希保证未修改的文件不会重复向量化——零浪费 API 调用
- 文件监听器在记忆文件变化时自动重新索引,索引始终保持最新
- 支持任意 Embedding 提供商:OpenAI、Google、Voyage、Ollama,或完全本地化运行(不需要 API Key)
痛点
OpenClaw 的记忆以纯 Markdown 文件形式存储。这对可移植性和人类可读性来说很好,但没有搜索功能。随着记忆越积越多,你要么用 grep 在文件里搜(只能匹配关键词,漏掉语义相关的内容),要么把整个文件塞进上下文窗口(浪费 Token 在无关内容上)。你需要的是问一句"我当时怎么决定 X 的?"就能拿到精确的相关片段,不管当时是怎么措辞的。
需要的技能
- 不需要任何 OpenClaw 技能——memsearch 是一个独立的 Python 命令行工具/库
- Python 3.10+ 和 pip 或 uv
搭建步骤
- 安装 memsearch:
pip install memsearch
- 运行交互式配置向导:
memsearch config init
- 索引你的 OpenClaw 记忆目录:
memsearch index ~/path/to/your/memory/
- 按语义搜索你的记忆:
memsearch search "what caching solution did we pick?"
- 如果需要实时同步,启动文件监听——每次文件变化自动重新索引:
memsearch watch ~/path/to/your/memory/
- 如果想完全本地运行(不需要 API Key),安装本地 Embedding 模型:
pip install "memsearch[local]"
memsearch config set embedding.provider local
memsearch index ~/path/to/your/memory/
核心洞察
- Markdown 始终是数据源。 向量索引只是一个派生缓存——随时可以用
memsearch index重建。你的记忆文件永远不会被修改。 - 智能去重省钱。 每个文本块通过 SHA-256 内容哈希标识。重新运行
index时只会对新增或修改过的内容做向量化,想跑多少次都行,不会浪费 Embedding API 调用。 - 混合搜索胜过纯向量搜索。 通过互惠排名融合(RRF)将语义相似度(稠密向量)与关键词匹配(BM25)结合起来,既能捕获意义层面的查询,也不会错过精确匹配。
相关链接
- memsearch GitHub — 驱动这个用例的库
- memsearch 文档 — 完整的 CLI 参考、Python API 和架构说明
- OpenClaw — 启发了 memsearch 的记忆架构
- Milvus — 向量数据库后端
本文翻译自 awesome-openclaw-usecases 开源项目。英文能力过得去的朋友欢迎阅读原版,体验原汁原味的表达。