yaos README

The project's README from github.com/kavinsood/yaos. As one markdown file: README.md.

YAOS

Deploy to Cloudflare

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

Your notes sync live across devices, with CRDT merge semantics instead of conflicted-copy workflows, delayed file sync, or database-heavy hosted services.

YAOS syncing a note across desktop and mobile in real time

No terminal, no .env files, no database setup required.

License: 0-BSD

How it compares

YAOS chooses live Markdown CRDT sync on infrastructure you deploy in your Cloudflare account. That gives fast cross-device editing, with explicit limits around durability receipts, attachments, empty folders, and non-Markdown plugin files.

Conflicts Real-time Deployment No terminal Free
iCloud / Dropbox Conflicted copies No No Yes Yes
Obsidian Sync Rare Delayed No Yes $96/yr
Git / LiveSync Manual Varies Self-hosted / self-deployed No Yes
Relay / Screengarden No Yes No Yes Freemium
YAOS CRDT merge Yes Self-deployed Cloudflare Yes $0

YAOS uses Yjs CRDTs to keep one live vault state moving across devices instead of asking them to take polite turns uploading files and hoping nothing collides.

If you want the official, fully managed experience, pay for Obsidian Sync and support the team. If you want a fast, self-deployed, local-first alternative on your own Cloudflare account, welcome to YAOS!

Get started

YAOS has two parts: an Obsidian plugin and a small Cloudflare server you deploy to your own account. The Worker setup page walks you through the remaining steps, so you don't need to memorize this.

Watch the setup walkthrough

1. Deploy your server Click Deploy to Cloudflare above. Cloudflare creates a Worker in your account.

2. Claim your server Open the Worker URL. Click Claim to lock the server to you and generate your setup token.

3. Install the plugin Install YAOS from the Obsidian Marketplace.

4. Connect your vault From the claim page, open the setup link or scan the QR code. YAOS fills in the connection details automatically.

That's it. Your vault is syncing.

Attachments and snapshots

Text sync works out of the box. To sync images, PDFs, and other attachments, add a Cloudflare R2 bucket — it takes about a minute.

Watch the R2 setup video

R2 also enables daily automatic snapshots and on-demand point-in-time backups. You can browse snapshots, diff against current state, and selectively restore individual files. If you skip R2, text sync still works — you just won't have attachment sync or snapshots.

Works with AI agents

Because Obsidian vaults are just local Markdown files, YAOS plays unusually well with scripts, CLI tools, and AI agents that edit files directly on disk. The CRDT state stays aligned with the filesystem, so changes from any source — git, shell scripts, agents writing to disk — propagate cleanly across devices instead of falling back to conflicted-copy workflows.

If you're building agentic workflows on top of Obsidian vaults, YAOS gives you the sync infrastructure so you don't have to wire up your own.

Troubleshooting

"Unauthorized" errors: Token mismatch between plugin and server. Check both match exactly.

"R2 not configured": The server doesn't have a YAOS_BUCKET binding yet. See the R2 setup video.

Cloudflare deploy/dashboard issues: If build queue or dashboard behavior is flaky, see operations, including the wrangler.toml R2-binding fallback.

Sync stops on mobile: Use "Reconnect to sync server" command. Check you have network connectivity.

Files not syncing: Check exclude patterns. Files over max size are skipped. Use debug logging to see what's happening, and then raise an issue on GitHub.

Diagnostics: Use Show sync debug info for local inspection. Safe diagnostics exports redact server URL, vault ID, device name, and vault paths.

License

0-BSD

yaos (kavinsood/yaos)

Searching Database…

1.1K ·GitHub
What is this?YAOS is a real-time sync engine for Obsidian notes, powered by a Cloudflare Worker you deploy to your own account. Notes sync live across devices with CRDT merge semantics instead of conflicted-copy workflows.
Is this an Obsidian plugin or a separate app I have to run?Both parts, but nothing to run yourself: an Obsidian plugin plus a small server you deploy to your own Cloudflare account. You never touch a terminal or host anything locally besides Obsidian.
How do I get my vault syncing?Four steps: click Deploy to Cloudflare to create the Worker in your account, open its URL and click Claim to generate a setup token, install YAOS from the Obsidian Marketplace, then connect via the setup link or QR code — connection details fill in automatically.
Do I need to know the terminal or set up a database first?No. That's the core pitch: no terminal, no .env files, no database setup — the deploy button, claim page and QR code handle the whole pipeline.
Does everything in my vault sync right away?Plain Markdown text syncs out of the box; images, PDFs and other attachments need a Cloudflare R2 bucket added first. Files over the max size are skipped, and there are explicit limits around empty folders and non-Markdown plugin files.
Does it work on my phone too, or just desktop?Mobile Obsidian is supported. If sync stops on mobile, the documented fix is the 'Reconnect to sync server' command plus a network check.
Where do my notes actually live?On infrastructure you deploy in your own Cloudflare account, not a vendor's hosted service — that's the self-deployed, local-first idea behind the whole project.
Is it really free, or is there a catch?Free — the comparison table lists YAOS at $0 versus Obsidian Sync's $96/yr, and the license is the ultra-permissive 0-BSD. You only need your own Cloudflare account.
What happens when two devices edit the same note at once?No conflicted copies: YAOS uses Yjs CRDTs to keep one live vault state moving across devices, so edits merge automatically instead of devices taking polite turns uploading files and hoping nothing collides.
Can I get old versions of my notes back?Yes, if you attach an R2 bucket: it enables daily automatic snapshots and on-demand point-in-time backups. You can browse snapshots, diff them against the current state, and selectively restore individual files.
Why does the author say it plays well with AI agents?Obsidian vaults are just local Markdown files, and the CRDT state stays aligned with the filesystem. Changes from any source — git, shell scripts, agents writing to disk — propagate cleanly across devices instead of falling back to conflicted-copy workflows.
How is it different from just syncing my vault with iCloud or Dropbox?Those give delayed file sync and conflicted copies when edits collide, while YAOS merges live via CRDTs. Git or LiveSync comes closer but needs terminal work; YAOS is deployable end to end without one.
Creator
kavinsood
Size
14 MB
Stars
1.1K
Age
7mo
Commits · 90 Days