An Obsidian plugin that integrates QMD local search (BM25 full-text search, vector semantic search, and LLM re-ranking) into a native-feeling search modal.
- QMD installed via
bun install -g https://github.com/tobi/qmd - A QMD collection named
obsidianpointing to your vault:qmd collection add /path/to/your/vault --name obsidian qmd embed
- Embeddings generated (run
qmd embedafter indexing)
# Clone or copy this folder into your vault's plugins directory
cp -r obsidian-qmd-search /path/to/vault/.obsidian/plugins/qmd-search
# Build
cd /path/to/vault/.obsidian/plugins/qmd-search
npm install
npm run build
# Enable the plugin in Obsidian Settings > Community Plugins- Open the command palette (Cmd/Ctrl + P)
- Search for "QMD" and choose from one of the three search mode commands
- Type your query and press Enter
- Wait for results (hybrid search uses LLM reranking, may take a few seconds)
- Click a result or use arrow keys + Enter to open the file
- QMD binary path: defaults to
qmd. If Obsidian can't find it, set the full path (e.g./Users/you/.bun/bin/qmd) - Collection name: defaults to
obsidian - Max results: defaults to 16
- This plugin is desktop-only (it uses
child_processto call the qmd CLI) - The
qmd querycommand uses hybrid search with LLM reranking, which gives the best quality results but is slower than plainqmd search. First run may be slow if models need to load. - Keep your index fresh with
qmd updateandqmd embedperiodically