当前位置:首页>Linux>QMD是什么?用它搭一个Linux+ARM本地知识库

QMD是什么?用它搭一个Linux+ARM本地知识库

  • 2026-10-11 06:24:40
QMD是什么?用它搭一个Linux+ARM本地知识库
把QMD、RAG、MCP、Skill一次讲清楚,再给你一套可直接落地的搭建流程

最近在 Cursor 里试了下 QMD。刚开始我也有点分不清,它到底是软件、Skill,还是一套 RAG 框架。

实际装完跑了一遍后,结论很明确:QMD 本质上是一款安装在电脑上的本地文档检索工具。

简单来说:QMD 负责找资料,Cursor 或大模型负责分析资料。

你可以把 Linux 文档、ARM 芯片资料、设备树笔记、驱动调试记录整理到一个目录里,让 QMD 建立索引。以后遇到问题,直接输入一句话,它就能从这些资料中找出相关内容。

一、QMD能解决什么问题?

做 Linux+ARM 开发时,电脑里通常会积累大量资料:

  • Linux 内核文档、ARM 芯片手册、U-Boot 配置说明
  • 设备树笔记、驱动开发记录、启动日志分析
  • 常见故障处理方法与历史排查结论

资料少的时候还能靠文件名寻找,但时间一长,常见问题会出现:

  • 明明以前处理过类似问题,却记不清记录在哪个文件里
  • 只记得大概内容,却想不起原文关键词
  • 文档越来越多,每次查问题都要重新翻

QMD做的事情,就是先给资料建立索引,再按问题找出相关文件与段落。

你不是缺知识,而是缺一个能快速找回“已知知识”的检索层。

二、QMD、RAG、Skill和MCP有什么区别?

这几个概念放在一起最容易混淆。可以这样记:

  • QMD
    :安装在电脑上的文档搜索软件
  • RAG
    :先查资料,再基于资料回答问题的工作方式
  • MCP
    :让 Cursor、Claude 等工具调用 QMD 的连接方式
  • Skill
    :告诉 Agent 何时用 QMD、怎么用 QMD 的说明文件

所以,QMD 不是 Skill,也不是大模型。即使不配置 MCP,不安装任何 Skill,QMD 也能在终端独立运行。

三、安装QMD

在 Cursor 终端中,先检查 Node.js 版本:

  • node -v

然后安装 QMD:

  • npm install -g @tobilu/qmd

安装完成后,建议用下面命令做基本自检:

  • qmd --help
  • qmd doctor

能正常显示帮助信息和诊断结果,说明安装基本完成。

四、准备Linux+ARM资料

假设你在电脑上建立目录:D:\linux-arm-kb,将常用 Markdown 文档整理进去。

1. 建议放哪些内容

  • Linux 启动流程
  • U-Boot 常见问题
  • 设备树基础
  • 驱动 probe 流程
  • 中断与 DMA、内存映射、故障排查

2. 实战中的最佳做法

不一定要把整本芯片手册都放进去。实际使用中,把平时问题、排查步骤、关键结论整理成 Markdown,检索效率通常更高。

  1. 检查设备树节点是否启用
  2. 检查 compatible 是否匹配
  3. 检查驱动是否编译进内核
  4. 检查模块是否成功加载
  5. 查看 dmesg 错误信息

五、建立本地知识库

把资料目录加入 QMD:

  • qmd collection add "D:\linux-arm-kb" --name linux-arm

可选:给知识库添加上下文说明:

  • qmd context add qmd://linux-arm "Linux、ARM、设备树、驱动开发和系统调试资料"

接着生成向量索引:

  • qmd embed

第一次运行可能需要下载本地模型,等待时间会长一些。完成后查看状态:

  • qmd status

六、使用QMD搜索资料

QMD 常用搜索方式有三种:

1. 关键词搜索

qmd search "of_match_table"

适合查函数名、配置项、错误码、寄存器名称等明确术语。

2. 语义搜索

qmd vsearch "ARM板卡启动后驱动没有进入probe"

不要求问题与文档使用完全一致的词,适合自然语言表达的问题。

3. 混合搜索

qmd query "设备树节点已经配置,但Linux驱动没有进入probe,应该检查哪些地方"

日常直接提问时,qmd query 通常最省心,它会结合关键词、语义和排序给出更相关结果。

当文档规模变大后,真正节省时间的不是“记住更多”,而是“更快找回”。

七、在Cursor里怎么用?

最简单的方法,是直接让 Cursor 在终端运行 QMD。例如:

请运行 qmd query,查找“Linux驱动没有进入probe的常见原因”,然后根据检索到的本地资料给出排查步骤。

流程会变成:你提出问题 → Cursor 调用 QMD → QMD 从本地知识库找资料 → Cursor 基于资料整理答案。

这比让大模型“凭空回答”更可靠,因为答案有本地证据支持。

八、通过MCP接入Cursor

如果你高频使用 QMD,可以把它配置成 MCP 服务。核心配置思路是让 Cursor 调用:

  • command: qmd
  • args: ["mcp"]

不过刚开始不必急着接 MCP,建议先跑通这 4 步:

  1. npm install -g @tobilu/qmd
  2. qmd collection add "D:\linux-arm-kb" --name linux-arm
  3. qmd embed
  4. qmd query "Linux驱动没有进入probe,应该检查什么"

确认结果符合预期后,再接入 Cursor 会更稳妥。

九、资料更新后怎么办?

添加或修改文档后,执行:

  • qmd update
  • qmd embed

qmd update 负责重新扫描文档,qmd embed 负责为新增或修改内容生成向量索引。

日常可配合以下命令做状态与环境检查:

  • qmd status
  • qmd doctor

十、QMD适合整理哪些内容?

以 Linux+ARM 开发为例,建议长期积累这几类资料:

  • 芯片手册阅读笔记、Linux 启动流程、U-Boot 配置方法
  • 设备树节点说明、驱动框架与接口、中断与 DMA
  • 内存与 Cache、编译错误处理、启动日志分析
  • 常见故障排查记录与复盘结论

以后遇到类似问题,可以先让 QMD 找到“过去的自己怎么解决过”,再让 Cursor 结合当前代码和日志做针对性分析。


最后想说的

QMD 并不神秘。它就是一款本地文档检索软件,核心价值是把分散经验变成可检索、可复用的工程资产。

先把经验写下来,再把经验索引起来,你的排错效率会随着时间持续复利。

如果只记一句话:QMD 不是替你思考,而是帮你更快拿回思考所需的证据。

硅基地平线|探索技术前沿,洞见未来科技。

最新文章

随机文章