Obsidian Vault Indexer

Long-running systemd service that watches the Obsidian vault directory and maintains a SQLite FTS5 full-text search index. Part of the carapace-obsidian plugin.

Features

  • Watches the vault via chokidar for real-time file change detection
  • Parses markdown frontmatter, tags, and [[wikilinks]]
  • Maintains a SQLite FTS5 database in WAL mode for concurrent access
  • Plugin opens the DB with readonly: true — never conflicts with the indexer
  • Supports prefix matching (washwasher, washing) and OR queries

Architecture

┌────────────────────┐       ┌──────────────────┐       ┌────────────────┐
│  Obsidian Vault    │       │  Indexer Service  │       │  Plugin (r/o)  │
│  (markdown files)  │──────▶│  (chokidar watch) │──────▶│  (VaultReader) │
│                    │ watch  │  SQLite FTS5 DB   │ read  │  6 tools       │
└────────────────────┘       └──────────────────┘       └────────────────┘

Vault Location

The vault lives at ~/OneDrive/JeffBrain/ and is synced from other devices via the OneDrive Sync service.

Source

See the carapace-obsidian GitHub repo for full installation and configuration details. The indexer service and OpenClaw plugin are both distributed from that repo.