free · open-source · 100% local

Ask your vault.
Get answers it can actually back up.

A local-first AI research assistant for your Obsidian vault. It sticks to what your notes actually say and fabricates nothing. Runs entirely on your machine, reuses your Claude login, no API key.

Get Started View Source
▹ Built on Bun▹ Claude Code · Codex▹ Zero-dependency RAG▹ MIT licensed
Vault
Summarize the key deci…
+
◎ Ask the vault ✎ Drafting mode ↥ Write to vault
claude-code · sonnet
QUESTION
Ask anything about your vault…
Regenerate
LaTeX RAG Override ☆ Skills
ANSWER Ready
⧉ Copy
📄 notes/overview.md 📄 projects/roadmap.md
▸ Context activity (3)
How it works

Five steps, zero hallucination

01

Ask

Type a question in plain language and hit Ask.

02

Retrieve

BM25 RAG pulls only the most relevant slices of your vault.

03

Ground

Claude answers only from what it found, with sources.

04

Humanize

A de-AI pass strips robotic phrasing so the answer reads clean and natural.

05

Refine

Edit answers in place or refine with follow-ups.

Features

Everything, running on your machine

📄 retry.ts📄 idempotency.md
01

Grounded Q&A

Ask mode reads the relevant files and answers only from what your notes actually say. No fabrication, and answers are editable in place.

+
02

Multi-tab sessions

Spawn unlimited tabs. Each one is an independent session with its own auto-generated name and accent color, runs concurrently with the rest, and survives restarts.

03

Job-application mode

Paste a job description and question; get a grounded, first-person, humanized draft, then refine it with natural-language follow-ups.

Furthermore, leverage this — it drives results.Also, use this. It works.
04

Humanizer skill

A de-AI rewrite pass, on by default, strips robotic LLM patterns so generated text reads like a real person wrote it.

05

Zero-dependency RAG

A per-tab BM25 retriever pulls only the most relevant slices of your vault. Pure TypeScript, no embeddings service, far fewer tokens.

06

Free local web research

Optional SearXNG integration gives every agent a bounded web_search / web_read tool, with Readability parsing and a headless-Chromium fallback. No paid API.

07

Pluggable engines

Switch engines per tab or globally: Claude Code and Codex, plus Gemini Antigravity, OpenCode, Cursor, and Copilot.

SKILL.mdauto-loaded
08

Extensible skills

Drop a SKILL.md into a folder and it is auto-detected and embedded into every engine's prompt. No code changes required.

09

Polished design system

OKLCH color tokens, dark/light themes, compact density, split view, status pills, and a playful fun-mode with animated backgrounds.

🔒
10

Local, private, transparent

Everything runs on localhost. A Logs page shows the full activity history, including tool calls, timing, and which engine handled each request, so you can audit exactly what happened.

ASK MODE

Research your knowledge base

Type a question, the agent reads the relevant files, and answers strictly from what it finds. Answers are editable in place.

Q: What did we decide about idempotency keys?
JOB MODE

Draft grounded applications

Paste a job description and question, get a first-person, humanized draft from your notes, then refine it with follow-ups like "make it shorter."

"Lead with the payments migration, keep it under 120 words."
PLUGGABLE ENGINES

Switch engines per tab or globally

Claude Code
  • Claude Agent SDK
  • Session-based follow-ups
  • Reuses your existing login
Codex
  • OpenAI Codex CLI engine
  • Same grounded workflow
  • Toggle any time
Also pluggable: Gemini Antigravity · OpenCode · Cursor · Copilot
Design system

A UI you'll actually want to live in

OKLCH tokens, dark & light themes, compact density, split view, and a playful fun-mode. Try the controls.

auth retries● live
How do retries avoid double charges?
Idempotency keys are attached per request, so retries can't double-charge.
🔒

Your vault never leaves your machine

Everything runs on localhost. No cloud, no telemetry, no vault upload. A built-in Logs page records every tool call, timing, and engine used, so you can check exactly what happened.

Quickstart

Running in under a minute

terminal · bash
# clone & run
git clone https://github.com/Jairik/vault-assistant.git
cd vault-assistant
./run.sh
REQUIREMENTS
Bun 1.3+ · Claude Code CLI logged in
CONFIG
Local and gitignored. Nothing leaves your box.