Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Semlink

Zhongyuan OuZhongyuan Ou328 downloads

AI assistant for Obsidian: chat with your notes, drag in notes for Q&A, semantic search via MCP

Add to Obsidian
  • Overview
  • Scorecard
  • Updates10

中文

Semlink is an Obsidian plugin that vectorizes your Vault notes and adds a conversational AI assistant directly in the sidebar — plus an MCP server so Claude Desktop, Claude Code, Cursor and other AI tools can search and read your notes.

Ask questions in natural language: Semlink retrieves the most relevant notes, feeds them to your chat model, and answers with a visible thinking process, tool calls and cited sources — all grounded in your own notes.

Features

  • Semantic Search: query your Vault in natural language; returns the most relevant chunks by vector similarity
  • Conversational Q&A: an in-sidebar chat panel where the LLM answers from retrieved notes, with collapsible thinking process, tool-call traces and numbered reference sources
  • Tool-using agent: the model can search, grep, read notes and inspect your current open note while answering
  • Context management: prior turns are sent as a native message array (stable prompt prefix → high cache hit rate); the history is trimmed by a sliding window once it approaches the context limit
  • Real-time Indexing: file changes are picked up automatically; indexing yields while you are actively working
  • MCP Server: expose search/read tools over HTTP (JSON-RPC) for AI clients
  • Feishu (Lark) bot: scan a QR code to bind, then chat with your Vault from Feishu via streaming cards

Chat Panel

  • Click the Semlink icon in the left ribbon (or run Semlink: Open Search)
  • Type a question — the model first thinks, then calls tools if it needs more, then answers with sources below
  • Drag & drop: drop notes ANYWHERE in the panel — a guidance overlay appears while dragging — to attach them to the input ([[links]] supported inline)
  • History: every conversation is saved; open it from the menu button, first question shown as the header subtitle
  • Model switcher: pick any model from any configured provider; the context-usage ring and cache hit rate are shown next to it
  • Home question cards: a curated pool of example prompts (recent notes / the "reading" topic / summarize the current note / knowledge review / duplicate notes / monthly review), three picked at random per visit

Tools

Tool Description
search_notes Semantic search with natural language queries, returns the most relevant chunks
get_note Get the full content of a note
get_section Get the content under a specific heading of a note
get_similar_notes Find notes semantically similar to a given note
list_indexed List indexed note paths (paginated)
list_indexed_detailed List indexed notes with created/modified times, newest first (for time-based questions)
grep_notes Exact text / regex search across notes (keywords, IDs, dates, code)
get_active_note Path of the note currently open in Obsidian (content via get_note)

MCP additionally exposes index_status and reindex for index management.

How It Works

Obsidian Vault Notes
        │
        ▼
   Text Chunking
        │
        ▼
  Embedding API (BGE-M3)  ──→  Vector Embedding
        │
        ▼
  Local Storage (SQLite + Binary)
        │
        ▼
  Chat Pipeline (retrieval → LLM with tools → answer)
        │                        │
        ▼                        ▼
  Sidebar Chat Panel        MCP HTTP Server (:3001)
                                │
                                ▼
                      Claude / Cursor / Other AI Clients

Installation

Option 1: Build from Source

git clone https://gitee.com/ouzhongyuan/semlink.git
cd semlink
npm install
npm run build
# Copy the whole directory to MyVault/.obsidian/plugins/semlink/

Option 2: Direct Download

Download main.js, manifest.json, styles.css from the Release page and place them in YourVault/.obsidian/plugins/semlink/.

Enable

  1. Obsidian → Settings → Community plugins
  2. Find Semlink and enable it

Configuration

Settings → Semlink:

Section Setting Description
General Language UI language (中文 / English)
Index Exclude Paths Paths excluded from indexing (one per line)
Index Auto Index Automatically index on file changes
Embedding Embedding Model Model used for vectorization (e.g. BAAI/bge-m3)
Embedding API Key SiliconFlow (or HuggingFace) API key
Chunking Chunk Size / Overlap Characters per chunk and overlap
Chunking Batch Size / Delay API batching and rate limiting
MCP Port / Access Key HTTP server port and optional auth key
Chat Provider / Base URL / API Key Chat model provider (DeepSeek preconfigured; any OpenAI/Anthropic-compatible API works)
Chat Models Add/remove models, pick the context window size
Bot Feishu Bot Scan a QR code to bind a Feishu bot (see below)

Connect AI Clients

