- Mecanismo de busca CLI leve desenvolvido para pesquisar localmente documentos baseados em Markdown, como notas pessoais, documentação técnica e atas de reunião
- Pipeline de busca híbrida que combina busca full-text com BM25, busca semântica vetorial e reclassificação (re-ranking) com LLM
- Todas as operações são executadas no ambiente local, oferecendo qualidade de busca em nível de IA sem vazamento de dados pessoais
- Suporta 3 modos de busca
search: busca por palavra-chave baseada em BM25
vsearch: busca semântica baseada em embeddings
query: combina os dois métodos e reclassifica com LLM no modo de maior qualidade
- Servidor MCP (Model Context Protocol) embutido, permitindo integração direta com fluxos de trabalho baseados em LLM, como Claude
- Executa todos os modelos on-device por meio de node-llama-cpp
- Faz download e cache automáticos de modelos no formato GGUF, como embeddinggemma-300M, qwen3-reranker-0.6B e Qwen3-1.7B
- Métodos usados para melhorar a qualidade da busca
- Expansão de consulta (Query Expansion) do que o usuário pesquisou com o modelo Qwen3-1.7B
- Busca paralela com SQLite FTS5 e sqlite-vec
- Integração dos resultados com Reciprocal Rank Fusion (RRF)
- Reavaliação da relevância dos documentos com Qwen3-Reranker
- Ajuste de pesos por ranking para manter o equilíbrio entre precisão e similaridade semântica
- Escrito em TypeScript e baseado no runtime Bun. O índice é armazenado em um banco de dados SQLite
- Licença MIT
- Projeto open source de Tobi Lütke, fundador e CEO da Shopify
Exemplo de uso
# Install globally
bun install -g https://github.com/tobi/qmd
# Create collections for your notes, docs, and meeting transcripts
qmd collection add ~/notes --name notes
qmd collection add ~/Documents/meetings --name meetings
qmd collection add ~/work/docs --name docs
# Add context to help with search results
qmd context add qmd://notes "Personal notes and ideas"
qmd context add qmd://meetings "Meeting transcripts and notes"
qmd context add qmd://docs "Work documentation"
# Generate embeddings for semantic search
qmd embed
# Search across everything
qmd search "project timeline" # Fast keyword search
qmd vsearch "how to deploy" # Semantic search
qmd query "quarterly planning process" # Hybrid + reranking (best quality)
# Get a specific document
qmd get "meetings/2024-01-15.md"
# Get a document by docid (shown in search results)
qmd get "#abc123"
# Get multiple documents by glob pattern
qmd multi-get "journals/2025-05*.md"
# Search within a specific collection
qmd search "API" -c notes
# Export all matches for an agent
qmd search "API" --all --files --min-score 0.3
3 comentários
Eu registro várias informações no Obsidian e as consulto no Windows + Mac + iPhone,
e as informações que organizo relacionadas ao GeekNews eu salvo em um repositório Git para usar.
Agora ficou possível pesquisar e visualizar tudo isso de forma prática em um só lugar.
Como vocês fazem o gerenciamento entre Windows + Mac + iPhone?
No meu caso, entre Windows e Mac eu gerencio com Git, e entre Mac e iPhone com iCloud, mas ainda há vários pontos insatisfatórios. (Por exemplo, mesmo fazendo commit pelo Git no Windows, não há upload automático para o iCloud.)
Pergunto por curiosidade!
No Obsidian, faço a sincronização entre Windows, Mac e iPhone via iCloud.
Sem usar o Sync pago, acho que por enquanto essa é a melhor forma.