Локальный AI-поисковик на Rust, который автоматически индексирует любые папки — с кодом, документацией, логами и PDF — и поддерживает Elasticsearch API.
tobi/qmd
Локальный CLI-поисковик для заметок в Markdown, расшифровок встреч и документации: объединяет BM25, векторный поиск и переранжирование с помощью LLM.
- Звёзды
- 30,493
- Форки
- 1,916
- Открытые issues
- 231
- Последний коммит
- 5 дней назад
Что это?
QMD (Query Markup Documents) — поисковик, работающий на устройстве и предназначенный для личных и командных баз знаний: заметок в Markdown, расшифровок встреч, документации и баз знаний. Источники можно объединять в именованные коллекции, а затем искать по ключевым словам или запросами на естественном языке через командную строку, TypeScript SDK или MCP-сервер.
QMD объединяет полнотекстовый поиск BM25, семантический векторный поиск и переранжирование с помощью LLM. Запросы можно расширять типизированными подзапросами (лексическими, векторными и HyDE); результаты объединяются с помощью Reciprocal Rank Fusion, после чего лучшие кандидаты переранжируются локальной моделью. Все модели работают локально через node-llama-cpp и используют файлы GGUF, которые скачиваются при первом запуске.
QMD поддерживает вывод в JSON, CSV, Markdown и списком файлов, HTTP endpoint и фильтрацию по метаданным из frontmatter. К коллекциям и путям можно добавлять описательный контекст — он возвращается вместе с результатами поиска и помогает агентам выбирать документы. Требуется Node.js 22+ или Bun.
Ключевые возможности
- 01Гибридный поиск, объединяющий поиск по ключевым словам BM25, векторное сходство и переранжирование с помощью LLM
- 02Полностью локальная работа с моделями GGUF через node-llama-cpp
- 03Именованные коллекции с контекстом для путей, который возвращается вместе с результатами
- 04MCP-сервер, HTTP endpoints и TypeScript SDK для интеграции
- 05Вывод в JSON и списком файлов для рабочих процессов с агентами
- 06Фильтрация по метаданным из типизированного YAML frontmatter и опциональное разбиение файлов с кодом на фрагменты с учётом AST
Сценарии использования
- Поиск по личной папке с заметками в стиле Obsidian по смыслу, а не по точному совпадению слов
- Поиск по расшифровкам прошлых встреч и принятым решениям в общих папках команды
- Предоставление AI-агенту локального инструмента для поиска по документации проекта
- Индексация документации и исходных файлов кодовой базы для семантического поиска
Быстрый старт
- 1
Установить глобально с помощью npm
npm install -g @tobilu/qmd - 2
Добавить коллекцию заметок
qmd collection add ~/notes --name notes - 3
Создать эмбеддинги для семантического поиска
qmd embed - 4
Выполнить гибридный поиск с переранжированием
qmd query "quarterly planning process"
Что важно знать
- Для семантического поиска и переранжирования используются локальные модели GGUF через node-llama-cpp, которым нужны место на диске и оперативная память.
- Чтобы поиск выдавал наилучшие результаты, сначала добавьте коллекции и контекст, а также создайте эмбеддинги.
Темы
Частые вопросы
- Что такое qmd?
- Локальный CLI-поисковик для заметок в Markdown, расшифровок встреч и документации: объединяет BM25, векторный поиск и переранжирование с помощью LLM. QMD (Query Markup Documents) — поисковик, работающий на устройстве и предназначенный для личных и командных баз знаний: заметок в Markdown, расшифровок встреч, документации и баз знаний. Источники можно объединять в именованные коллекции, а затем искать по ключевым словам или запросами на естественном языке через командную строку, TypeScript SDK или MCP-сервер.
- qmd можно использовать бесплатно? Какая у него лицензия?
- qmd распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- qmd всё ещё поддерживается?
- Активно поддерживается. Последний коммит в qmd — 15 окт. 2026 г..
- Для чего можно использовать qmd?
- Поиск по личной папке с заметками в стиле Obsidian по смыслу, а не по точному совпадению слов Поиск по расшифровкам прошлых встреч и принятым решениям в общих папках команды Предоставление AI-агенту локального инструмента для поиска по документации проекта Индексация документации и исходных файлов кодовой базы для семантического поиска
- Как установить qmd?
- Установить глобально с помощью npm: npm install -g @tobilu/qmd Добавить коллекцию заметок: qmd collection add ~/notes --name notes Создать эмбеддинги для семантического поиска: qmd embed Выполнить гибридный поиск с переранжированием: qmd query "quarterly planning process"
- Где скачать qmd?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tobi/qmd
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Постоянная память для ИИ-агентов, пишущих код: сохраняет действия в сессиях, сжимает их с помощью ИИ и добавляет релевантный контекст в новые сессии.
Личное пространство знаний с самостоятельным хостингом, приоритетом конфиденциальности, ссылками на уровне блоков, Markdown WYSIWYG и совместной работой с ИИ-агентами.
Граф знаний на Markdown с LSP для редактора, CLI и MCP-сервером, чтобы ИИ-агенты могли читать те же заметки и редактировать их.
Локальная open-source студия для работы с AI-голосом: клонируйте голос, генерируйте речь, диктуйте в любые приложения и озвучивайте AI-агентов.
Модульный учебный проект по Agentic RAG на LangGraph: иерархическая индексация, память диалога и уточнение запросов.