Semantic Auto-Linker logo

Semantic Auto-Linker

GitHub stars Latest release License: MIT

Semantic Auto-Linker helps you discover and connect the hidden structure in your Obsidian vault. It finds missing wiki-links, previews the graph impact before writing anything, and lets you explore your notes as a semantic space where similar notes and concepts appear closer together. If Semantic Auto-Linker saves you time, consider starring the repo. Stars help other Obsidian users find the plugin. It focuses on three things: - safe inline linking with review before write - semantic structure discovery across notes and concepts - vault-wide review with graph impact before applying links ## Best for - large note vaults - sparse graph users - PKM and research notes - people who want review-before-write linking ## Preview links before applying them ![Before and after vault graph](assets/before-after.png) Semantic Auto-Linker previews how accepted suggestions reshape your vault graph before anything is written. ## Explore your semantic note space ![Semantic space explorer](assets/semantic-space-explorer.gif) Obsidian's graph view shows the links you already made. Semantic Auto-Linker also shows the relationships your vault implies. The embedding explorer projects your vault into a semantic vector space, where similar notes and extracted concepts appear close together even when they are not linked yet. Use it to spot clusters, isolated ideas, and relationships your existing graph does not show. ## Watch whole-vault review build live ![Live whole-vault graph build](assets/live-graph-build.gif) Run a vault-wide scan, choose exact matches, AI matches, or both, and review every suggestion while the graph preview updates. You can close the modal while the scan continues in the background. ## Suggestions while you write ![Live sidebar suggestions](assets/live-suggestions.png) Keep a sidebar open for contextual link suggestions with confidence, source type, context, and one-click target exclusion. ## Features - Analyze the current note and review suggested inline `[[links]]` - Analyze the whole vault and review suggestions before applying - Explore your vault as a semantic vector space - Choose exact matches, AI matches, or both before each whole-vault scan - Exclude or retarget noisy suggestions directly from review rows - Switch insertion mode per review: - `Inline` updates matched text in place - `Footer` writes accepted targets into a footer section - Strong safety rules: - skip frontmatter - skip fenced code and inline code - skip existing wikilinks and Markdown links - skip self-links - avoid duplicate link targets in the same note - Deterministic matching for titles, aliases, normalization, and acronyms - Local semantic retrieval with a built-in embedding model or Ollama - Embedding explorer with PCA note/concept views - Persistent whole-vault review state with background refresh when notes change ## Semantic mode Semantic mode is enabled by default and local-first. Current provider support: - Built-in local model through Transformers.js - Ollama Typical setup: 1. In Obsidian, open **Settings → Community plugins → Semantic Auto-Linker**. 2. Keep **Semantic provider** set to **Local model (built-in)**. 3. Keep **Local compute** set to **Auto**. It tries graphics acceleration when Obsidian exposes it, then falls back to the processor. 4. Run **Build semantic embeddings**. The default local model downloads automatically on first use and is cached locally. Optional Ollama setup: 1. Install and run [Ollama](https://ollama.com/). 2. Pull an embedding model, for example: - `ollama pull embeddinggemma` 3. Select the Ollama provider and model. 4. Run **Build semantic embeddings**. ## Privacy and network behavior - The plugin is local/offline by default for deterministic linking. - The default built-in local model downloads model files from Hugging Face on first use, then runs on-device. - When semantic mode uses Ollama, the plugin sends note-derived text to the configured Ollama endpoint, which is typically `http://127.0.0.1:11434`. - Auto-maintenance can rebuild the note index and semantic cache after vault changes if you enable it in settings. - No telemetry or analytics are included. - No cloud service is required. ## Commands - `Open control panel` - `Analyze current note for safe links` - `Auto-link current selection` - `Analyze whole vault for safe links` - `Show embedding explorer` - `Build or rebuild semantic index` - `Build or rebuild note index` - `Show related notes` ## Development Install dependencies: ```bash npm install ``` Build: ```bash npm run build ``` Lint: ```bash npm run lint ``` Semantic regression tests: ```bash npm run test:semantic ``` Dev vault sync: ```bash npm run build:dev-vault ``` ## Manual install Copy these files into: ```text /.obsidian/plugins/semantic-auto-linker/ ``` Files: - `main.js` - `manifest.json` - `styles.css` Then reload Obsidian and enable the plugin in **Settings → Community plugins**. ## Known limitations - Semantic suggestions are still more conservative and less reliable than deterministic title/alias matches. - Semantic quality depends heavily on the local embedding model. - The plugin is currently desktop-only. ## License Semantic Auto-Linker is released under the MIT license. ## Release Marketplace release assets: - `main.js` - `manifest.json` - `styles.css` `manifest.json` and `versions.json` must be updated together for each release version.