snyvi: All your passion projects, in one calm place.
Agents make it easy to start. snyvi helps you finish: a desk for each project, up to four agents side by side, and everything they write kept where you can read it. Free and open source.
snyvi
- v1.53.1 · 27 Oct 2026
- MIT
- Rust, one static binary
- Linux · macOS · Windows
- snymrova/snyvi
And the work scatters
More passion projects than hours in the day, each with agents on it. Three things go missing first. snyvi puts each one back.
Plans
Lost in terminal scrollback.
Land on the desk, marked with the panel that wrote them, and open as a clean page.
To-dos
Kept in your head.
Stay on the project's desk, in its notes, until you tick them off.
Focus
Gone every time you switch.
Each desk is exactly as you left it. ⌘K finds anything, across all of them.
How it works
Any agent that speaks MCP can send. Setup is one command per agent.
The agent sends
The agent calls one MCP tool, send_document. snyvi init <agent> registers it in the agent's settings; snyvi uninstall removes it.
The daemon renders and stores
A local daemon on 127.0.0.1:7777 renders the document once and stores it in SQLite under the project it came from.
Open pages update
Every open page receives the document over an event stream, about 50 ms after the send. Agents send; snyvi shows.
- Claude Codesnyvi init claude
- Codexsnyvi init codex
- Cursorsnyvi init cursor
- Claude Desktopsnyvi init claude-desktop
- Gemini CLIsnyvi init gemini
- Windsurfsnyvi init windsurf
- VS Codesnyvi init vscode
- Zedsnyvi init zed
How it keeps it in order
Seven pictures of four real projects, with live agents in the panels. Pick one to see it; click the picture to enlarge.
Install
One small app on your own machine: the snyvi command, and the window desks run in. To update, install the new version over the old one; on Linux, then run snyvi restart.
- snyvi send PLAN.md
- a file, or stdin; prints the link
- snyvi watch PLAN.md
- send now, and again on every save
- snyvi browse [dir]
- read a folder from disk, nothing stored
- snyvi app
- the window, where desks run
- snyvi init <agent>
- register with any of the eight agents
- snyvi status
- what is running, what is registered
One line, on Linux or macOS. It picks the right path for the machine it is on, checks every download against its published checksum, and connects Claude Code if it finds it. Run it again to update.
curl -fsSL https://raw.githubusercontent.com/snymrova/snyvi/main/install.sh | shBy hand, on each desktop:
From the releases page, download snyvi-windows-x64-setup.exe, or nothing with Scoop. Then:
scoop bucket add snyvi https://github.com/snymrova/scoop-snyviscoop install snyvisnyvi init-claude --auto
Or download the installer and double-click it: it connects Claude Code if you have it, and opens snyvi. The installer is not signed, so Windows asks first: More info, then Run anyway.
Or from the package manager you already have:
Homebrew macOS
brew install --cask snymrova/snyvi/snyviThe app and the command; brew upgrade updates it.
Scoop Windows
scoop bucket add snyvi https://github.com/snymrova/scoop-snyviscoop install snyvi
Both executables, shimmed onto PATH; scoop update snyvi updates it.
Cargo any platform
cargo install snyviEverything but the window, which links a browser engine and is built separately.
Keys
Everything works from the keyboard. ? shows the list in the viewer.
- ⌘K
- search everything
- n
- open the next document waiting
- j / k
- next / previous document
- c
- compare with the previous version
- /
- find in document
- f
- fill the screen with the diagram
- t / \
- toggle contents / sidebar
- p
- pin (kept by prune)
- Del
- delete (⌘Z undoes it)
- ?
- all of them
Benchmarks
snyvi bench --check runs on every push and fails the build if a number goes over budget. Measured on a Linux dev box; the guide has macOS and Windows.
| Case | Result | Budget |
|---|---|---|
| Binary size, snyvi | 12.4 MB | 15 MB |
| Daemon cold start, to first health | 11 to 14 ms | 100 ms |
| Daemon resident, three documents in | 40 MB | 60 MB |
| Send, 100 KB Markdown, round trip | 12 to 14 ms | 100 ms |
| Document page, time to first byte | 1 to 2 ms | 30 ms |
| Render Markdown, 1 MB | 108 ms | 400 ms |
| Highlight Rust, 10k lines | 143 ms | 500 ms |
What it does not do
These limits are deliberate and documented in the roadmap.
No editing
snyvi is a viewer. Editing happens in your editor, via “Open in editor”.
One direction only
Agents send, snyvi shows. Nothing is read back into the agent.
Nothing is run for you
A desk's panels are your shells. Nothing a document says is ever typed into one; there is no “run this block”.
Nothing phones home
The daemon listens on 127.0.0.1 only. No hosted mode, no account, no telemetry.
Open source, MIT
We built snyvi to keep our own passion projects in order. It is free, and the full source is on GitHub.