ouzhongyuan539 downloadsAI assistant for Obsidian: chat with your notes, drag notes for Q&A, and expose an MCP semantic search service for Claude, Codex and other agents
Let your Obsidian Vault think, collaborate and act.
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Deutsch | Français | Español | Português | Italiano | Русский
Semlink turns your Obsidian vault into an agentic knowledge workspace — an AI assistant that lives in your sidebar, searches everything you've ever noted, reasons over it with real tools, cites every claim back to your notes, and shares what it learns. The whole agent ships inside the plugin: no Claude Desktop, no Cursor, no terminal, no third-party client to install. Bring your own API key, and your vault starts thinking.

You've written for years. Then you ask a question about your own knowledge — and the workflow is: remember which folder, Ctrl+F, copy-paste into a chat window, lose the thread.
Most Obsidian AI plugins depend on third-party agent clients — and those clients are agent applications built for programming. You get a coding assistant that drops by your notes, not an agent that actually works inside them.
Semlink is built the other way around:
The workspace is the vault, and the agent is built in — not bolted on. Install the plugin, paste your key, ask. The agent thinks, calls tools, reads your notes and answers with numbered citations — entirely inside Obsidian. You don't have to trust the answer. You watch it being made, then check it.
| Semlink | Copilot for Obsidian | |
|---|---|---|
| Zero external tools | ✅ Agent, RAG and sharing all built into the plugin | ❌ Agent requires opencode, RAG requires Miyo — separate installs |
| Agent loop (search → read → reason) | ✅ 9 tools, the model decides what to read | 🟡 Routed through an external client |
| Reasoning transparency | ✅ Thinking + tool traces, streamed live inside the plugin | 🟡 The loop happens outside Obsidian |
| Citations | ✅ One numbering registry per turn; click a citation to jump to the note it came from | 🟡 Source notes listed |
| Sharing an answer | ✅ LAN web page + QR code, revoke anytime | ❌ Copy-paste |
| Other AIs can read your vault (MCP) | ✅ Built-in local server | ❌ |
🧠 The agent is a resident, not a visitor. Everything the agent needs — search, tools, thinking trace, citations, sharing — ships in the plugin. External AI clients are welcome through MCP, but they're an optional bonus, never a prerequisite.
🗄️ Local-first, structurally. Your index is a SQLite file on your own disk. There is no Semlink server — not "we promise not to upload your notes", there is literally nothing to upload to.
🔑 BYOK, without the guesswork. A catalog of 24 chat vendors (1,800+ models with prices and context windows) and a dedicated embedding-provider catalog get you configured in a couple of clicks; local runtimes like Ollama work with no key at all. Semlink adds no markup and never touches your tokens — your provider bills you directly.
🪟 A vault citizen. Drag a note into the chat to attach it, save answers back as notes, watch the context ring fill in real time. Indexing steps aside while you type. The workspace lives where your notes already live — nothing to export, nothing to sync.
Every turn runs a single numbering registry across the thinking trace, the answer body and the source cards — the [3] in the answer is the same [3] you watched the model read. Click a citation and Obsidian opens the note at the exact spot it came from. An answer is only as good as the notes you can check it against — so check.
Found something worth showing? One click publishes the whole exchange — question, thinking trace, answer, source cards — as a clean web page on your LAN. Send the link or the QR code; the reader opens it in any browser, no Obsidian, no account, no install. Stop sharing and the page is gone. Nothing ever leaves your network.
The answer isn't the only output — the reasoning is. Thinking streams as it happens, every tool call (search_notes → get_section → …) is logged with its result, and the context ring shows how full the model's window is, cache hit rate included. You see exactly what the model saw, which is the whole point.
search_notes → get_note → an answer with [1][2][3].That's it. No agent client, no server setup. Your notes are never modified — Semlink only reads.
search_notes → get_section → …), streamed live — not a confident black box.[[wiki-links]] resolve inline — and the agent reads it first.Any OpenAI-compatible or Anthropic-compatible endpoint works — DeepSeek, GLM, SiliconFlow, OpenAI, Anthropic, OpenRouter, Ollama, LM Studio, and 1,800+ more through the built-in catalog. What matters:
The built-in agent is complete on its own. If you also use Claude Desktop, Claude Code or Cursor, the same tools are exposed as a local MCP server:
{ "mcpServers": { "semlink": { "type": "http", "url": "http://127.0.0.1:3001/mcp" } } }
Localhost-only, optional access key. No cloud relay.
Do I need Claude Desktop, Cursor or any other AI client? No. The full agent — thinking trace, tool calls, citations, sharing — runs inside the plugin. MCP exists so external AIs can read your vault, never because they must.
Is my data sent anywhere?
Your index lives in data/ inside the plugin folder, on your disk. The only network calls go to the providers you configure. LAN sharing stays on your network. See the privacy policy.
How is this different from Copilot for Obsidian? Copilot routes its agent through opencode and its RAG through Miyo — external tools you install and run alongside the plugin. Semlink keeps the whole loop inside Obsidian: you see the thinking and every tool call, the model chooses which notes to read, and answers cite specific notes you can open. If Copilot works for you, keep it — Semlink is for when you want the workspace, not more clients.
Do I need an API key? Semlink is BYOK by design — but "your own key" includes key-less local runtimes like Ollama for both chat and embeddings. Cloud free tiers (SiliconFlow, Groq…) work fine too.
Where does the index live?
data/vault.db (SQLite) and data/vectors.bin inside the plugin folder. Delete them and re-index anytime; nothing ever leaves your machine.
Which model should I use? Any long-context chat model you like — answers quote your notes at length. Embeddings are cheap and infrequent (BGE-M3).
MIT — see LICENSE. The optional Pro license is a one-time purchase and never a subscription.