关于 memfs-search
memfs-search 是面向记忆文件系统的语义搜索技能,结合关键词、语义和混合检索来查找概念相关内容。它适合需要跨 Markdown 记忆文件发现资料或回答主题问题的 Agent。
主要功能
- 01关键词、语义及混合搜索
- 02按文件路径或内容获取文档
- 03支持 JSON、文件列表和全文输出
- 04创建索引并在变更后重建
适用场景
- 01查找记忆中与主题相关的资料
- 02根据模糊描述检索内容
- 03在创建记忆文件前检查重复内容
- 04批量修改后重建搜索索引
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill memfs-search安装后在 Claude Code 中输入/memfs-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/qmd-setup.mdscripts/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
何时主动搜索
不要等别人提出请求。遇到以下情况时搜索记忆:
- 创建新的记忆文件之前——检查主题是否已存在。
$S search "topic" --files可立即告诉你结果。 - 用户询问“你了解 X 吗”时——先搜索再回答不知道。你近期未加载的参考文件可能包含相关内容。
- 在
/init或记忆重组期间——核实内容覆盖情况。搜索关键概念并确认它们已存储在某处。 - 调试“我告诉过你这件事”时——用户认为你应该知道某些内容。退回到消息历史之前,先搜索记忆。
维护
批量更改记忆后(例如,在 /init、重组或创建多个文件后):
bash <SKILL_DIR>/scripts/memfs-search.sh reindex
检查索引健康状况:
bash <SKILL_DIR>/scripts/memfs-search.sh status
何时不使用
- 精确匹配字符串——使用 Grep。
- 按名称或模式查找文件——使用 Glob。
- 读取已知路径的文件——使用 Read。
- 搜索消息历史——使用
searching-messages技能。 - 查询是一个会按字面匹配的单词——关键词 Grep 更快。
评论
支持 Markdown