I built an Obsidian SDK + API to turn my vault into a local AI memory system
Hey everyone,
I’ve been using Obsidian for personal knowledge + AI workflows, and I kept running into one core issue:
👉 Obsidian is powerful for humans, but not designed for programmatic automation or AI agents.
⚠️ The problem
When connecting my vault to tools like:
- Claude Code
- Codex
- local LLM agents
I kept hitting:
- messy CLI scripts
- no clean API abstraction
- no structured way to query notes
- no graph-level access
- no real “memory layer” for AI
💡 Insight
Obsidian isn’t just a note app.
It’s actually a local graph-based knowledge system.
But there was no proper developer interface to use it like one.
🧩 So I built this
👉 Obsidian SDK + API Wrapper (npm package)
A TypeScript SDK + universal API layer over the Obsidian CLI.
It turns your vault into a programmable system.
⚙️ What it enables
📌 Local automation
→ create / update / manage notes programmatically
📌 Graph workflows
→ treat notes as connected nodes
📌 AI memory layer
→ persistent context for Claude Code, Codex, local agents
📌 Language-agnostic API
→ usable from any language via API layer
🧠 Why it matters
This turns Obsidian into:
👉 a local-first memory + knowledge graph engine
Instead of rebuilding context every time, your vault becomes:
- memory system
- retrieval layer
- automation backend
🌱 Note
This is my first npm package built solo.
So:
- bugs are possible
- APIs will evolve
- feedback is welcome
- contributions appreciated
🔗 Links
GitHub (SDK): https://github.com/MYSELF-SAYAN/obsidian_cli_sdk
GitHub (API): https://github.com/MYSELF-SAYAN/obsidian_cli_api
npm: https://www.npmjs.com/package/obsidian-sdk
Docs: https://obsidiansdk.vercel.app/
💬 Would love feedback on:
- AI workflows with Obsidian
- graph-based retrieval systems
- local LLM memory setups
- edge cases from power users
If you’ve tried turning Obsidian into an AI memory layer, I’d love to hear how you approached it.