35 pontos por xguru 2026-01-29 | 3 comentários | Compartilhar no WhatsApp
  • 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

 
xguru 2026-01-29

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.

 
haung921209 2026-02-05

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!

 
xguru 2026-02-05

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.