AI Co-Editor
approvedby kebl3541
Co-edit notes live with an AI collaborator: it proposes edits, you review them as track changes and approve, reject, or pick per change. Includes chat, comments, per-word attribution, and snapshots. - This plugin has not been manually reviewed by Obsidian staff.
AI Co-Editor
Write with an AI inside Obsidian, on your terms. The AI proposes edits to your open note; you see them as tracked changes, in the note itself, and accept or refuse them word by word. Nothing enters your text without your judgment.
If this plugin adds value for you and you would like to help support continued development, please use the buttons below:
☕ Buy me a coffee · 💙 Donate via PayPal
If you like this plugin or find it useful, please consider giving it a star on GitHub!
How it works
This plugin is the review layer, not the AI. It watches your vault, and when a connected AI edits a note it turns that edit into a proposal: struck deletions and green insertions rendered inside the note, each with accept and reject buttons, plus a side panel with a chat for giving directions. The AI itself plugs in separately, and takes about five minutes to connect.
Quick start
-
Install and enable the plugin.
-
Connect Claude: get an API key at console.anthropic.com, then in a terminal run
export ANTHROPIC_API_KEY=sk-ant-... python3 integrations/claude-bridge.py "/path/to/YourVault"The bridge is a single Python file from this repo, no installs needed. Leave it running while you write.
-
In Obsidian, open the co-edit panel (the users icon on any note, or the status bar item), type an instruction in the chat, and press Send. The reply and any proposed edits arrive in seconds.
-
Select any passage in a note and choose "Ask your AI collaborator to edit this" to request a change to exactly that text.
Users of agent tools that already edit local files, such as Claude Code, need no bridge at all: point the tool at your vault and the plugin picks its edits up automatically.
What you get
- Tracked changes in the note: proposed deletions struck through, proposed insertions as green ghosts, an accept and a reject button on every change.
- A review dialog for bigger proposals, with per change checkboxes, conflict choices, and Enter to apply.
- A side panel: chat with your AI, pending proposals with inline previews and one click Accept all or Reject, their changes highlighted per author color, comments, and an activity feed.
- Authorship you can see: every accepted phrase is marked in its author's color, and an audit note records who changed what and when.
- Snapshots: the state before every external edit is kept, restorable any time.
- Protected sections: wrap text in
%%protect%% ... %%/protect%%and no collaborator can change it. - Modes per folder: require approval everywhere, merge automatically in scratch folders, or switch the plugin off for chosen paths.
- Several AIs at once: each collaborator gets a name, a color, and its own address in the chat switcher.
Safety model
Your words cannot be silently lost or replaced. Concurrent edits are three way merged at word level; conflicts keep your version; proposals wait for your decision whether the note is open, closed, or Obsidian was not even running when the edit happened; and every applied change has a snapshot behind it.
Two behaviors worth knowing about, both local to your machine: the plugin lists your markdown files once at startup to remember a baseline for recent notes, which is how edits made while Obsidian was closed still become reviewable proposals; and it never makes network requests. Nothing leaves your vault.
Connecting other AIs
Perplexity (perplexity-bridge.py):
same steps with PERPLEXITY_API_KEY and the name "perplexity".
Several collaborators can work at the same time: address each one from the chat switcher, and review everyone's proposals in the same panel. Tools that edit vault files directly (such as Claude Code) need no bridge at all.
For integrators
Any tool that edits vault files can collaborate. To be a first class citizen:
- Write
{"name":"yourtool"}to.obsidian/live-coedit-collaborator.jsonjust before each edit, so changes get your color and attribution. - Optionally write
{"name":"yourtool","state":"working","ts":<ms>}to.obsidian/live-coedit-status.jsonwhile working, and set it back to"idle"when done, to drive the liveness indicator. - After writing a file, re-read it a moment later and re-apply if your change
is missing: Obsidian's autosave can occasionally win a very close race. The
bundled Perplexity bridge shows the pattern in
write_verified.
Install (manual)
npm install && npm run build- Copy
main.jsandmanifest.jsoninto<YourVault>/.obsidian/plugins/live-coedit/ - Enable AI Co-Editor under Settings → Community plugins.
Support
If this plugin adds value for you and you would like to help support continued development, please use the buttons below:
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.
