boogiemia45 downloadsSafely mirror the current macOS Vault to a local folder, such as iCloud Drive. 安全地将当前 Vault 单向镜像到本地文件夹。
中文说明 · Safety · Privacy · Release guide

Vault Mirror is a macOS Obsidian desktop plugin for a simple multi-device workflow: write in your main Mac vault, mirror it to an iCloud Drive vault, then read it in Obsidian on iPhone.
It is intentionally a one-way mirror:
✍️ Mac source vault (source of truth) → ☁️ iCloud Drive destination → 📱 iPhone (view and read)
Vault Mirror runs only on your Mac. It does not connect to Baidu Netdisk, iCloud, or any other cloud API. Your existing sync clients remain responsible for moving files between devices.
[!danger] Back up before your first sync. Copy or archive your source Vault and any existing iCloud destination Vault before using Vault Mirror. This plugin is a one-way mirror, not a backup tool and not two-way sync. Destination-only files and edits can be overwritten or deleted during the next mirror.
[!important] Mobile is for viewing. Treat the iPhone Vault as a read-only copy. Create and edit notes in the Mac source Vault, then run Vault Mirror when you want the latest content on your phone. Editing the iPhone destination can be lost at the next sync.
If your primary Vault lives in a desktop sync folder, while your iPhone Vault must live in iCloud Drive, Vault Mirror provides a deliberate, one-way bridge on macOS:
Vault Mirror copies notes, attachments, hidden files, and .obsidian configuration by default. It removes destination-only files only after all creates and updates have completed successfully.
The preview is a fresh scan, not a cached summary. It highlights changed Markdown notes separately from attachments and Vault configuration, and shows the exact source and destination paths before any write occurs.
During a run, Vault Mirror shows the current phase and progress for comparison, copying, updating, verification, and deletion. When the source is still changing, it waits for the filesystem to settle before it creates a plan.
Install Vault Mirror from Settings → Community plugins, then enable it.
Download main.js, manifest.json, and styles.css from the matching GitHub release.
Create this folder inside the vault that will run the plugin:
<Your Vault>/.obsidian/plugins/vault-mirror/
Copy the three downloaded files into that folder.
Reload Obsidian.
Enable Vault Mirror in Settings → Community plugins.
Documents folder.For every relative path, Vault Mirror creates one of four operations:
| Source / destination state | Operation |
|---|---|
| Exists only in source | Create |
| Exists in both but differs | Update |
| Exists only in destination | Delete |
| Same content | Skip |
All creates and updates are staged before any planned deletion. If a source file disappears while a desktop sync client is working, the plugin re-scans and asks for a new confirmation instead of treating that transient state as a successful mirror.
Vault Mirror refuses to run when:
The default exclusion is .DS_Store. You can add exact file or folder rules in Advanced → Excluded files. .obsidian is included by default.
Read the full safety guide before using this plugin with a non-empty destination.
.obsidian files may appear as changes on the next preview. This is expected for a mirror whose source is authoritative.Vault Mirror operates on local filesystem paths only. It does not send vault content, paths, metadata, analytics, or credentials to any service. See Privacy.
pnpm install
pnpm test
pnpm build
The production build creates main.js in the repository root. The test suite covers creation, update, deletion, nested folders, binary files, .obsidian, path safety, concurrent jobs, source changes during staging, and note-change counting.
For each release, keep the Git tag exactly equal to the version in manifest.json, then attach these files to the GitHub release:
main.jsmanifest.jsonstyles.cssSee the release guide for the full checklist.