obscure is an simple CLI to interact with Obsidian that ingests your Markdown documents into a embedding database and provides insights on your data and helps builds an knowledge graph from it.
bun installdocker compose up -dThis starts a ChromaDB instance on port 8000 with persistent storage.
Copy the example env file and adjust if needed:
cp .env.example .envDefault .env:
CHROMA_HOST=http://localhost:8000
bun run src/index.ts- src/types.ts — shared DocumentChunk, MarkdownChunkMetadata, QueryResult interfaces
- src/command/ingest.ts — obscure ingest
<directory>command - src/command/query.ts — obscure query
<text>command - src/utils.ts — walkMarkdownFiles, chunkMarkdown (with frontmatter stripping, heading-based splitting, hidden dir filtering)
- src/db/client.ts — getOrCreateCollection with DefaultEmbeddingFunction; safe to run multiple times
- src/db/addData.ts — addDocuments using upsert (idempotent re-runs)
- src/index.ts — registers all three commands
bun run src/index.ts ingest ~/my-obsidian-vault -v
bun run src/index.ts query "how do transformers work" -n 3
