技能简介
qmd 是一款面向 Markdown 文件、笔记和文档的本地快速搜索工具,通过命令行界面实现文件发现与内容检索。该工具整合 BM25 全文检索、向量语义搜索与 LLM 重排序三种技术,全部在本地运行,无需调用外部 API。
业务背景
为技术团队提供本地化文档探查能力。无需依赖云端服务或复杂配置,即可在代码仓库配套的文档、配置文件和笔记中快速定位信息。三种搜索技术分层协作,兼顾速度与相关性,满足从粗略筛查到精准定位的不同需求。
落地案例:运维工程师排查故障时需确认某服务的配置规范。执行 `qmd search "prometheus retention" –full` 直接查看匹配文档的完整内容;若关键词不确定,使用 `qmd vsearch "如何设置监控数据保留时间"` 获取语义相近的配置说明,再结合 `–json` 输出供脚本进一步处理。
能做什么
- 替代
find命令,避免在大目录中执行时卡顿 - 对索引集合执行关键词或语义搜索
- 发现代码实现、配置文件或特定模式
- 提取相关片段作为问答上下文
使用说明
安装步骤
- 克隆仓库:
git clone https://github.com/openclaw/skills.git - 进入技能目录:
cd skills/bheemreddy181/qmd-local-search - 根据系统环境编译或配置 qmd CLI(具体构建方式需参考原始仓库说明)
常用操作
关键词搜索:qmd search "alpaca API" -c projects
语义搜索:qmd vsearch "how to implement stop loss"
组合搜索(含重排序):qmd query "trading rules for breakouts"
仅返回文件路径:qmd search "config" --files -c kell
查看完整文档内容:qmd search "pattern detection" --full --line-numbers
添加集合:qmd collection add /path/to/folder --name myproject --mask "*.md,*.py"
更新索引:qmd update
启用向量搜索(一次性操作,耗时数分钟):qmd embed
输入与输出
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 搜索关键词/自然语言查询;集合名称(-c);文件路径/glob 模式 |
| 输出 | 文件路径列表(含评分);文本片段;JSON/Markdown 结构化数据 |
| 适用人群 | 本地文档高频检索者;知识库维护人员;代码审计人员 |
| 不包含 | 云端同步;实时监控自动索引;GUI 界面 |
风险提示
- 首次启用向量搜索需下载 embedding 模型,占用本地存储空间
- 大目录索引可能消耗较多内存与 CPU 资源
- 搜索结果质量依赖索引时效性,文件变更后需手动执行
qmd update - LLM 重排序结果存在不确定性,关键场景建议人工复核
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/bheemreddy181/qmd-local-search/SKILL.md
来源类型:GitHub 仓库
