用途:QMD 是运行在本地的个人知识库搜索引擎,用于在大量 Markdown 笔记、会议转录、文档及其他文本文件中查找内容,全程本地运行,无云端依赖。
主要能力:提供三种搜索方式。qmd search 为 BM25 关键词搜索,无需加载模型,速度约 0.2 秒;qmd vsearch 为语义向量搜索;qmd query 为混合搜索,含查询扩展、BM25 与向量并行检索、RRF 融合及 LLM 重排。另支持 lex/vec/expand/hyde 等结构化多模式查询、按集合限定范围、--json/--limit 输出、按 docid 或文件路径获取内容、glob 批量获取。
使用方式:需 Node.js >= 22;macOS 需经 Homebrew 安装 SQLite 以支持扩展加载。安装命令 npm install -g @tobilu/qmd(或 bun install -g @tobilu/qmd)。首次运行自动下载约 2GB 的 GGUF 模型(embeddinggemma-300M-Q8_0、qwen3-reranker-0.6b-q8_0、qmd-query-expansion-1.7B)。基本流程:qmd collection add <path> --name <n> 添加集合,qmd context add <path> "description" 补充上下文描述,qmd embed 生成向量,qmd status 检查状态。可通过 qmd mcp 启动 MCP 服务(stdio),或以 qmd mcp --http --daemon 常驻运行,供 Hermes Agent 等客户端调用 mcp_qmd_search、mcp_qmd_vsearch、mcp_qmd_deep_search、mcp_qmd_get、mcp_qmd_status 等工具。
适用场景:查找笔记、文档或会议转录;对文本集合做语义检索;搭建本地知识库;已配置集合后直接查询。
限制:需 Node.js >= 22;macOS 需额外安装 SQLite;首次运行需下载模型;冷启动约 19 秒;HTTP 守护进程常驻约占用 2GB 内存;新增文件后需重新执行 qmd embed。索引与向量存储于 ~/.cache/qmd/index.sqlite。