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
demo.mp4 · 1:49
Four projects, their agents, and one place that keeps them in order.

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.

01

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.

02

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.

03

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.

A desk for each project.1/7
Its folder, and up to four agents side by side, each in its own panel. A panel is a real shell, so it runs Claude Code, Codex, or the tests.

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

Full install guide

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 | sh

By 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/snyvi

The 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 snyvi

Everything 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.

CaseResultBudget
Binary size, snyvi12.4 MB15 MB
Daemon cold start, to first health11 to 14 ms100 ms
Daemon resident, three documents in40 MB60 MB
Send, 100 KB Markdown, round trip12 to 14 ms100 ms
Document page, time to first byte1 to 2 ms30 ms
Render Markdown, 1 MB108 ms400 ms
Highlight Rust, 10k lines143 ms500 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.