qmd - 快速 Markdown 搜索
SkillSearchLocal hybrid search for Markdown notes and documents. Use it to search notes, find related content, or retrieve documents from indexed collections.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the qmd - 快速 Markdown 搜索 skill
What this skill tells your AI
The instructions your AI receives, as published by l-lesteryu/openclaw-hot-skills-zh in skills/qmd-zh/SKILL.md and read by ahel’s review.
适用于 Markdown 笔记、文档和知识库的本地搜索引擎。一次索引,快速搜索。
适用场景(触发短语)
- "搜索我的笔记 / 文档 / 知识库"
- "查找相关笔记"
- "从我的文档集合中检索 Markdown 文件"
- "搜索本地 Markdown 文件"
默认行为(重要)
- 优先使用
qmd search(BM25)。它通常即时返回结果,应作为默认选择。 - 仅在关键词搜索失败且需要语义相似度匹配时,才使用
qmd vsearch(冷启动时可能非常慢)。 - 除非用户明确要求最高质量的混合检索结果且能接受较长运行时间/超时,否则避免使用
qmd query。
前置条件
- Bun >= 1.0.0
- macOS:
brew install sqlite(SQLite 扩展) - 确保 PATH 包含:
$HOME/.bun/bin
安装 Bun(macOS):brew install oven-sh/bun/bun
安装
bun install -g https://github.com/tobi/qmd
配置
qmd collection add /path/to/notes --name notes --mask "**/*.md"
qmd context add qmd://notes "此集合的描述" # 可选
qmd embed # 首次运行以启用向量 + 混合搜索
索引范围
- 专为 Markdown 文档集合设计(通常为
**/*.md)。 - 测试表明"杂乱"的 Markdown 也能正常工作:分块基于内容(每个分块约几百个 token),而非严格按标题/结构划分。
- 不是代码搜索的替代品;请使用代码搜索工具来搜索代码仓库/源码树。
搜索模式
qmd search(默认):快速关键词匹配(BM25)qmd vsearch(最后手段):语义相似度搜索(向量)。由于每次运行可能需要在本地加载 LLM(例如 Qwen3-1.7B),通常较慢。qmd query(一般跳过):混合搜索 + LLM 重排序。通常比vsearch更慢,且可能超时。
性能说明
qmd search通常即时完成。qmd vsearch在某些机器上可能需要约 1 分钟,因为查询扩展可能会在每次运行时将本地模型加载到内存中;向量查找本身通常很快。qmd query在vsearch之上增加了 LLM 重排序,因此可能更慢且交互使用可靠性更低。- 如果需要频繁进行语义搜索,建议保持进程/模型处于热启动状态(例如,如果你的环境支持的话,使用长生命周期的 qmd/MCP 服务器模式),而不是每次都冷启动 LLM。
常用命令
qmd search "查询词" # 默认
qmd vsearch "查询词"
qmd query "查询词"
qmd search "查询词" -c notes # 搜索指定集合
qmd search "查询词" -n 10 # 返回更多结果
qmd search "查询词" --json # JSON 格式输出
qmd search "查询词" --all --files --min-score 0.3
实用选项
-n <数量>:返回结果数量-c, --collection <名称>:限制搜索范围到指定集合--all --min-score <阈值>:返回所有高于阈值的结果--json/--files:代理友好的输出格式--full:返回完整文档内容
文档检索
qmd get "path/to/file.md" # 完整文档
qmd get "#docid" # 按搜索结果中的 ID 检索
qmd multi-get "journals/2025-05*.md"
qmd multi-get "doc1.md, doc2.md, #abc123" --json
维护
qmd status # 索引健康状态
qmd update # 重新索引已变更的文件
qmd embed # 更新嵌入向量
保持索引最新
自动化索引流程,确保在添加/编辑笔记时搜索结果保持最新。
- 对于关键词搜索(
qmd search),通常只需qmd update(速度很快)。 - 如果你依赖语义/混合搜索(
vsearch/query),可能还需要运行qmd embed,但这可能较慢。
定时任务示例(cron):
# 每小时增量更新(保持 BM25 索引最新):
0 * * * * export PATH="$HOME/.bun/bin:$PATH" && qmd update
# 可选:每晚更新嵌入向量(可能较慢):
0 5 * * * export PATH="$HOME/.bun/bin:$PATH" && qmd embed
如果你的 Clawdbot/Agent 环境支持内置调度器,可以在那里运行相同的命令,而非使用系统 cron。
模型与缓存
- 使用本地 GGUF 模型;首次运行时会自动下载。
- 默认缓存路径:
~/.cache/qmd/models/(可通过XDG_CACHE_HOME覆盖)。
与 Clawdbot 记忆搜索的关系
qmd搜索的是你显式索引到集合中的本地文件(笔记/文档)。- Clawdbot 的
memory_search搜索的是Agent 记忆(之前交互中保存的事实/上下文)。 - 两者配合使用:
memory_search用于"我们之前决定/学到了什么?",qmd用于"我的磁盘笔记/文档中有什么相关内容?"。
Signals
- GitHub stars
- 54
- Forks
- 8
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
qmd-zh- Source
- github.com/l-lesteryu/openclaw-hot-skills-zh