Mecanismo de busca local com IA que indexa automaticamente qualquer pasta (código, documentos, logs, PDFs) e oferece a API do Elasticsearch, feito em Rust.
tobi/qmd
Mecanismo de busca CLI local, executado no dispositivo, para notas em markdown, transcrições de reuniões e documentação, que combina BM25, busca vetorial e reranking por LLM.
- Estrelas
- 30,493
- Forks
- 1,916
- Issues abertas
- 231
- Último commit
- há 5 dias
O que é?
QMD (Query Markup Documents) é um mecanismo de busca executado no dispositivo para conhecimento pessoal e de equipes: notas em markdown, transcrições de reuniões, documentação e bases de conhecimento. Você organiza as fontes em coleções nomeadas e faz buscas por palavras-chave ou em linguagem natural pela linha de comando, por um SDK TypeScript ou por um servidor MCP.
QMD combina busca de texto completo BM25, busca semântica vetorial e reranking por LLM. As consultas podem ser expandidas em subconsultas tipadas (lexical, vetorial e HyDE), os resultados são combinados com Reciprocal Rank Fusion e os principais candidatos são reordenados por um modelo local. Todos os modelos são executados localmente por meio do node-llama-cpp, usando arquivos GGUF baixados no primeiro uso.
QMD oferece saída em JSON, CSV, Markdown e lista de arquivos, um endpoint HTTP e filtragem de metadados baseada em frontmatter. É possível adicionar contexto descritivo a coleções e caminhos; esse contexto é retornado junto com os resultados correspondentes para ajudar agentes a escolher documentos. É necessário usar Node.js 22+ ou Bun.
Recursos principais
- 01Busca híbrida que combina correspondência de palavras-chave BM25, similaridade vetorial e reranking por LLM
- 02Executa tudo localmente usando modelos GGUF por meio do node-llama-cpp
- 03Coleções nomeadas com contexto baseado em caminhos, retornado junto com os resultados
- 04Servidor MCP, endpoints HTTP e SDK TypeScript para integração
- 05Saída em JSON e lista de arquivos, pensada para fluxos de trabalho com agentes
- 06Filtragem de metadados com frontmatter YAML tipado e divisão opcional em trechos de arquivos de código com reconhecimento de AST
Casos de uso
- Buscar por significado, em vez de termos exatos, em uma pasta pessoal de notas no estilo do Obsidian
- Consultar transcrições de reuniões e decisões anteriores nas pastas compartilhadas de uma equipe
- Disponibilizar a um agente de IA uma ferramenta local de recuperação de informações sobre a documentação de um projeto
- Indexar a documentação e os arquivos de código-fonte de uma base de código para busca semântica
Início rápido
- 1
Instalar globalmente com npm
npm install -g @tobilu/qmd - 2
Adicionar uma coleção de notas
qmd collection add ~/notes --name notes - 3
Gerar embeddings para a busca semântica
qmd embed - 4
Executar uma busca híbrida com reranking
qmd query "quarterly planning process"
Antes de usar
- A busca semântica e o reranking usam modelos GGUF locais por meio do node-llama-cpp, o que requer espaço em disco e memória.
- Para obter os melhores resultados, é preciso adicionar coleções e contexto e gerar embeddings antes de pesquisar.
Tópicos
Perguntas frequentes
- O que é qmd?
- Mecanismo de busca CLI local, executado no dispositivo, para notas em markdown, transcrições de reuniões e documentação, que combina BM25, busca vetorial e reranking por LLM. QMD (Query Markup Documents) é um mecanismo de busca executado no dispositivo para conhecimento pessoal e de equipes: notas em markdown, transcrições de reuniões, documentação e bases de conhecimento. Você organiza as fontes em coleções nomeadas e faz buscas por palavras-chave ou em linguagem natural pela linha de comando, por um SDK TypeScript ou por um servidor MCP.
- qmd é gratuito? Qual é a licença?
- qmd é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- qmd ainda é mantido?
- Manutenção ativa. O último commit de qmd foi em 15 de out. de 2026.
- Para que posso usar qmd?
- Buscar por significado, em vez de termos exatos, em uma pasta pessoal de notas no estilo do Obsidian Consultar transcrições de reuniões e decisões anteriores nas pastas compartilhadas de uma equipe Disponibilizar a um agente de IA uma ferramenta local de recuperação de informações sobre a documentação de um projeto Indexar a documentação e os arquivos de código-fonte de uma base de código para busca semântica
- Como instalar qmd?
- Instalar globalmente com npm: npm install -g @tobilu/qmd Adicionar uma coleção de notas: qmd collection add ~/notes --name notes Gerar embeddings para a busca semântica: qmd embed Executar uma busca híbrida com reranking: qmd query "quarterly planning process"
- Onde consigo qmd?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tobi/qmd
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Memória persistente para agentes de programação: registra a atividade das sessões, compacta as informações com IA e injeta contexto relevante em sessões futuras.
Espaço de conhecimento auto-hospedado e com foco em privacidade, referências no nível de blocos, edição WYSIWYG em Markdown e colaboração com agentes de IA.
Grafo de conhecimento em Markdown com LSP para seu editor e CLI e servidor MCP para que agentes de IA leiam e escrevam nas mesmas notas.
Estúdio de voz com IA, open source e local-first para clonar vozes, gerar fala, ditar em qualquer app e dar voz a agentes de IA.
Tutorial modular de Agentic RAG com LangGraph, com indexação hierárquica, memória de conversa e esclarecimento de consultas.