Give Revolve a goal and it does not work alone: it hires the team. It starts agents with roles, hands each one its share of the work, and they talk to each other while they run — held together by a task queue and an inbox that are part of the program rather than something you bolt on.
Five things, in the order they matter.
You do not wire up a team; the agent assembles one. It starts new agents, gives each a role that sticks for the whole of its life, and every agent can reach every other one by name and ask it something mid-run. A coordinator can send work out, get answers back, and keep going while the others are still thinking.
$ revolve --role coordinator
The backlog is part of the program: every session sees the open tasks each turn, one can be addressed to a particular agent, and putting one off until Thursday is one line. The other direction is the inbox — anything only you can decide is parked there with what it blocks, instead of an unattended run stalling on a question nobody is there to answer.
$ revolve tasks
Every rule is allow, ask or deny, and every prompt offers the same four answers: once, always, always for anything like it, or let the agent propose the rule in words you read before it applies. Rules live per project, a command narrows to its subcommand, a web request to its host, and a file outside the project takes a grant for that one file.
> /permissions
What it learns about your project becomes memory it reads on every turn, and it revises those notes from the conversation itself — on request, or on its own after enough has happened. Every revision is a snapshot, so a bad one is undone in one step, and a session started bare ignores all of it when the accumulated instructions are themselves the bug.
> /refine
A session is its own process answering on a socket, and the terminal is a viewer attached to it. Detach, close the terminal, come back tomorrow and attach again — to that session, or to any of the others still running in the same repository.
$ revolve detach nightly
What you type into is a text editor, not a prompt line. Several carets, moving a line or a whole markdown section with a keystroke, completing a word from what is already on screen, selecting with the mouse and copying out of the history. A half-written message survives closing the program, and the history you walk with the arrow keys holds what you typed — not what the model was sent.
> Ctrl+Space — complete a word from the conversation
Anthropic, DeepSeek and Z.AI all drive the same agent, through a subscription login or an API key, switchable mid-conversation. The same core answers a terminal, a window, a JSON line protocol and an editor over ACP, so nothing here is tied to one screen or one vendor.
$ revolve --model deepseek:deepseek-v4-pro
A binary for Linux or Windows, or a build from source. Either way you need an account with one model provider. Linux is where it is used daily; the Windows build compiles but has not been lived in yet.
Linux x86-64 .tar.gz Windows x86-64 .zip
Both are single static binaries from the newest release, with the checksums beside them in SHA256SUMS. On Linux the installer does the same thing and verifies the checksum for you:
$ curl -sSf https://porky11.gitlab.io/revolve-agent/install.sh | sh
$ cargo install --git https://gitlab.com/porky11/revolve-agent revolve
Puts revolve in ~/.cargo/bin. The window is a second binary,
revolve-gui, from the same repository.
$ revolve login
$ export DEEPSEEK_API_KEY=your-key
A subscription or a key, whichever you have. The model you used last is remembered.
The docs start with the commands and the permission rules — the
two things worth knowing before you let it run unattended. The rest is discoverable from
/help inside a session.