返回专题 Tutorial G: Knowledge

智能笔记检索:OpenClaw + qmd + Obsidian

Knowledge Management Local Search 阅读时长: 15min

OpenClaw 2.2 已内置 qmd 支持,让你的 AI 代理可以智能搜索 Obsidian 笔记。本教程将展示如何启用这个强大功能,构建完全本地化的私有知识库。

1. 为什么需要 qmd?

⚠️ Obsidian 原生搜索的局限:

  • 只支持关键词匹配,无法理解语义
  • 搜索结果排序简单,不够智能
  • 无法被 AI Agent 直接调用
  • 不支持自然语言查询

✅ qmd 的优势:

  • 混合搜索: BM25 全文搜索 + 向量语义搜索 + LLM 重排序
  • 完全本地: 所有数据和 AI 模型都在本地,数据不出本地
  • MCP 集成: OpenClaw 可以直接调用,无需手动搜索
  • 智能理解: 理解自然语言查询,找到真正相关的笔记

2. 核心价值: 本地私有化知识库

作为 CISSP,我最看重的是数据主权。qmd 的所有处理都在本地完成:

🔐 数据安全

笔记内容、搜索历史、AI 模型全部本地,不依赖任何云服务

⚡ 极速响应

本地索引和搜索,毫秒级响应,无网络延迟

🤖 AI 增强

LLM 理解查询意图,语义搜索找到真正相关的内容

📱 随时随地

通过 Telegram 向 OpenClaw 提问,AI 自动搜索你的笔记

3. 启用 qmd (OpenClaw 2.2+)

第一步: 安装 qmd

# 使用 npm 全局安装
npm install -g qmd

# 验证安装
qmd --version

第二步: 索引 Obsidian Vault

# 创建 collection 并索引笔记
qmd add obsidian ~/Documents/ObsidianVault/**/*.md

# 生成向量嵌入 (首次运行会下载模型)
qmd embed obsidian

# 查看索引状态
qmd status

💡 Jerry's Tip:

首次运行 qmd embed 会下载本地 LLM 模型(约 500MB),请确保网络畅通。模型下载后永久保存在本地,后续无需联网。

第三步: 在 OpenClaw 中启用 qmd

编辑 OpenClaw 配置文件 (通常在 ~/.openclaw/config.json):

{
  "mcp": {
    "servers": {
      "qmd": {
        "command": "qmd",
        "args": ["mcp"],
        "enabled": true
      }
    }
  }
}

第四步: 重启 OpenClaw

# 重启 OpenClaw 服务
openclaw restart

# 验证 qmd 已启用
openclaw status

4. 实战使用场景

场景 1: Telegram 智能搜索

完整工作流:

  1. 在 Telegram 向 OpenClaw 发送: "我之前记录的关于 Tailscale 配置的笔记在哪?"
  2. OpenClaw 自动调用 qmd MCP: qmd_query("Tailscale 配置")
  3. qmd 混合搜索: 关键词匹配 + 语义理解 + AI 重排序
  4. 返回最相关的笔记片段和位置
  5. OpenClaw 总结并回复到 Telegram

场景 2: 会议纪要关联

写新的会议纪要时,qmd 自动搜索相关的历史会议记录,建议双向链接。

场景 3: 知识图谱增强

基于当前笔记内容,qmd 找到语义相关的其他笔记,自动构建知识网络。

5. 高级配置

自定义搜索参数

# 只返回高相关度结果
qmd query "AI 安全" --min-score 0.6

# 返回更多结果
qmd query "零信任" -n 20

# 输出 JSON 格式 (便于 AI 处理)
qmd query "Obsidian 插件" --json

定期更新索引

# 增量更新 (只索引新增/修改的文件)
qmd add obsidian ~/Documents/ObsidianVault/**/*.md

# 重新生成嵌入
qmd embed obsidian

# 或者设置 cron 定时任务
# 每天凌晨 2 点自动更新索引
0 2 * * * qmd add obsidian ~/Documents/ObsidianVault/**/*.md && qmd embed obsidian

6. 安全最佳实践

🔐 CISSP 视角的安全建议:

  • 隔离运行: 在 VM 中运行 OpenClaw + qmd (参考教程 C)
  • 访问控制: 使用 Tailscale ACL 限制哪些设备可以访问 OpenClaw
  • 数据备份: 定期备份 qmd 索引数据库 (~/.qmd/)
  • 审计日志: 监控 qmd 搜索日志,发现异常访问

7. 常见问题

Q: qmd 会占用多少存储空间?

A: 索引数据库约为原始笔记的 20-30%。例如 1GB 笔记约需 200-300MB 索引空间。LLM 模型约 500MB,一次下载永久使用。

Q: 搜索速度如何?

A: 本地搜索通常在 100-500ms 内完成。首次搜索可能需要加载模型(1-2 秒),后续搜索极快。

Q: 支持中文搜索吗?

A: 完全支持!qmd 使用的 embedding 模型对中文有很好的支持,语义搜索效果优秀。

Q: 可以搜索多个 Vault 吗?

A: 可以!使用不同的 collection 名称索引多个 Vault,搜索时指定 collection 即可。

8. 下一步