QMD是一款本地运行的文档搜索引擎,支持BM25全文检索、向量语义搜索和LLM重排序。它可索引Markdown笔记、会议记录和文档库,提供关键词和自然语言查询,并暴露MCP服务器供AI Agent集成。核心特性包括智能分块、查询扩展、RRF融合及位置感知混合评分,完全本地运行无需云端依赖。

- 核心功能: 结合BM25全文搜索、向量语义搜索和LLM重排序,通过node-llama-cpp本地运行GGUF模型,支持关键词和语义混合查询。
- MCP服务器集成: 暴露query/get/multi_get/status等工具,支持stdio和HTTP传输模式,LLM模型常驻VRAM,嵌入上下文空闲5分钟后释放。
- 智能分块策略: 默认基于Markdown结构智能分块(900令牌/块,15%重叠),支持AST感知分块(--chunk-strategy auto),针对代码文件使用tree-sitter解析函数/类边界。
- 混合搜索流程: 查询经LLM扩展为3个变体,并行执行BM25和向量搜索,RRF融合(k=60,原查询×2权重),Top 30经LLM重排序,最终按位置感知混合(Top 3: 75% RRF + 25%重排序)。
- 模型配置: 默认使用embeddinggemma-300M(嵌入)、qwen3-reranker-0.6B(重排序)、qmd-query-expansion-1.7B(查询扩展),支持通过环境变量切换多语言嵌入模型。