Other Beginner Markdown

Semantic Memory Search - 语义记忆搜索

在 OpenClaw 现有 markdown 记忆文件之上添加向量驱动的语义搜索,用含义而非关键词找到过去的记忆。

openclawai-agentsmemorysearchvector

Semantic Memory Search(语义记忆搜索)

在 OpenClaw 现有 markdown 记忆文件之上添加向量驱动的语义搜索,用含义而非关键词找到过去的记忆。

解决什么问题

OpenClaw 的记忆系统将所有内容存储为 markdown 文件 — 但随着记忆增长,找到上周二的那个决策变得不可能。没有搜索,只有滚动文件。

功能特点

  • 单命令索引:将所有 OpenClaw markdown 记忆文件索引到向量数据库(Milvus)
  • 语义搜索:用含义搜索,如”我们选了什么缓存方案?“能找到相关内容,即使没有”缓存”这个词
  • 混合搜索:向量搜索 + BM25 全文搜索 + RRF 重排
  • SHA-256 内容哈希:未更改的文件永不重新嵌入,零浪费
  • 文件监视器:记忆文件变化时自动重新索引
  • 任何嵌入提供商:OpenAI、Google、Voyage、Ollama 或完全本地(无需 API Key)

如何设置

第一步:安装 memsearch

pip install memsearch

第二步:运行配置向导

memsearch config init

第三步:索引记忆目录

memsearch index ~/path/to/your/memory/

第四步:语义搜索

memsearch search "what caching solution did we pick?"

第五步:实时同步

启动文件监视器 — 每次文件变化自动索引:

memsearch watch ~/path/to/your/memory/

第六步:完全本地设置(无 API Key)

pip install "memsearch[local]"
memsearch config set embedding.provider local
memsearch index ~/path/to/your/memory/

成本估算

组件成本
memsearch免费(开源)
Milvus(本地)免费
OpenAI 嵌入$0.0001/1K tokens

关键洞察

  • Markdown 保持事实来源:向量索引只是派生缓存,随时可以重建
  • 智能去重节省金钱:每个 chunk 由 SHA-256 内容哈希标识,重新运行只嵌入新或更改的内容
  • 混合搜索优于纯向量搜索:结合语义相似性和关键词匹配

局限性与适用条件

适用场景

  • 记忆文件增长后需要搜索
  • 想用自然语言查询而非 grep
  • 需要语义匹配而非精确匹配

不适用场景

  • 记忆量少(手动搜索足够)
  • 完全离线环境(本地嵌入需要配置)

局限性

  • 需要维护向量数据库
  • 嵌入成本随记忆量增长
  • 初始索引需要时间

相关链接