Skip to content

notes v0.3.0

Choose a tag to compare

@Abhishekkumar2021 Abhishekkumar2021 released this 27 Jun 23:33
· 12 commits to main since this release

@abhishekmcp/notes v0.3.0 — local semantic search

Adds meaning-based search alongside the existing keyword search — all still pure-JS, no native deps, no API keys, nothing leaves your machine.

Added

  • semantic_search — ranks notes by meaning using local embeddings, so it finds related notes even with no shared keywords (e.g. "puppy" matches a note about "canine companions"). Optional hybrid mode fuses semantic + keyword ranking via Reciprocal Rank Fusion.
  • Runs all-MiniLM-L6-v2 (ONNX) on onnxruntime-web (WebAssembly — no native modules). The quantized model (~23 MB) is downloaded once at runtime to ~/.cache/mcp-notes/models (override with NOTES_MODEL_DIR); per-note vectors are cached in .notes-embeddings.json and incrementally synced.
  • Hand-rolled BERT WordPiece tokenizer — same no-dependency spirit as the frontmatter parser.

Notes

  • Lazy by design: startup, offline use, and keyword search are completely unchanged for anyone who never calls semantic_search. The first call needs network for the one-time model download and embeds the whole vault; everything after is offline and fast. A model download/load failure returns a clean error and never takes the server down.
  • npm audit clean (0 vulnerabilities, no native binaries). Published with provenance via OIDC.