35 points par xguru 2026-01-29 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Moteur de recherche CLI léger développé pour rechercher localement divers documents basés sur Markdown, comme des notes personnelles, de la documentation technique ou des comptes rendus de réunion
  • Pipeline de recherche hybride combinant recherche plein texte BM25, recherche sémantique vectorielle et reclassement (re-ranking) par LLM
  • Toutes les opérations sont effectuées en local, ce qui permet d’offrir une qualité de recherche de niveau IA sans fuite de données personnelles
  • Prend en charge 3 modes de recherche
    • search : recherche par mots-clés basée sur BM25
    • vsearch : recherche sémantique basée sur les embeddings
    • query : mode de meilleure qualité combinant les deux approches avec un reclassement par LLM
  • Serveur MCP (Model Context Protocol) intégré, permettant une intégration directe avec des workflows basés sur des LLM comme Claude
  • Tous les modèles sont exécutés on-device via node-llama-cpp
    • Télécharge et met automatiquement en cache des modèles au format GGUF tels que embeddinggemma-300M, qwen3-reranker-0.6B et Qwen3-1.7B
  • Méthodes utilisées pour améliorer la qualité de recherche
    • La requête de recherche de l’utilisateur est enrichie via une expansion de requête (Query Expansion) avec le modèle Qwen3-1.7B
    • Recherche parallèle via SQLite FTS5 et sqlite-vec
    • Fusion des résultats avec Reciprocal Rank Fusion (RRF)
    • Réévaluation de la pertinence des documents avec Qwen3-Reranker
    • Ajustement des poids selon le rang pour maintenir l’équilibre entre précision et similarité sémantique
  • Écrit en TypeScript et basé sur le runtime Bun. L’index est stocké dans une base de données SQLite
  • Licence MIT
  • Open source de Tobi Lütke, fondateur et CEO de Shopify

Exemple d’utilisation

# 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  

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.