Add Obsidian vault import recipe#28
Add Obsidian vault import recipe#28snapsynapse wants to merge 2 commits intoNateBJones-Projects:mainfrom
Conversation
Parses any Obsidian vault, chunks notes into atomic thoughts, generates embeddings via OpenRouter, and inserts into Supabase. Tested on 500+ note LifeHQ-pattern vault. Closes NateBJones-Projects#13
|
@claude |
|
@claude let's do this one more time... I believe in you! give this a proper review! |
justfinethanku
left a comment
There was a problem hiding this comment.
Admin Review
CI didn't run (Actions blocker), so I did a manual pass.
Security: Clean — no credentials, no dangerous operations, all external calls go to OpenRouter API only.
Code quality: Solid. Proper retry logic with exponential backoff, rate limiting, sync log for idempotent re-runs, graceful error handling for encoding issues. The hybrid chunking approach (headings + optional LLM fallback) is well thought out.
Documentation: Strong README with vault compatibility table, credential tracker, filtering docs, and 5 troubleshooting entries.
Verdict: Approved. Nice first contribution!
Welcome to Open Brain — come say hi in Discord: https://discord.gg/Cgh9WJEkeG
Parses any Obsidian vault, chunks notes into atomic thoughts, generates embeddings via OpenRouter, and inserts into Supabase. Tested on 500+ note vault.
Closes #13
Summary
Adds a complete recipe for importing Obsidian vaults into Open Brain as searchable, embedded thoughts. Closes #13.
Vault compatibility
Tested/documented for BASB/PARA, LYT/Ideaverse, LifeHQ, FLAP, Zettelkasten, and MOC-centric patterns. No special configuration needed.
Files
import-obsidian.py— standalone script (~480 lines)README.md— step-by-step guide with credential tracker, options, filtering docs, troubleshootingrequirements.txt— python-frontmatter, requests.env.example,.gitignore,metadata.json