QMD
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local

项目简介
QMD(Query Markup Documents)是由 Shopify CEO Tobias Lütke 开发的一款设备端(on-device)搜索引擎,专为索引和检索你需要记住的一切而生:Markdown 笔记、会议转录、技术文档和知识库。它的最大特点是完全本地运行——通过 node-llama-cpp 加载 GGUF 模型,将 BM25 全文检索、向量语义检索和大模型重排序(re-ranking)三种能力结合在一起,数据不出本机。它既可以作为命令行工具单独使用,也专门为 AI Agent 的工作流设计了 JSON 输出和 MCP 服务器接口。
核心特性
- 三种检索融合 — 关键词全文检索(BM25)、向量语义检索、LLM 重排序,通过 RRF 融合,兼顾速度与准确度
- 完全本地化 — 借助 node-llama-cpp 与本地 GGUF 模型运行,索引和搜索全程离线,隐私可控
- 集合与上下文 — 可为不同目录建立 collection,并附加 context 描述,帮助 LLM 在选择文档时做出更好的语境判断
- 面向 Agent 设计 — 提供
--json与--files输出格式,方便大模型直接消费搜索结果 - MCP 服务器 — 内置 Model Context Protocol 服务,支持 stdio 与 HTTP 两种传输,可无缝接入 Claude Desktop、Claude Code 等客户端
- 灵活的取文档方式 — 支持按路径、docid、glob 通配符批量获取文档内容
安装方法
npm install -g @tobilu/qmd
或使用 Bun:
bun install -g @tobilu/qmd
也可以免安装直接运行:npx @tobilu/qmd ... 或 bunx @tobilu/qmd ...
快速上手
qmd collection add ~/notes --name notes
qmd embed
qmd search "项目时间线" # 快速关键词搜索
qmd vsearch "如何部署" # 语义搜索
qmd query "季度规划流程" # 混合检索 + 重排序(质量最佳)
使用场景
- 个人知识库 — 对长期积累的 Markdown 笔记进行自然语言检索
- 会议记录 — 索引会议转录文本,快速定位讨论要点
- 技术文档 — 在大型文档库中按语义查找接口、配置和示例
- AI Agent 工作流 — 作为 MCP 工具为大模型提供本地、可控的文档检索能力