Files
ar9av fcd91010a7 fix(extensions): say so when the staged host is too old to list vaults
A host that answers `vaults` with an error is a staged copy older than the
popup, which looked exactly like "you only have one vault" — the picker
silently fell back to its single default option. A missing host stays silent,
since pressing Fill already explains that one.

Also document that a second vault needs a ~/.obsidian-wiki/config.<name>
profile before it can appear in the list.
2026-08-15 15:33:02 -07:00
..

Brain

A zero-build Chrome extension connecting your browser to your Obsidian vault in both directions:

  • Capture — save the current page or a selection into the vault's _raw/.
  • Fill form — answer this page's form from what the vault knows, using the Claude Code or Codex CLI you already pay for.

Quickstart

  1. chrome://extensions → enable Developer mode → Load unpacked → select this folder. Capture works now.
  2. For form filling, run host/install.sh, then fully quit Chrome (⌘Q) and reopen it.

Test the native host without Chrome:

python3 host/test_host.py claude    # or: codex

Logs: ~/.obsidian-wiki/brain-fill.log.

Full documentation

docs/browser-extension.md covers the architecture, the security model, how to structure vault pages so they actually fill, why the native host is staged outside the repo, and troubleshooting.

Layout

Path What it is
manifest.json MV3 manifest; fixed key gives a stable extension ID
popup.{html,css,js} Two-tab popup, plus the functions injected into the page
background.js Context-menu capture
host/brain_fill_host.py Native messaging host: retrieve → reason → validate
host/install.sh Stages the host and registers it with Chrome