mcpField
M
memfs-search

memfs-search

github.com/letta-aiAgent 工作流152115 次安装4 周前更新
代码仓库

关于 memfs-search

memfs-search 是面向记忆文件系统的语义搜索技能,结合关键词、语义和混合检索来查找概念相关内容。它适合需要跨 Markdown 记忆文件发现资料或回答主题问题的 Agent。

主要功能

  1. 01关键词、语义及混合搜索
  2. 02按文件路径或内容获取文档
  3. 03支持 JSON、文件列表和全文输出
  4. 04创建索引并在变更后重建

适用场景

  1. 01查找记忆中与主题相关的资料
  2. 02根据模糊描述检索内容
  3. 03在创建记忆文件前检查重复内容
  4. 04批量修改后重建搜索索引

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/letta-ai/skills --skill memfs-search

安装后在 Claude Code 中输入/memfs-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
qmd-setup.md
scripts/
memfs-search.sh

详细介绍

MemFS 搜索

对记忆文件系统进行语义搜索。当 Grep 不够用时很有用——查找概念相关的内容块、发现遗忘的参考文件,或跨所有记忆回答“我对 X 了解什么”。

设置

仅需首次执行。运行设置脚本以创建索引并生成嵌入:

bash <SKILL_DIR>/scripts/memfs-search.sh setup

这会在 $MEMORY_DIR 上创建一个 QMD 集合、添加上下文注释,并为所有 .md 文件生成嵌入。首次运行时会将约 2GB 的本地 GGUF 模型下载到 ~/.cache/qmd/models/。

有关安装、嵌入模型选项和故障排除的信息,请参阅:references/qmd-setup.md。

搜索

分为三个层级。根据你对查询的了解选择:

你有……使用命令速度
确切的术语或短语关键词search~0.3s
模糊的概念(“我对 X 了解什么”)语义vsearch冷启动约 2s,热启动 <1s
毫无头绪,需要最佳结果混合query冷启动约 3s,热启动 <1s
S="bash <SKILL_DIR>/scripts/memfs-search.sh"

# Keyword — fast, use first
$S search "lettabot architecture"

# Semantic — conceptual, use when keyword misses
$S vsearch "how does the user feel about code reviews"

# Hybrid — best quality, uses keyword + vectors + reranking
$S query "projects cameron is working on"

始终从关键词搜索开始。 仅在搜索不到时才升级。混合搜索比关键词搜索慢 10 倍。

输出格式

所有命令都接受转发给 QMD 的输出标志:

$S search "topic" --json       # structured (for processing)
$S search "topic" --files      # file paths only (pipe into Read)
$S search "topic" --full       # full document, not snippet
$S search "topic" -n 15        # more results (default: 5)

--json 会返回一个对象数组,包含 file、score、snippet 和 context 字段。

检索

无需搜索即可获取特定文件或一批文件:

# Single file
qmd get "system/human/identity.md" -c memory --full

# Batch by glob
qmd multi-get "reference/projects/*" -c memory

何时主动搜索

不要等别人提出请求。遇到以下情况时搜索记忆:

  1. 创建新的记忆文件之前——检查主题是否已存在。$S search "topic" --files 可立即告诉你结果。
  2. 用户询问“你了解 X 吗”时——先搜索再回答不知道。你近期未加载的参考文件可能包含相关内容。
  3. 在 /init 或记忆重组期间——核实内容覆盖情况。搜索关键概念并确认它们已存储在某处。
  4. 调试“我告诉过你这件事”时——用户认为你应该知道某些内容。退回到消息历史之前,先搜索记忆。

维护

批量更改记忆后(例如,在 /init、重组或创建多个文件后):

bash <SKILL_DIR>/scripts/memfs-search.sh reindex

检查索引健康状况:

bash <SKILL_DIR>/scripts/memfs-search.sh status

何时不使用

  • 精确匹配字符串——使用 Grep。
  • 按名称或模式查找文件——使用 Glob。
  • 读取已知路径的文件——使用 Read。
  • 搜索消息历史——使用 searching-messages 技能。
  • 查询是一个会按字面匹配的单词——关键词 Grep 更快。

评论

支持 Markdown