核心用法
qmd 是一款专为本地知识库设计的全文搜索引擎,通过命令行界面提供三类检索模式:关键词搜索(`qmd search`)基于BM25算法快速匹配词项;语义搜索(`qmd vsearch`)利用300M参数的embedding模型理解查询意图;智能查询(`qmd query`)则融合两者并通过0.6B参数的Qwen3重排序模型输出最相关结果。用户需先通过collection add建立索引集合,用--mask限定文件类型,执行qmd embed一次性生成向量库后,即可通过-c参数指定范围搜索。支持--files快速路径发现、--full获取完整内容及行号、--json结构化输出等格式。
显著优点
完全本地化:所有模型(embedding、reranker、可选生成模型)自动下载至本地运行,零API成本、零网络延迟、零隐私泄露风险。性能优化:专为规避find命令在大目录中的阻塞问题设计,索引后检索速度极快。检索质量:三重机制(关键词+语义+LLM重排)显著提升复杂查询的准确率,尤其适合概念模糊但意图明确的搜索场景。灵活输出:支持路径、摘要、完整文档、指定行范围(get file:line -l N)等多粒度内容获取,以及glob批量匹配(multi-get)。
潜在局限
前期投入:首次嵌入(qmd embed)需数分钟处理,索引需手动更新(qmd update),文件频繁变更时可能产生延迟。硬件依赖:300M+0.6B参数模型虽轻量,但仍需一定CPU/GPU资源,极低配设备可能受限。功能边界:专注Markdown及代码文档,非结构化数据(PDF、图片)不支持;重排序质量取决于0.6B模型能力,复杂推理型查询可能表现有限。生态封闭:自定义模型替换、与其他工具链集成能力未明确说明。
适合人群
开发者、技术写作者、知识管理重度用户——尤其是维护大量笔记仓库、需要频繁检索代码片段或文档、且对隐私敏感不愿使用云端搜索服务的群体。适合作为Obsidian、Logseq等笔记工具的补充检索层,或替代grep/find进行项目级内容发现。
常规风险
数据一致性风险:索引滞后于文件变更,未执行update可能返回过期结果。存储占用:本地模型与向量库持续占用磁盘空间。误检漏检:语义搜索对专业术语的同义扩展可能引入噪声,极短查询或高度专有名词场景下BM25可能更可靠。建议关键场景交叉验证两类搜索结果。