finds.dev← search

// the find

kavinsood/yaos

★ 1,036 · TypeScript · 0BSD · updated Sep 2026

A zero-terminal, real-time sync engine powered by your own Cloudflare Worker.

YAOS is an Obsidian plugin that gives real-time multi-device sync for your vault using Yjs CRDTs, backed by a Cloudflare Worker you deploy into your own account rather than a hosted service. It's aimed at people who want Obsidian Sync-style live merging without paying for it or trusting someone else's server, and who are comfortable clicking through a Cloudflare deploy flow instead of running a terminal command.

CRDT-based merge (Yjs) means genuine conflict-free concurrent edits instead of the conflicted-copy files you get from Dropbox/iCloud or the turn-based uploads of Git-based sync plugins. Self-deploying to your own Cloudflare Worker keeps you off a shared multi-tenant backend and keeps costs at effectively zero for text-only vaults. The QA setup is unusually thorough for a plugin this size — two-device test harness, scenario fixtures for nasty cases like rename-after-create and bulk import after delete, and dedicated analyzer rules for things like stuck receipts, orphaned files after rename, and recovery loops, which suggests the sync edge cases have actually been hunted down rather than assumed away. Plain-Markdown-on-disk design means external tools, scripts, and AI agents editing files directly stay in sync without special integration.

Attachments, snapshots, and point-in-time restore all require bolting on a separate R2 bucket as a second manual setup step — text-only sync is the default, everything else is opt-in extra config. The sheer number of reconciliation policies in the codebase (amplification quarantine, fingerprint quarantine, safety brake, closed-file planner) is a signal that CRDT-vs-filesystem reconciliation is a genuinely hard problem here, and that much of the complexity exists to paper over edge cases rather than avoid them structurally. You own ops for your own Worker — the troubleshooting docs already reference wrangler.toml R2-binding fallbacks and flaky Cloudflare build-queue behavior, which is real maintenance burden for a 'no-terminal' pitch. The comparison table in the README itself admits limits around durability receipts, empty folders, and non-Markdown plugin files, so this isn't a drop-in replacement for full-vault sync tools without caveats.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →