Zyris
An Agent With Hands on Your Machine
Zyris is an expandable protocol. A node dials a server over one websocket and announces typed capabilities—terminal, files, input, screen, browser—as tools. Attacca is the reference deployment, calling those tools straight from an agent.
From an Agent Stuck in Chat
to a Protocol for Devices
An Agent Only Lived in Text
However smart the agent, all it could do was answer. Opening a terminal, editing a file, watching the screen, moving the mouse — that was still on you. We needed an agent that could reach into the device directly.
So We Built a Protocol
A Zyris node dials a server over one websocket and announces its capabilities. The protocol is direction-symmetric — once the handshake is done there's no client or server, either peer can call the other, open streams, or change what it offers mid-session. Terminal, screen, whatever a node announces becomes a tool an agent can call — immediately.
Meeting Attacca
This protocol met Attacca as its reference deployment. The tools a node announces become tools an agent can call directly, and the server announces attacca_api back so the node can drive agent sessions itself.
Infinite Extensibility
One trait, one #[zyris::capability] macro, and you have a new tool — doc comments become the descriptions the model reads. Copy zyris-hello, build your own node, and extend the agent's reach to whatever hardware you like.
Learn moreWhat You Can Build With Zyris
From terminal to screen, input, and browser — see what an agent can actually do with just the standard capabilities.
Get Started
with Zyris
Choose the deployment model that fits your workflow. All packages are signed and verified — no telemetry, no lock‑in.
Choose your operating system below. Each package includes the full daemon binary, systemd/LaunchDaemon integration, and an auto‑updater. Both CLI and GUI management interfaces are included.