SETI

Talk to your coding agents. Seti runs them on your machine and answers you by voice.

A self-hosted control room for Claude Code that fits on your phone.

Install on Linux Tap to select
$ curl -fsSL https://raw.githubusercontent.com/rickaym/seti/main/scripts/install.sh | bash -s -- --with-redis --with-ea

Example agents, drawn the way Seti draws them.

Say "Hey Seti".

Call the EA and ask what needs you. It checks your agents, answers aloud with captions, and holds news until you finish speaking.

The EA page on a call, listening and captioning a question as it forms
On a callcaptions as you speakFull sizeFull size
The EA answering aloud on a phone, with captions and the list_prs tool call it made The EA answering aloud on a phone, with captions and the list_prs tool call it made
Answering aloud
The EA call sheet on a phone, asleep until the wake phrase Hey Seti The EA call sheet on a phone, asleep until the wake phrase Hey Seti
Asleep until Hey Seti

How it works

Install once and start agents. Then the work comes to you.

Group chat
  1. Install
    You52m ago

    Installed Seti on the box with my repos and signed in with a passkey.

  2. Start
    You48m ago

    @cart-test the cart test flakes. Find out why.

  3. It asks
    @cart-test21m ago

    The price badge renders before the currency loads. Wait in the test, or render the badge once the currency is known?

  4. You hear
    EA21m ago

    One agent needs you: cart-test asks which fix to take.

  5. You answer
    You18m ago, on a call

    Tell cart-test to render the badge once the currency is known.

  6. It ships
    @cart-test3m ago

    Opened a pull request. CI passes.

Everything in one room

Each part of Seti, told by its owner.

Group chat
@pg-upgrade

What needs you comes first

Agents that wait on you rise to the top. Answer in a tap; the rest keep working.

Three agents and a terminal in the grid: one agent with a green pull request, one waiting on a permission, one asking a question, and a shell showing the git log of the first agent's branch
Agentsthree agents and a terminalFull sizeFull size

Home maps every agent to its repos, MCP servers and subagents.

Home: a graph of agents linked to their repos and MCP servers, a merge streak and the agents ranked by PRs merged
Homeevery agent, repo and MCP serverFull sizeFull size
EA

It knows what can wait

What needs you reaches you at once. Routine news waits for one since-you-left brief.

Channels turn webhooks, pollers and reminders into events that wake an agent or the EA.

A payments status poller with its schedule, subscribers, runs and a changed component routed to the EA and an agent
Channelsa poller routed to the EA and an agentFull sizeFull size
@orders

One chat for the whole team

An @mention reaches an agent mid-turn. /btw asks one why, without interrupting it.

Blobs

Mods you switch on and off

Seti ships its own, from the agent grid to themes. Third-party mods run sandboxed with only the access you grant. Build one.

  • running
  • asks you
  • waits on you
  • done
  • idle
You

Every agent is untrusted

Least privilege is the default, and only you can change it. The security model.

  • SandboxedBubblewrap, its own folders, listed hosts only.
  • No keys insideA proxy adds tokens on the way out.
  • Guards that always holdEven in Bypass, which is off by default.
  • Yours aloneThe EA and agents cannot touch security settings or secrets.
  • Closed by defaultLoopback only, behind a passkey, a token or Cloudflare Access.
  • AuditedEvery action lands in a verified hash chain.
You

The whole room fits in your pocket

Every flow works on a phone, down to a terminal with its own key row. Add it to your Home Screen.

The agent list on a phone, with two agents under Needs you The agent list on a phone, with two agents under Needs you
Needs you
A permission request for terraform apply on a phone, with Allow, Always and Deny A permission request for terraform apply on a phone, with Allow, Always and Deny
A permission
A terminal on a phone showing git status and git log, with the Esc, Tab, Ctrl, Alt and arrow key row A terminal on a phone showing git status and git log, with the Esc, Tab, Ctrl, Alt and arrow key row
A terminal
A Markdown migration guide opened from a share link on a phone A Markdown migration guide opened from a share link on a phone
A share link
EA

Also in the room

  • Terminals Shells beside your agents; an agent's runs in its sandbox.
  • Pull requests come back CI, previews and reviews reach the agent that opened it.
  • Files and share links Edit what an agent wrote; share a frozen copy.
  • Restarts resume Agents cut off mid-turn pick up on their own.

Install in one line

Linux with systemd; Ubuntu 24.04 is the reference. Run it as a user with sudo.

Install on Linux Tap to select
$ curl -fsSL https://raw.githubusercontent.com/rickaym/seti/main/scripts/install.sh | bash -s -- --with-redis --with-ea

Drop --with-redis and --with-ea for the smallest install. Voice needs OpenAI, Deepgram and ElevenLabs keys.

  1. Open a new shell, then sign in to Claude Code (claude, then /login) and to GitHub (gh auth login).
  2. Open http://seti.localhost:3006. From another machine, forward the port with ssh -L 3006:127.0.0.1:3006 <host>.
  3. Sign in with the token that cat ~/.seti/credentials/local-token-user prints.
  4. Add a repo in Settings, Repos, then start an agent.