Enable context-aware search results powered by local embeddings in the browser. Zero network dependencies, zero costs, instant client-side retrieval.
Bring modern vector search directly to your static docs without third-party services.
Uses lightweight ONNX models executing directly on the client side. No data ever leaves the user's browser.
Understands queries conceptually. Searching 'authentication' yields results for 'sign-in' and 'login' automatically.
Combines fast BM25 keyword matching with vector similarity for the absolute best search relevance and speed.
Select the perfect embedding model tailored for your documentation size and languages.
| Model | Dimensions | Size | Languages | Best For |
|---|---|---|---|---|
| MiniLM L6 v2 ★ | 384 | ~23 MB | English only | Fast, general English docs |
| Multilingual MiniLM L12 | 384 | ~118 MB | 50+ languages | i18n documentation |
| Multilingual E5 Small | 384 | ~118 MB | 100+ languages | Wide language coverage |
| Multilingual MPNet Base | 768 | ~270 MB | 50+ languages | Best multilingual quality |
💡 Multilingual documentation: If your documentation website contains multiple languages (such as English, Chinese, German, Spanish, etc.), select a multilingual model using docmd-search --settings. The default model is English-only and will produce poor search relevance for other languages.
An ultra-lightweight client runtime (<5KB minified) that executes entirely in the browser using hybrid BM25 and vector cosine similarity scoring.
import * as Search from 'docmd-search/client'; // 1. Initialise and load index folder. // Batch 0 is loaded instantly for sub-millisecond search startup, // while remaining chunk batches load progressively in background. await Search.load('/.docmd-search', (loaded, total) => { console.log(`Loaded batch ${loaded}/${total}`); }); // 2. Query search using hybrid vector + keyword matching. const results = Search.search('authentication secure routes', 10); results.forEach(({ score, chunk }) => { console.log(`[${(score * 100).toFixed(0)}%] ${chunk.file}#${chunk.heading || ''}`); console.log(chunk.text); });
Run the indexing engine to generate static search chunks for your site.
$ npx docmd-search --build ✓ Loaded local vector model ✓ Generated static index: .docmd-search/index.json
Everything you need to know about docmd offline semantic search.
paraphrase-multilingual-MiniLM-L12-v2 which supports over 50 languages.showConfidence flag, when enabled, displays the exact similarity matching percentage badge next to each semantic result, helping users visually understand search relevance.Join the developers building fast, beautiful documentation with docmd.