donjguido5 downloadsAI-powered document annotation with per-highlight conversation threads, multi-provider AI, branching edits, and annotation linking.
Go down the rabbit hole of knowledge. Highlight passages in your notes and have AI-powered conversations about them — with any provider, right inside Obsidian.
Rabbitor brings per-highlight conversation threads, multi-provider AI, and branching edits to your vault. Every thread lives next to the note it came from, exportable as markdown.
Status: pre-release (0.1.0). Submitted to the Obsidian community plugin store and currently under review (obsidianmd/obsidian-releases#12140). Install manually or via BRAT in the meantime (see below). Desktop-only for now — mobile has not been tested.


main.js, manifest.json, and styles.css from Releases (or build from source — see below).<your-vault>/.obsidian/plugins/rabbitor/.donjguido/rabbitor-for-obsidian.Under review — see obsidianmd/obsidian-releases#12140.

Highlights, threads, and settings live in the right sidebar:

Drop slash commands into any message to quickly pull in context or rerun common prompts:

Fork from any message to explore an alternate line of reasoning without losing the original:

Rabbitor supports these AI providers out of the box:
| Provider | Requires | Notes |
|---|---|---|
| Anthropic | API key | Claude models |
| OpenAI | API key | GPT family |
| Google Gemini | API key | Gemini family |
| OpenRouter | API key | Unified endpoint for many models |
| Ollama | Local URL | Run models locally |
| Custom | URL + optional key | Any OpenAI-compatible endpoint |
Keys are stored in Obsidian's plugin data directory on your machine. Rabbitor never phones home.

Threads export to plain markdown with branches and Obsidian embeds preserved:

npm install
npm run dev # build with sourcemaps, watch mode
npm run build # production build
npx tsc --noEmit # type-check
# Build and copy into a local vault for testing:
npm run install-plugin -- --vault "C:/path/to/vault"
src/main.ts plugin entry (lifecycle, commands)
src/types.ts shared interfaces
src/constants.ts view IDs, colors, defaults
src/store/ annotation CRUD + debounced persistence
src/editor/ CM6 extensions (highlights, badges, selection tooltip)
src/views/ right-sidebar ItemView (Highlights / Threads / Settings)
src/settings/ PluginSettingTab
src/ai/ provider adapters
src/export/ markdown exporters
Obsidian loads three files: manifest.json, main.js, styles.css. esbuild bundles src/main.ts → main.js (CJS).
Issues and pull requests welcome. Before opening a PR:
npx tsc --noEmit — must pass with no errors.requestUrl vs fetch, sentence-case UI text, etc.).docs/superpowers/specs/ if behavior is non-obvious.MIT © donjguido