VaultBuddy
approvedby zhenghaoyang24
AI-powered chat assistant that stays in the sidebar. Chats with your entire vault as context, and provides answers grounded in your notes. - This plugin has not been manually reviewed by Obsidian staff.
δΈζ | English
VaultBuddy
AI-powered chat assistant for Obsidian. Chat with your entire vault as context.
Features
- π Vault-Grounded Q&A β Ask a question, and the AI automatically retrieves relevant content from your notes as context, providing answers grounded in your own materials.
- π Full-Note Context β The note you're currently editing is included in full, so you can summarize, improve, or discuss it with complete awareness.
- π Cross-Note Discovery β Connect ideas across different notes; the AI finds related content even from separate files.
- βοΈ Note Editing β AI can suggest edits to your notes with a visual diff preview. Review changes line-by-line, then accept or reject with one click.
- π― Custom Skills β Create reusable skills with specific instructions that activate automatically based on your messages. Perfect for repetitive tasks like translation, formatting, or summarization.
- π€ Multi-Model Support β Configure multiple OpenAI-compatible models (DeepSeek, OpenAI, Groq, etc.) and switch between them on the fly.
- π Local & Secure β API keys are encrypted and stored locally using Web Crypto API. All conversations are automatically saved.
Data Storage
- API Keys β Encrypted and stored locally using Web Crypto API. They are never synced or uploaded to any server.
- Personal Data β Chat history, skill configurations, plugin settings, and model settings are saved in a
data.jsonfile.
If you use Obsidian across multiple devices, it's recommended to sync the data.json file via Git. If your .gitignore ignores the entire plugins directory, you can exclude data.json like this:
.obsidian/plugins/*
!.obsidian/plugins/vaultbuddy/
!.obsidian/plugins/vaultbuddy/data.json
How It Works
VaultBuddy uses a two-stage retrieval approach to find the most relevant notes for your question.
Stage 1: Lightweight Indexing (Fast Scan)
When you ask a question, VaultBuddy first builds a lightweight index of every file in your vault using Obsidian's built-in metadata cache β no need to read the full content of each file. It extracts key information from each note:
- Title β from frontmatter
titleor filename - Headings β all
#titles in the note - Tags β any
#tagused in the note - Aliases β from frontmatter
aliases - Creation time β from file system or frontmatter date
These lightweight "file cards" are then scored against your question using keyword matching and synonym expansion, and the top-ranked files are selected as candidates.
Stage 2: Full-Content Reading (Deep Dive)
Only the candidate files are fully read and split into chunks (paragraphs grouped by headings). Each chunk is re-scored against your question, and the most relevant chunks are assembled into the AI's context window β fitting within the model's token limit.
Priority: Your Current Note
If you have a note open when you ask a question, its full content is always included first, ensuring the AI has complete context for tasks like summarizing or improving the note you're working on.
Tip: The richer your note metadata (descriptive titles, meaningful tags, clear headings), the better VaultBuddy can match your notes to your questions.
Installation
From Obsidian Community Store (once published)
- Open Obsidian β Settings β Community Plugins β Browse
- Search for VaultBuddy
- Click Install β Enable
Manual Installation
- Go to GitHub Releases and download these 3 files:
main.jsmanifest.jsonstyles.css
- Create a folder
.obsidian/plugins/vaultbuddy/inside your vault - Put the 3 files into that folder
- Enable the plugin in Settings β Community Plugins
Quick Start
Add a Model
Open Settings β VaultBuddy and click + Add Model. Fill in:
| Field | Example |
|---|---|
| Display Name | DeepSeek |
| Base URL | https://api.deepseek.com/chat/completions |
| API Key | sk-... |
| Model ID | deepseek-chat |
| Context Window | 131072 |
The Base URL must be a cURL-compatible chat completions endpoint (e.g.
https://api.openai.com/v1/chat/completions).
Click Save Model, then select your model as the Default Model in the dropdown below.
Configuration
| Setting | Description |
|---|---|
| Models | Add, edit, delete, and test API model configurations |
| Default Model | Which model to use for new conversations |
| Max Response Tokens | Maximum length of AI responses (recommended 4096-8192) |
| Custom Rules | Extra instructions appended to the system prompt |
| Skills | Create, edit, and delete custom skills |
| Resume Last Conversation | Automatically reload the previous chat on startup |
Compatibility
- β Desktop β Obsidian v0.15.0+
- β
Mobile β Fully supported (
isDesktopOnly: false) - β API β OpenAI-compatible endpoints (DeepSeek, OpenAI, Groq, etc.)
Contributing
Contributions are welcome! Here's how you can help:
- Report bugs β Open an issue with steps to reproduce
- Suggest features β Share your ideas in the Discussions tab
- Submit PRs β Fork the repo, create a branch, and submit a pull request
Please follow the existing code style and include tests when applicable.
License
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.