qmd(Quick Markdown Search)是面向本地 Markdown 笔记、文档和知识库的本地搜索引擎,核心思路是“一次索引,快速检索”。
用途:搜索笔记、文档或知识库,查找相关内容,或从已索引集合中取回 Markdown 文档。适合触发场景包括“搜索我的笔记/文档/知识库”“查找相关笔记”“从集合中取回 Markdown 文档”“搜索本地 Markdown 文件”。
主要能力:提供三种检索模式。默认应优先使用 BM25 关键词检索 qmd search,通常即时返回;当关键词检索失败、需要语义相似度时才用 qmd vsearch,冷启动可能约 1 分钟;qmd query 为混合模式并带 LLM 重排序,速度最慢,除非用户明确要求最高质量并容忍长运行时间,否则避免使用。检索支持限定集合、控制结果数量、JSON 或文件输出,以及返回全文。
使用方式:常用命令包括 qmd search "query"、qmd search "query" -c notes、qmd search "query" -n 10、qmd search "query" --json、qmd search "query" --all --files --min-score 0.3。选项有 -n 指定结果数、-c/--collection 限定集合、--all 与 --min-score 控制阈值、--json/--files 输出、--full 返回全文。取回文档用 qmd get "path/to/file.md"、qmd get "#docid"、qmd multi-get "journals/2025-05*.md" 或 qmd multi-get "doc1.md, doc2.md, #abc123" --json。维护命令有 qmd status、qmd update、qmd embed。
安装与初始化:未安装时可执行 bun install -g https://github.com/tobi/qmd;随后用 qmd collection add /path/to/notes --name notes --mask "**/*.md" 创建集合,可选 qmd context add qmd://notes "Description of this collection",再执行 qmd embed 以启用向量与混合检索。
限制与注意事项:查询过于宽泛会返回大量低相关结果,应使用具体关键词、组合词、引号精确短语,并用 --all --min-score 过滤。索引未更新会导致新文件搜不到,需 qmd status 检查后 qmd update 重建。mask 过窄或集合路径错误会漏文件,--mask "**/.md" 可覆盖子目录,而 ".md" 只匹配顶层。大型知识库(1000+ 文件)上 qmd query 或 vsearch 可能超时,建议改用 search,或配合 -c、-n 限制范围;超过 5000 个文件可考虑拆分多个集合。若 qmd status 显示无集合,需先安装并添加集合,可选执行 qmd embed。语义检索可能返回不相关结果,可退回关键词检索并改写查询。其他未提供的信息暂未说明。