LinkVault

pending

by Farooq Shaikh

Save and categorise links into your knowledge base using AI. Supports Claude, Ollama, and OpenRouter.

Updated 15d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

LinkVault

An Obsidian plugin that saves web-clipped links into your knowledge base. One command extracts a title and summary using AI, picks the right KB file and section, and inserts a table row.

GitHub Release License Obsidian Minimum Version

Table of Contents

Features

  • Supports Anthropic (Claude), Ollama (local/free), and OpenRouter
  • Three-tier fuzzy matching (exact, case-insensitive, fallback) so links always land somewhere
  • Creates new KB files when no existing file fits the content
  • All prompts are customisable via template variables
  • Retries transient errors (rate limits, 5xx) with exponential backoff
  • Debug mode for inspecting raw LLM responses

How It Works

  1. You clip a web page into your Inbox folder (via Obsidian Web Clipper or any method)
  2. Open the clipped note and run "LinkVault: Process Link to KB" from the command palette
  3. The plugin makes 3 AI calls:
    • Extract — pulls a title and one-sentence summary from the note
    • Match file — picks the best KB index file
    • Match section — picks the best H2 section within that file
  4. A new table row is inserted into the matched section
  5. The inbox note is moved to trash (configurable)

Installation

From Community Plugins (recommended)

  1. Open Settings → Community Plugins → Browse
  2. Search for "LinkVault"
  3. Click Install, then Enable

Manual / BRAT

  1. Install BRAT if you haven't already
  2. In BRAT settings, add calghar/LinkVault
  3. Enable the plugin

Build from Source

git clone https://github.com/calghar/LinkVault.git
cd LinkVault
npm install
npm run build

Copy main.js, manifest.json, and styles.css into your vault at .obsidian/plugins/linkvault/.

Web Clipper Setup

LinkVault processes notes from your Inbox folder. The easiest way to get links into your inbox is with Obsidian Web Clipper.

The plugin reads two frontmatter properties from clipped notes:

  • url (required) — the source URL, used for the link column in the KB table
  • title (optional) — used as a fallback title if the AI extraction fails

Recommended template

In the Web Clipper extension, create a new template with these settings:

SettingValue
NameLinkVault
PathInbox (must match your LinkVault Inbox folder setting)
Note name{{date|date:"YYYY-MM-DD"}} - {{title|safe_name}}

Properties:

NameTypeValue
dateDate{{date}}
urlText{{url}}
titleText{{title}}

Note content:

# {{title}}

{{content}}

[Source]({{url}})

The note content is what the AI reads to extract a summary and determine which KB file and section the link belongs to. Richer content (full article text) produces better matching than a bare URL.

KB File Structure

Each KB file represents a topic and contains H2 sections with link tables. For example:

# System Design

#architecture #distributed-systems

---

## Scalability & Load Balancing

| Title | Link | Key Points |
|-------|------|-----------|
| Existing entry | [Link](https://example.com) | Summary of the article |

---

## Caching Strategies

| Title | Link | Key Points |
|-------|------|-----------|
# Photography

#photography #composition

---

## Landscape & Nature

| Title | Link | Key Points |
|-------|------|-----------|
# Personal Finance

#finance #investing

---

## Index Funds & ETFs

| Title | Link | Key Points |
|-------|------|-----------|
  • Each file can have multiple H2 sections, each with its own table
  • Tables must use the | Title | Link | Key Points | header (configurable)
  • New rows are inserted after the separator row of the matched section

Quick Start

  1. Open Settings → LinkVault
  2. Set your KB folder (where your knowledge base index files live)
  3. Set your Inbox folder (where clipped notes land)
  4. Choose a provider and enter your API key (not needed for Ollama)
  5. Click Test Connection to verify
  6. Open a note in your Inbox and run "LinkVault: Process Link to KB" from the command palette (Ctrl/Cmd+P)

Each link uses roughly 1000 tokens across the 3 API calls. With Claude Haiku, that costs fractions of a cent per link.

Providers

Anthropic (Claude)

  1. Set Provider to Anthropic
  2. Get an API key from console.anthropic.com
  3. Default model: claude-haiku-4-5-20251001 (fast and affordable)

Ollama (local, free)

  1. Install Ollama and pull a model: ollama pull llama3.2
  2. Set Provider to Ollama
  3. Adjust Ollama host if needed (default: http://localhost:11434)

OpenRouter

  1. Set Provider to OpenRouter
  2. Get an API key from openrouter.ai
  3. Set Model to any available model (e.g. anthropic/claude-3.5-haiku)

All providers support a custom base URL for proxies or self-hosted endpoints.

Settings

Knowledge Base

SettingDescriptionDefault
KB folderFolder containing KB index filesKnowledge Base
Index exclusionsComma-separated filenames to exclude from AI matchingKnowledge Base Index
Inbox folderWhere clipped notes landInbox
Table header markerTable header string to search for| Title | Link | Key Points |
After processingWhat to do with the inbox filetrash

AI Provider

SettingDescriptionDefault
Provideranthropic, ollama, or openrouteranthropic
API keyProvider API key (not needed for Ollama)
ModelModel nameclaude-haiku-4-5-20251001
Ollama hostOllama instance URL (Ollama only)http://localhost:11434
Custom base URLOverride the default API endpoint
Max tokensMax tokens for LLM responses300

Prompts (Advanced)

All prompts are customisable with template variables:

PromptVariables
Extract prompt{{content}}
File match prompt{{title}}, {{keypoints}}, {{fileList}}
Section match prompt{{title}}, {{keypoints}}, {{sectionList}}

Content sent to the LLM is truncated to a configurable limit (default: 3000 chars).

Troubleshooting

ErrorFix
"No KB files found"Check that KB folder matches the actual folder name in your vault
"Active file is not in the Inbox folder"Open a note inside the configured Inbox folder
"Cannot reach Ollama at ..."Run ollama serve and check the Ollama host setting
"API key is not configured"Enter your API key in Settings → LinkVault
"Rate limited"The plugin retries automatically — wait a moment and try again
Wrong file/section matchedEnable Debug mode to see raw AI responses in the console (Ctrl/Cmd+Shift+I)

Contributing

Contributions are welcome. See CONTRIBUTING.md for development setup and guidelines.

Changelog

See CHANGELOG.md for a list of changes in each release.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.