Client configs are auto-generated at the bottom of the plugin settings page.

Claude Desktop / Cursor

{
  "mcpServers": {
    "semlink": {
      "type": "http",
      "url": "http://127.0.0.1:3001/mcp"
    }
  }
}

With access key:

{
  "mcpServers": {
    "semlink": {
      "type": "http",
      "url": "http://127.0.0.1:3001/mcp",
      "headers": { "Authorization": "Bearer your-key" }
    }
  }
}

Claude Code

claude mcp add --transport http semlink http://127.0.0.1:3001/mcp
# with key:
claude mcp add --transport http semlink http://127.0.0.1:3001/mcp --header "Authorization: Bearer your-key"

Feishu (Lark) Bot

  1. Create a bot app in the Feishu open platform (enable bot capability, grant im:message / im:message:send_as_bot / cardkit:card:write etc., subscribe events via long connection)
  2. In Settings → Semlink → Bot, enter the App ID / App Secret and scan the QR code with your Feishu
  3. Send /bind <code> to the bot to finish binding
  4. Chat with the bot — it replies with streaming cards showing the thinking process, tool calls and the answer

Commands

Command Description
Semlink: Open Search Open the sidebar chat panel
Semlink: Full Reindex Re-scan all files
Semlink: Resume Index Continue paused indexing
Semlink: Pause Index Pause indexing
Semlink: Start/Stop MCP Service Toggle the MCP server
Semlink: View Index Progress Open the progress panel

Data Storage

Everything stays local:

File Description
data/vault.db SQLite database (chunk metadata)
data/vectors.bin Vector index binary

Never uploaded anywhere. Indexing consumes embedding API credits (e.g. SiliconFlow BGE-M3).

Embedding Models

Model Feature Max Tokens
BAAI/bge-m3 Recommended, multilingual 8192
Pro/BAAI/bge-m3 Enhanced version 8192
BAAI/bge-large-zh-v1.5 Chinese optimized 512
BAAI/bge-large-en-v1.5 English optimized 512

Tech Stack

  • Embedding: SiliconFlow API (BGE-M3, 1024-dim)
  • Storage: sql.js (SQLite WASM, embedded in the bundle) + binary vector file
  • Search: brute-force cosine similarity
  • Chat: OpenAI / Anthropic-compatible chat APIs with streaming + tool calling
  • MCP: HTTP transport (JSON-RPC 2.0)
  • Bot: Feishu long-connection SDK + CardKit streaming cards

Development

npm run dev     # watch + auto-rebuild
npm run build   # production build

Notes

  • Indexing consumes embedding API credits; watch usage on large Vaults
  • Vector search runs in local memory; 100K+ notes may use significant memory
  • MCP server binds to 127.0.0.1 by default (localhost only)

License

MIT

HealthExcellent
ReviewRisks
About
Semlink is an AI assistant built into Obsidian. Chat with your notes in a built-in panel with conversation history and multi-provider model switching: ask questions and the AI answers with sources, or drag in any note from your Vault and it is attached for instant Q&A on its content. AI also suggests questions based on your recent notes and helps you organize your knowledge base. MCP support is included as an extra: your notes are vectorized and exposed via a local MCP HTTP server, so AI clients like Claude and Cursor can semantically search and read your notes with natural language — fetch the exact note or section, find similar notes, see the currently open note, and reindex on demand.
AISearchIntegrations
Details
Current version
0.8.4
Last updated
Last month
Created
4 months ago
Updates
10 releases
Downloads
328
Compatible with
Obsidian 1.6.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Zhongyuan OuZhongyuan Ououou365
GitHubouou365
  1. Community
  2. Plugins
  3. AI
  4. Semlink

Related plugins

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Semantic Notes Vault MCP

Give Claude Desktop and other AI assistants semantic access to your notes through a built-in Model Context Protocol (MCP) server.

Claude Sidebar

Run Claude Code in your sidebar.

Smart Lookup

Semantic search for your vault. Ask in natural language, find notes by meaning when exact words fail, preview matching notes, and turn forgotten ideas into links, context, and next steps.

Claude Code IDE

Connect your vault to Claude Code and share editor context with the CLI.

Snipd Official

Sync Snipd podcast highlights to your vault with transcript, notes, AI summaries and metadata.

Smart Second Brain

Chat with an agent that knows your notes, search by meaning, and see your vault grouped into topics. Runs on Ollama, OpenAI, Anthropic, and more.