Как перестать искать и начать находить свои заметки с помощью QMD
Знакомая ситуация: вы точно помните, что записывали решение этой странной ошибки в Docker или тезисы с того важного созвона три месяца назад. Но где? В Obsidian? В папке с проектом? В хаосе Markdown-файлов в ~/Documents? Стандартный grep не понимает контекста, а встроенный поиск в редакторах часто пасует перед сложными запросами.
Сегодня мы разберем QMD (Query Markup Documents) — инструмент, который превращает ваши локальные текстовые файлы в полноценную базу знаний с умным поиском. Это не просто «еще один поисковик», а локальный движок, использующий современные SOTA-подходы (State-of-the-Art) прямо на вашем компьютере.
Что такое QMD и почему это не просто grep
QMD — это CLI-инструмент на Node.js/Bun, который индексирует ваши Markdown-заметки, документацию и транскрипты встреч. Его главная фишка в том, что он объединяет классический полнотекстовый поиск с векторным поиском и переранжированием с помощью LLM (Large Language Models).
Представьте, что у вас есть личный ассистент, который прочитал все ваши файлы и теперь готов ответить на вопрос: «Как мы планировали деплоить API в прошлом квартале?», даже если в тексте нет точного совпадения этих слов.

Три кита умного поиска
Разработчик проекта, Tobi, подошел к вопросу поиска серьезно. QMD использует гибридную схему, которая обычно встречается в дорогих корпоративных системах, но здесь она работает локально:
- BM25 (FTS5): Классика жанра. Быстрый поиск по ключевым словам. Если вы ищете конкретный термин вроде
UUIDv7, BM25 найдет его мгновенно. - Векторный поиск (Semantic Search): Использует модель
embeddinggemma. Она переводит текст в математические векторы. Это позволяет находить документы по смыслу. Запрос «проблемы с авторизацией» найдет файл, где написано «ошибка при входе в систему». - LLM Re-ranking: Это «секретный соус». После того как система нашла топ-30 подходящих документов, маленькая, но гордая модель
qwen3-rerankerперечитывает их и оценивает, насколько они реально отвечают на ваш запрос.
Быстрый старт: от установки до первого инсайта
Установка предельно проста, если у вас есть Node.js или Bun:
npm install -g @tobilu/qmd
# или
bun install -g @tobilu/qmd
После установки нужно «скормить» инструменту ваши папки. Например:
qmd collection add ~/notes --name personal
qmd collection add ~/work/docs --name work
Интересная особенность — контексты. Вы можете добавить описание к коллекции, чтобы поиск работал точнее:
qmd context add qmd://work "Документация по микросервисам и API"
Теперь запускаем индексацию:
qmd embed
На этом этапе QMD скачает необходимые GGUF-модели (они весят около 2 ГБ в сумме) и локально создаст векторные представления ваших файлов. Все данные хранятся в SQLite в вашей домашней директории — никакой отправки данных в облако.
Как пользоваться поиском
В QMD есть три уровня «глубины» поиска:
qmd search "термин"— обычный поиск по словам. Очень быстро.qmd vsearch "суть вопроса"— векторный поиск. Понимает синонимы.qmd query "сложный запрос"— тяжелая артиллерия. Включает расширение запроса через LLM, гибридный поиск и переранжирование.
Результаты выглядят очень наглядно: вы видите путь к файлу, заголовок, контекст и оценку релевантности в процентах.
Смарт-чанкинг: почему это важно
Обычно поисковики режут текст на куски по количеству символов. QMD делает умнее. Он анализирует структуру Markdown и старается не разрывать логические блоки.
Например, заголовки имеют высший приоритет для разрыва, а блоки кода защищены — система постарается не разрезать ваш конфиг или функцию на две части. Это критично для того, чтобы LLM при поиске видела цельную картину, а не обрывки фраз.
Интеграция с AI-агентами и MCP
Если вы используете Claude Desktop или другие инструменты, поддерживающие MCP (Model Context Protocol), QMD станет для них идеальным «внешним мозгом».
Вы можете подключить QMD как сервер, и ваш AI-ассистент сможет сам искать информацию в ваших локальных заметках, чтобы ответить на вопрос. В конфиге Claude Desktop это выглядит так:
{
"mcpServers": {
"qmd": {
"command": "qmd",
"args": ["mcp"]
}
}
}
Для тех, кто не хочет каждый раз ждать загрузки моделей в память, предусмотрен режим демона: qmd mcp --http --daemon. Модели будут висеть в VRAM, обеспечивая мгновенный отклик.
Практические кейсы
- Для разработчиков: Индексируйте папку с документацией проекта или RFC. Когда нужно вспомнить, почему было принято то или иное архитектурное решение,
qmd queryнайдет нужный абзац быстрее, чем вы успеете открыть IDE. - Для менеджеров: Прогоните транскрипты встреч через QMD. Поиск по запросу «договоренности по бюджету» вытащит все релевантные куски из разных протоколов.
- Для создания Second Brain: Если вы ведете Zettelkasten или просто кучу .md файлов, QMD свяжет их семантически без необходимости вручную проставлять тысячи тегов.
Итог: стоит ли пробовать?
QMD — это отличный пример того, как современные нейросетевые технологии можно упаковать в удобную локальную утилиту.
Плюсы:
- Полная приватность (всё работает офлайн).
- Высокое качество поиска благодаря переранжированию.
- Поддержка MCP для интеграции с LLM-агентами.
- Умная работа с Markdown-структурой.
Минусы:
- Требует около 2 ГБ места под модели и немного оперативной памяти.
- Первая индексация большой базы может занять время.
Если ваша база знаний растет быстрее, чем ваша память, QMD определенно заслуживает места в вашем терминале. Это тот редкий случай, когда «локальный ИИ» — это не хайповое словосочетание, а реально работающий инструмент для ежедневной продуктивности.