- 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.