Motor de búsqueda local con IA que indexa automáticamente cualquier carpeta (código, documentos, registros, PDF) y ofrece la API de Elasticsearch, desarrollado en Rust.
tobi/qmd
Motor de búsqueda CLI local y en el dispositivo para notas Markdown, transcripciones de reuniones y documentación, que combina BM25, búsqueda vectorial y reordenamiento con LLM.
- Estrellas
- 30,493
- Forks
- 1,916
- Issues abiertos
- 231
- Último commit
- hace 5 días
¿Qué es?
QMD (Query Markup Documents) es un motor de búsqueda en el dispositivo para el conocimiento personal y de equipos: notas Markdown, transcripciones de reuniones, documentación y bases de conocimiento. Organiza las fuentes en colecciones con nombre y permite buscarlas por palabras clave o en lenguaje natural desde la línea de comandos, un SDK de TypeScript o un servidor MCP.
QMD combina búsqueda de texto completo con BM25, búsqueda semántica vectorial y reordenamiento con LLM. Las consultas pueden ampliarse en subconsultas tipadas (léxicas, vectoriales y HyDE); los resultados se combinan mediante Reciprocal Rank Fusion y un modelo local vuelve a ordenar los candidatos principales. Todos los modelos se ejecutan localmente a través de node-llama-cpp, mediante archivos GGUF que se descargan en el primer uso.
QMD ofrece resultados en JSON, CSV, Markdown y listas de archivos, un endpoint HTTP y filtrado por metadatos a partir de frontmatter. Los usuarios pueden añadir contexto descriptivo a las colecciones y rutas, que se devuelve junto con los resultados coincidentes para ayudar a los agentes a elegir documentos. Se requiere Node.js 22+ o Bun.
Funciones clave
- 01Búsqueda híbrida que combina coincidencia de palabras clave con BM25, similitud vectorial y reordenamiento con LLM
- 02Se ejecuta completamente en local mediante modelos GGUF a través de node-llama-cpp
- 03Colecciones con nombre y contexto asociado a rutas, que se devuelve junto con los resultados
- 04Servidor MCP, endpoints HTTP y SDK de TypeScript para integraciones
- 05Resultados en JSON y listas de archivos, pensados para flujos de trabajo con agentes
- 06Filtrado por metadatos mediante frontmatter YAML tipado y división opcional en fragmentos con reconocimiento de AST para archivos de código
Casos de uso
- Buscar por significado, en lugar de por palabras exactas, en una carpeta personal de notas al estilo de Obsidian
- Consultar transcripciones de reuniones y decisiones anteriores en las carpetas compartidas de un equipo
- Proporcionar a un agente de IA una herramienta local de recuperación de información para la documentación de un proyecto
- Indexar la documentación y los archivos fuente de una base de código para realizar búsquedas semánticas
Inicio rápido
- 1
Instalar globalmente con npm
npm install -g @tobilu/qmd - 2
Añadir una colección de notas
qmd collection add ~/notes --name notes - 3
Generar embeddings para la búsqueda semántica
qmd embed - 4
Ejecutar una búsqueda híbrida con reranking
qmd query "quarterly planning process"
Antes de usarlo
- La búsqueda semántica y el reranking usan modelos GGUF locales a través de node-llama-cpp, por lo que requieren espacio en disco y memoria.
- Para obtener los mejores resultados, hay que añadir colecciones y contexto, y generar embeddings antes de buscar.
Temas
Preguntas frecuentes
- ¿Qué es qmd?
- Motor de búsqueda CLI local y en el dispositivo para notas Markdown, transcripciones de reuniones y documentación, que combina BM25, búsqueda vectorial y reordenamiento con LLM. QMD (Query Markup Documents) es un motor de búsqueda en el dispositivo para el conocimiento personal y de equipos: notas Markdown, transcripciones de reuniones, documentación y bases de conocimiento. Organiza las fuentes en colecciones con nombre y permite buscarlas por palabras clave o en lenguaje natural desde la línea de comandos, un SDK de TypeScript o un servidor MCP.
- ¿qmd es gratuito? ¿Qué licencia tiene?
- qmd es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿qmd sigue mantenido?
- Mantenimiento activo. El último commit de qmd fue el 15 oct 2026.
- ¿Para qué puedo usar qmd?
- Buscar por significado, en lugar de por palabras exactas, en una carpeta personal de notas al estilo de Obsidian Consultar transcripciones de reuniones y decisiones anteriores en las carpetas compartidas de un equipo Proporcionar a un agente de IA una herramienta local de recuperación de información para la documentación de un proyecto Indexar la documentación y los archivos fuente de una base de código para realizar búsquedas semánticas
- ¿Cómo se instala qmd?
- Instalar globalmente con npm: npm install -g @tobilu/qmd Añadir una colección de notas: qmd collection add ~/notes --name notes Generar embeddings para la búsqueda semántica: qmd embed Ejecutar una búsqueda híbrida con reranking: qmd query "quarterly planning process"
- ¿Dónde consigo qmd?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tobi/qmd
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Memoria persistente para agentes de programación que registra la actividad de las sesiones, la resume con IA e incorpora contexto relevante en sesiones futuras.
Espacio de conocimiento autohospedado y centrado en la privacidad, con referencias a nivel de bloque, edición WYSIWYG de Markdown y colaboración con agentes de IA.
Grafo de conocimiento en Markdown con LSP para tu editor, CLI y servidor MCP para que los agentes de IA lean y escriban las mismas notas.
Estudio de voz con IA, open source y local-first para clonar voces, generar voz, dictar en cualquier app y dar voz a agentes de IA.
Tutorial y proyecto modular de Agentic RAG con LangGraph, con indexación jerárquica, memoria conversacional y aclaración de consultas.