养虾指南
OpenClaw System Guide
View all cases
How Others Use 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

搭建步骤

  1. 安装 memsearch:
pip install memsearch
  1. 运行交互式配置向导:
memsearch config init
  1. 索引你的 OpenClaw 记忆目录:
memsearch index ~/path/to/your/memory/
  1. 按语义搜索你的记忆:
memsearch search "what caching solution did we pick?"
  1. 如果需要实时同步,启动文件监听——每次文件变化自动重新索引:
memsearch watch ~/path/to/your/memory/
  1. 如果想完全本地运行(不需要 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)结合起来,既能捕获意义层面的查询,也不会错过精确匹配。

相关链接


本文翻译自 awesome-openclaw-usecases 开源项目。英文能力过得去的朋友欢迎阅读原版,体验原汁原味的表达。

GitHub 原文链接