A Stream Deck plugin for stith

Your agent fleet,
on keys.

Stith Deck puts every live coding-agent session on a Stream Deck key — what it's doing, what it's blocked on — with keys to focus, message or stop it, and Claude usage gauges beside them. The one that needs you is the one that lights up.

Fifteen Stream Deck keys drawn by the plugin: four agent sessions (shefrd editing, stith waiting on a permission, aylith-com idle, whittle compacting), a fleet count of 7 with 1 approval pending, a 34% five-hour gauge, an 83% weekly gauge, an account switch, page navigation, and focus, message, stop and dashboard controls.
! waiting on your permission ✕ last turn errored ? waiting for input ◌ compacting

What it does

See the herd without looking for it.

The keys above are drawn by the plugin's own renderers. Each tile is 144 pixels, so each one says one thing well.

01

One session per key

Project, status colour, current tool, last prompt, turn count and how long ago it last moved. Stopped sessions fade; active ones glow green.

02

Blocked gets a badge

Waiting on a permission, errored, waiting for input or compacting: the one state worth shouting about takes the corner, so a wall of tiles still points at the one that needs a human.

03

Act from the deck

Select a session and focus its terminal, send it a canned message, stop it, or open it in the stith dashboard — without hunting for the window.

04

Usage at a glance

A gauge for the Claude five-hour session or the week, coloured as it fills, with a tick where your switch threshold sits and when it resets.

05

Hold to switch accounts

The account key shows who's active and who has headroom. Hold it to rotate to the next account that does.

06

Says when it can't know

A gauge tells apart Stith offline, a failed usage request and No account — it never shows an empty meter as if nothing were wrong.

Nine actions

Lay out the deck the way you work.

Drop any action on any key. Two bundled profiles — agents and detail — give you a fleet page and a per-session page to start from; the navigation keys move between them.

The plugin's Stream Deck actions
Agent SlotOne live session per key: status, project, current tool, last prompt.
Agent CountFleet summary — active, idle, and approvals waiting. Tap for the agents profile.
NavigationPage through the fleet, or move between profiles.
Agent Detail InfoOne fact about the selected session: name, turns, runtime, tool, machine…
Agent ControlFocus, stop, or send a canned message to the selected session.
Prompt DisplayThe selected session's last prompt, spread across several keys.
Prompt Mode ToggleSwitch that display between wrapped and panorama.
Usage GaugeA session or weekly quota meter for one account.
Account SwitchHold to rotate to the next account with headroom.

Privacy

It talks to your stith, and nothing else.

Every key is drawn from what the stith daemon on your machine reports over loopback. No account, no telemetry, no backend of ours.

Where it connects

http://localhost:24200 by default, or the port in STITH_PORT. Set STITH_API_URL to point it at a proxied or remote daemon of your own.

What it reads

Sessions and usage as stith serves them. The gauge reads stith's /api/usage — it does not read provider credentials or call a provider itself.

What it keeps

Key settings in Stream Deck, and logs in the plugin's own directory on your machine. Nothing is uploaded.

Get it

Build it onto your deck.

Stith Deck is not on the Elgato Marketplace yet. Today it installs from source, which takes Node and three make targets.

From a checkout
git clone https://github.com/aylith-labs/stith-deck.git
cd stith-deck
make install          # npm ci
make build            # bundle the plugin
make install-plugin   # copy it into Stream Deck's plugins

Then restart Stream Deck so it picks the plugin up. The actions appear under Stith.