Drift

by ryanbbrown
5
4
3
2
1
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. Detects external file changes and shows side-by-side diffs with per-chunk accept/reject.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Drift

A VS Code-style side-by-side diff viewer that lives inside Obsidian. Automatically detects external file changes (including AI coding agents) and shows you a before/after view with per-chunk accept/reject, accept all/reject all, and collapsible unchanged regions.

Drift demo

Features

  • Instant detection — No polling or delays. Uses CodeMirror 6 transaction monitoring to detect external changes the moment they happen.
  • Per-chunk accept/reject — Cherry-pick individual changes, not just all-or-nothing. Revert buttons on each diff chunk let you keep what you want and undo what you don't.
  • Accept all / Reject all — Bulk actions when you have multiple files with pending diffs.
  • Persistence — Pending diffs survive Obsidian restarts. Stale diffs (file deleted or reverted) are automatically discarded on reload.
  • Edit protection — Editing a file with pending diffs shows a warning modal, preventing accidental data loss.
  • Tool-agnostic — Works with any tool that modifies vault files: AI coding agents, sync services, scripts, other plugins.

Installation

Install Drift from the Obsidian community plugin directory.

Manual install

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder VaultFolder/.obsidian/plugins/drift/
  3. Copy the downloaded files into that folder
  4. Restart Obsidian and enable the plugin in Settings → Community plugins

Usage

Once enabled, the plugin runs automatically. When an external tool modifies a markdown file in your vault:

  1. A Drift tab opens in the background showing the side-by-side diff
  2. Use Accept All to keep the new content, or Reject All to revert to the original
  3. Use the revert button on individual chunks to selectively undo specific changes
  4. Use the Open diff viewer command to reopen the tab if you close it

Commands

Command Description
Open diff viewer Open or focus the diff viewer tab
Toggle external change detection Enable/disable external change detection