obsidian-wiki
Ar9av · Ar9av/obsidian-wiki
This framework allows AI agents to build and maintain a persistent digital brain using Obsidian-compatible markdown, enabling long-term knowledge retention.
Framework for AI agents to build and maintain a digital brain through Obsidian wiki | Memory System for Agents
See it in action
From the author's README Ar9av ·Source
What you can do with it
- Enable an agent to remember past solutions and apply them to new problems.
- Create an interconnected knowledge graph from an agent's learning and findings.
- Allow multiple agents to share and contribute to a common knowledge base.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
obsidian-wiki
A digital brain you grow with your AI agent.
It remembers what you figure out, connects it to what you already know, and answers when you ask.
English | 繁體中文
You solve a hard problem on a Tuesday. Three months later, in a different repo, you solve it again from scratch — because the answer lived in a chat log you'll never find.
This fixes that. Point it at a folder, tell your agent what to remember, and it compiles what you learn into interconnected markdown you own. The pattern comes from Andrej Karpathy's LLM Wiki gist: compile knowledge once and keep it current, instead of asking an LLM the same questions forever or re-running RAG every time.
Your second brain. Your AI agent is how you grow it.
Every skill here is a markdown file that any agent — Claude Code, Cursor, Codex, Windsurf, Gemini CLI, and a dozen more — reads and runs. No runtime, no API keys, no vendor.
60 seconds
pip install obsidian-wiki
obsidian-wiki setup --vault ~/brain
That also registers the two session hooks, so every new session starts with who you are and what's open, and ends by capturing anything reusable. Pass --no-hooks to skip them.
Using uv or pipx? uv tool install obsidian-wiki and pipx install obsidian-wiki work the same way. (Not uvx — see Installation.)
Then open any project in your agent and say "set up my wiki".
Prefer not to touch a terminal? Give your agent this and it'll do the whole thing:
https://github.com/Ar9av/obsidian-wiki — set up my wiki
Using Claude Code? Install it as a plugin instead — no Python needed:
/plugin marketplace add Ar9av/obsidian-wiki
/plugin install obsidian-wiki@obsidian-wiki
Plugin skills are namespaced (/obsidian-wiki:wiki-ingest), and the plugin ships the skills only — not the session hooks or the obsidian-wiki CLI.
Other paths — git clone, Claude Code plugin, Skills CLI, multiple vaults → Installation
What you actually do
Feed it. Anything text-shaped: docs, PDFs, chat exports, meeting transcripts, screenshots, URLs.
/wiki-ingest ~/research
/wiki-update # distill the repo you're standing in (code-graph aware)
/wiki-capture # save this conversation
/wiki-history-ingest claude # mine everything you've ever asked Claude
Ask it. Answers come back with [[wikilink]] citations, not vibes.
/wiki-query what do I know about rate limiting?
/wiki-narrate MCP security # a cited briefing on a topic
/wiki-digest week # what did I learn this week?
Find that session you can't name.
obsidian-wiki sessions-build
obsidian-wiki sessions-query "the auth bug with the weird retry loop"
Keep it honest. The vault gets messy on its own; these clean it.
/wiki-lint # broken links, orphans, contradictions
/wiki-dedup # "RSC" and "React Server Components" are one page now
/cross-linker # weave new pages into the graph
/wiki-status # what's ingested, what's pending, where the hubs are
All 39 skills → Skills Reference
See it
Open the vault in Obsidian and hit the graph view (Cmd/Ctrl+P → "Open graph view"). Say "color my graph" and it tints nodes by tag, category, or visibility.
Want to look before you build? examples/demo-vault/ is an 18-page sample vault on building reliable LLM agents, already colored by folder. Clone the repo, choose Open folder as vault in Obsidian, and pick that folder.
Or export the whole graph to graph.json, GraphML (Gephi/yEd), Neo4j Cypher, Postgres SQL, or a self-contained interactive graph.html.
Use it from Python
from obsidian_wiki import Memory
memory = Memory("~/brain")
memory.remember("stack", "Python, FastAPI", confidence=0.9)
memory.add("Postgres was chosen over MySQL for partial indexes.")
memory.search("postgres")
memory.recap() # inject at session start
No API key, no embedding model, no vector store, no network — the vault is markdown on disk, so everything your agent remembers is readable, greppable and diffable. user_id scopes per-person memory while knowledge stays shared.
More → Python API
It remembers between sessions
A session starts with the vault's memory already in context — who you are, what threads are open, what changed recently — and ends by capturing anything reusable before the context closes.
index.md, log.md, hot.md, and the owner profile and todo index under _meta/ all go through one writer that takes a lock and writes atomically, so parallel agents can't drop each other's updates.
More → Memory Surface
Why this and not a notes folder
- It compiles, it doesn't accumulate. New knowledge merges into existing pages. Contradictions get flagged. Nothing gets duplicated.
- It only reads what changed. A manifest tracks every source ingested, so the second run processes the delta — not your whole library again.
- You can tell knowledge from guessing. Every claim is tagged
extracted,^[inferred], or^[ambiguous], and lint flags pages drifting into speculation. - Queries stay cheap as it grows. Titles, tags, and summaries get read before page bodies. 20 pages or 2000, roughly the same cost.
- It's yours. Plain

