Similar Notes

by Young Lee
5
4
3
2
1
Score: 51/100

Description

The Similar Notes plugin finds and recommends notes that are semantically related to what you're currently writing, using language models for real-time analysis. It displays up to five similar notes at the bottom of your note, making it easier to spot hidden connections in your ideas without relying on exact keyword matches. The plugin is self-contained with its own vector database and gives you the choice between built in Hugging Face models or connecting to Ollama for custom embeddings. No external cloud API is needed, and it smartly ignores notes already linked from your current document.

Reviews

No reviews yet.

Stats

102
stars
9,156
downloads
9
forks
330
days
4
days
5
days
4
total PRs
0
open PRs
1
closed PRs
3
merged PRs
45
total issues
10
open issues
35
closed issues
0
commits

RequirementsExperimental

  • Internet connection for initial model download

  • Local Ollama installation for custom embedding models (optional)

Latest Version

5 days ago

Changelog

Added

  • Semantic link suggestions in the editor (#35): Type a trigger (default ;;) followed by a rough description — e.g. ;;book with zombie — to get inline semantic suggestions and insert a [[link]], even when you've forgotten the exact title. Configurable (or disable) under Display settings.
  • Errored notes are visible and retryable (#45, #46): Notes that fail to index now show in an "Errored files" list with the reason, plus a "Retry errored" button and command. Editing a note retries it automatically.

Changed

  • Index settings reorganized: The crowded Index section is split into three focused sections — Index, Exclude folders, and Exclude content.
  • Excalidraw excluded by default (#46): New installs skip the Excalidraw/ folder (its drawings can't be meaningfully embedded). Existing exclusion settings are unchanged.

Improved

  • Faster Ollama indexing (#46): A note's chunks are now embedded in batched requests instead of one round-trip per chunk — most noticeable on large vaults and small-context models.

Fixed

  • Non-English & token-dense notes failing to index on Ollama (#46): CJK/multi-byte content and table/code/number-heavy notes no longer fail with "input length exceeds the context." Chunk sizing now uses UTF-8 byte length and is capped to the model's real context, with /api/embed truncation as a backstop. bge-m3 (8K context) has the most headroom.
  • Honest indexing status (#45, #46): Indexing failures are no longer hidden behind a "fully indexed" report. Settings now show separate Indexed / Errored / Excluded counts, and terminally-errored notes are no longer re-attempted on every restart.

README file from

Github

Similar Notes for Obsidian

"Buy Me A Coffee"

Find semantically similar notes using AI. Choose local models for privacy or cloud APIs for flexibility.

Similar Notes View

As you write, similar notes appear at the bottom of your current note.

Similar Notes Demo

Press Cmd+Shift+O (or Ctrl+Shift+O) to search your vault by meaning, not just keywords.

Semantic Search Demo

Features

  • Flexible Options: Run locally (100% private) or use cloud APIs like OpenAI
  • Mobile & Desktop: Built-in models work on iOS, Android, and all desktop platforms
  • OpenAI Support: Use OpenAI embedding models or any OpenAI-compatible API
  • Ollama Support: Connect to custom models via Ollama (desktop only)
  • No Setup Required: Built-in models work out of the box, no API keys needed

Getting Started

  1. Install the plugin
  2. The default model will download automatically (one-time, ~30MB)
  3. Your notes will be indexed in the background
  4. Similar notes will appear at the bottom of your current note

Progress appears in the status bar.

Model Options

Built-in Models (Mobile & Desktop)

Supports any Sentence Transformer model from Hugging Face that ships ONNX weights. Local processing, no API keys required.

Recommended:

  • all-MiniLM-L6-v2 (English, default)
  • paraphrase-multilingual-MiniLM-L12-v2 (multilingual)

Custom models: The plugin uses Transformers.js, which requires ONNX weights. Many Hugging Face repos only ship PyTorch / safetensors and will fail to load. For other models, look for an ONNX-converted version under the onnx-community organization, or use the Ollama / OpenAI providers instead.

Mobile note: Large models may cause crashes due to memory limits. Consider using the default model or OpenAI API on mobile.

OpenAI / Compatible API

Supports any OpenAI-compatible embedding API.

Recommended:

  • text-embedding-3-small

Note for CJK users: For Chinese, Japanese, and Korean text, multilingual models like bge-m3 (via Ollama) often outperform OpenAI models in both quality and token efficiency.

Ollama (Desktop Only)

Supports any Ollama embedding model.

Recommended:

  • nomic-embed-text (English)
  • bge-m3 (multilingual)

Agent Usage

The active note's similar-notes results can be exported to a JSON file, so an external coding agent can reuse the plugin's similarity search without understanding embeddings or plugin internals:

  1. Open a note in Obsidian.
  2. Run the command Similar Notes: Export similar notes for active note.
  3. Read the results from .obsidian/plugins/similar-notes/similar-notes-export.json.

Output format (success):

{
  "version": 1,
  "ok": true,
  "sourcePath": "Projects/My Note.md",
  "generatedAt": "2026-06-09T12:34:56.000Z",
  "results": [
    {
      "path": "Knowledge/Related Note.md",
      "title": "Related Note",
      "score": 0.82,
      "excerpt": "similar content..."
    }
  ]
}

On error (e.g. no active markdown file, search failure), the same file is written with { "version": 1, "ok": false, "code": "...", "error": "..." }, where code is NO_ACTIVE_FILE or SEARCH_FAILED.

For driving the command from an agent (CLI flow, validation tips, drop-in skill snippet), see docs/agent-export.md.

Technical Details

  • Transformers.js: Runs Hugging Face models directly in Obsidian
  • WebGPU: GPU acceleration on desktop, automatic CPU fallback
  • Orama: Built-in vector database for fast search
  • Web Workers: All processing runs in background threads

Multi-Device Usage

This plugin stores all data locally in IndexedDB, which is device-specific storage that does not sync across devices.

What this means:

  • Each device maintains its own independent index
  • Obsidian Sync, iCloud, Syncthing, or any other file sync tool will not sync the plugin's data
  • When you open your vault on a new device, the plugin will automatically index your notes from scratch

This is by design - IndexedDB provides fast, reliable local storage that doesn't interfere with vault syncing.

License

MIT

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.