VaultBuddy

approved

by 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.

↓ 177 downloadsUpdated 1mo agoMIT

δΈ­ζ–‡ | English

VaultBuddy

AI-powered chat assistant for Obsidian. Chat with your entire vault as context.

Obsidian Plugin

chat edit setting

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.json file.

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 title or filename
  • Headings β€” all # titles in the note
  • Tags β€” any #tag used 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)

  1. Open Obsidian β†’ Settings β†’ Community Plugins β†’ Browse
  2. Search for VaultBuddy
  3. Click Install β†’ Enable

Manual Installation

  1. Go to GitHub Releases and download these 3 files:
    • main.js
    • manifest.json
    • styles.css
  2. Create a folder .obsidian/plugins/vaultbuddy/ inside your vault
  3. Put the 3 files into that folder
  4. Enable the plugin in Settings β†’ Community Plugins

Quick Start

Add a Model

Open Settings β†’ VaultBuddy and click + Add Model. Fill in:

FieldExample
Display NameDeepSeek
Base URLhttps://api.deepseek.com/chat/completions
API Keysk-...
Model IDdeepseek-chat
Context Window131072

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

SettingDescription
ModelsAdd, edit, delete, and test API model configurations
Default ModelWhich model to use for new conversations
Max Response TokensMaximum length of AI responses (recommended 4096-8192)
Custom RulesExtra instructions appended to the system prompt
SkillsCreate, edit, and delete custom skills
Resume Last ConversationAutomatically 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:

  1. Report bugs β€” Open an issue with steps to reproduce
  2. Suggest features β€” Share your ideas in the Discussions tab
  3. 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

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.