QMD - Un moteur de recherche local pour vos notes Markdown

Wait 5 sec.

Si vous êtes comme votre blogueur préféré (hi hi) et que vous avez des tonnes de fichiers markdown qui traînent dans des dossiers obscurs depuis des années, voici l'outil parfait pour rendre tout ceci à nouveau utilisable dans la vraie vie.En tout cas, c'est plus pratique qu'un grep !Ça s'appelle QMD (Quick Markdown Search) et c'est un outil en ligne de commande dispo sur GitHub qui va indexer tout votre bazar de notes pour les rendre consultables rapidement. QMD combine la recherche plein texte classique (BM25) avec de la recherche vectorielle sémantique et du re-ranking via LLM, ce qui veut dire que c'est ultra puissant. On est un peu sur le même principe qu'un RAG en fait puisque l'IA locale est utilisée pour comprendre le sens de votre requête et pas juste chercher des chaînes de caractères bêtes et méchantes. J'utilise depuis un petit moment maintenant un système similaire avec LEANN pour indexer tous les articles de korben.info et retrouver des connexions entre mes contenus, et je peux vous dire que quand on goûte à la recherche sémantique, le bon vieux grep a un goût de carton.L'outil est même capable de faire de l'expansion de requête (Query Expansion) pour deviner ce que vous cherchez vraiment.Techniquement, ça tourne avecbunou npm et ça s'appuie surnode-llama-cpppour faire tourner des modèles GGUF directement sur votre machine. Tout reste chez vous donc niveau vie privée c'est nickel. C'est un peu la même philosophie que des outils commeKhojouBlinkodont je vous ai déjà parlé, mais en version CLI pour le terminal.L'installation est hyper facile si vous avez déjà Bun, mais prévoyez quand même un peu de place (environ 3 Go) pour les modèles qui iront s'installer au chaud dans ~/.cache/qmd/models/ et installez sqlite si vous êtes sur macOS :brew install sqlite # Pour macOSnpm install -g @tobilu/qmdEnsuite, y'a plus qu'à vous créer vos collections en pointant vers vos dossiers, et en lançant l'indexation comme ceci :qmd collection add ~/mes-notes --name notesqmd embed # L'étape indispensable pour générer les vecteursEt hop, vous pouvez lancer des recherches !!C'est magique ! Perso, j'utilise presque tout le temps la commande "qmd query" plutôt que "search" parce que le mode hybride est bien plus puissant je trouve. Vous avez aussi "qmd vsearch" si vous voulez une recherche purement sémantique, genre quand vous cherchez un concept sans connaître les mots exacts utilisés dans vos notes. En fait, quand vous tapez une requête, QMD va chercher via les mots-clés, via les vecteurs (le sens), puis fusionner tout ça avec un algo RRF, et refaire passer un petit coup de LLM par dessus pour trier les résultats par pertinence.Après vous l'aurez capté en me lisant, si vous avez une machine un peu ancienne sans GPU costaud, l'étape de re-ranking risque de prendre un peu de temps... mais c'est le prix de la qualité et de la sécurité ^^.D'ailleurs, si vous utilisez Claude Desktop ou Claude Code, sachez que QMD intègre également unserveur MCP(Model Context Protocol). Du coup, vous pouvez connecter QMD à Claude et lui permettre d'aller fouiller dans vos notes pour répondre à vos questions. Et bonne nouvelle, QMD propose maintenant un mode HTTP daemon (qmd mcp --http --daemon) qui garde les modèles chargés en mémoire, ce qui évite de les recharger à chaque requête. Attention par contre, dans ce cas précis, les extraits de vos notes seront envoyés à Claude (donc dans le cloud).QMD est aussi dispo en tant que librairie Node.js (npm install @tobilu/qmd) pour ceux qui voudraient l'intégrer dans leurs propres scripts ou workflows d'automatisation. Avec les options --json et --files en sortie, ça se branche facilement dans un pipeline.Perso je trouve ça génial parce que ça comble le fossé entre le simple fichier texte et les usines à gaz de gestion de connaissances. Par exemple, si vous êtes un grand adepte deSilverbulletou d'Obsidian, c'est le top pour l'indexation globale de vos écrits.Voilà, si vous voulez un moteur de recherche personnel qui en a sous le capot et qui respecte votre vie privée, foncez tester ça.Source