Sova

TypeScriptSolidJSBunOpen Source

A browser workspace for the pi coding agent: every session in one place, workers you can follow, on desktop or phone.

Actively developing. Sova is a web app for the pi coding agent that runs on your own machine. Its whole point is making it easy to run tons of sessions at once: every session sits in one list that shows which ones need you. The Overseer, a session that reads all the others, tells you what needs you and what finished, starts and nudges sessions, and tidies up stale ones, asking first when it matters. Minor modes you switch on per chat shape how an agent works: agreeing on a plan before building, working from the project's spec, drawing diagrams, scripting its tools. It's built to be extended too: pi extensions, your own modes, and every action open to scripts. A chat can hand work to worker agents and you can follow each one in its own pane. Every change reads back as numbered steps, each with the reason it was made. It works on a phone too, foldables included, and sends a push when a session needs you. Open source under Apache-2.0.

Watch it run ยท GitHub

The sessions sidebar, a session in Delegate mode waiting on its 3 workers, each on its own model, and the working worker's transcript
The sessions sidebar, a session in Delegate mode waiting on its 3 workers, each on its own model, and the working worker's transcript
The Agents tab: each worker with its provider, model, tokens and state, beside the working worker's transcript
The Agents tab: each worker with its provider, model, tokens and state, beside the working worker's transcript
An alignment card: what the agent found, its approach, a rejected alternative and an open question with a recommendation
An alignment card: what the agent found, its approach, a rejected alternative and an open question with a recommendation
The changes viewer: numbered steps, one per worker, each with why it was made, and its diff
The changes viewer: numbered steps, one per worker, each with why it was made, and its diff
A running turn: reads, edits, a test run, and a follow-up typed into the Steer composer
A running turn: reads, edits, a test run, and a follow-up typed into the Steer composer
The Overseer lists finished sessions, each with why, and asks before archiving them
The Overseer lists finished sessions, each with why, and asks before archiving them
The same session on a phone, its alignment decided and its workers running
The same session on a phone, its alignment decided and its workers running
A session on a phone, waiting on an open question with a recommendation
A session on a phone, waiting on an open question with a recommendation