A localhost visualizer that renders AI coding agents as pixel-art line cooks in a single restaurant kitchen. Agent state, the ticket rail, the pass, the 86 board, and the kitchen lights are a glanceable skin over a small, versioned JSON feed.
IT's RAW!
Gordon Ramsey
herdr-mise does not control agents, render their output, or aggregate remote servers. It is a window, not an office.
| Mixed lunch service | Mixed dinner service | Settings |
|---|---|---|
![]() |
![]() |
![]() |
The binary also runs as a TUI for terminal work. These terminal chefs are lower level, so they're relegated to primitive kitchen tools:
Mise remains a localhost-only, read-only projection. The browser playground,
terminal recording, and static fallbacks remain explicitly labeled
DEMO SERVICE; they do not claim live state.
| Live kitchen | Blocked at the pass | Compact fallback |
|---|---|---|
![]() |
![]() |
![]() |
Re-record the terminal demo with npm run capture:tui; see
capture sources.
Install Herdr, install this community plugin, and open its pane:
brew install herdr
herdr plugin install funsaized/herdr-mise
herdr plugin action invoke open --plugin mise.kitchenThe plugin installer downloads the pinned, verified release binary; users do not need Node, npm, Cargo, or Rust. Herdr may require Git to clone community plugins. See Operations for logs, updates, uninstall, standalone installation, and manual archive verification.
curl -fsSL https://raw.githubusercontent.com/funsaized/herdr-mise/main/install.sh | sh
herdr-mise --tuiPrefer the plugin installation when Herdr should manage pane registration.
brew install funsaized/tap/herdr-mise
herdr-mise --tuiThe formula installs Homebrew Core's herdr dependency but does not register a
Herdr plugin. Prefer herdr plugin install funsaized/herdr-mise for
Herdr-managed pane registration.
- Live: the
DEMO SERVICEplacard is absent and the WebSocket payload carriesmode: "live". - Demo: a persistent
DEMO SERVICEplacard identifies deterministic mock data and names the source condition. Demo is not a successful live connection.
Troubleshooting: Herdr socket unavailable, Herdr protocol not supported.
The adapter accepts the protocols in the verified matrix below. Other product versions on those protocols may work but are not part of the release matrix.
| Herdr release | Snapshot protocol |
|---|---|
0.7.5 |
17 |
0.8.0 |
19 |
0.8.2 |
20 |
The authority is compatibility/herdr.json; each row names its immutable
upstream commit and sanitized fixture. Run npm run check:herdr-compatibility
to check runtime, docs, fixtures, and fixture privacy.
herdr-mise is an independent community project, not an official Herdr project, and is not affiliated with, endorsed by, or maintained by the Herdr team.
- A single static binary serving a TypeScript browser client on
http://127.0.0.1:8686and, with--tui, a native terminal kitchen. - A read-only projection of local Herdr state. It does not approve, prompt, kill, or inspect agent output.
- A single-machine tool, not a remote dashboard, notification inbox, session log, or multi-host aggregator.
Blocked work must remain unmistakable from peripheral vision, and payload, wire traffic, hidden-tab activity, and server resources remain bounded during all-day use. The detailed browser/TUI representation audit is in Browser and TUI scene parity.
- Demo: deterministic cooks remain visibly labeled while the server retries a missing, timed-out, unsupported, or incompatible Herdr source.
- Live: a compatible snapshot atomically replaces the demo roster without a process or browser restart.
- Disconnected: browser silence surfaces
GAS LEAK β SERVICE SUSPENDED, then reconnects through a fresh snapshot. Rejected state frames take the same recovery path; a repeated rejection is labeled as an incompatible browser-to-Mise feed rather than a Herdr failure. - Empty: a live source with no agents shows
Waiting for agents β start one in herdr.
Use the deterministic client-only playground for visual work:
npm ci
npm ci --prefix client
npm run dev:visual
# open http://localhost:8686Build the embedded client and release binary for integration work:
npm ci
npm ci --prefix client
npm run bundle
HERDR_SOCKET_PATH=/tmp/no-herdr.sock ./target/release/herdr-miseSee Client development for playground presets, isolation guarantees, and plain Vite limitations.
Build from source for integration work:
npm ci
npm ci --prefix client
npm run bundle
./target/release/herdr-mise --tuiTo exercise the published-binary plugin manifest from a checkout, link it:
herdr plugin link .Open the linked pane with:
herdr plugin action invoke open --plugin mise.kitchenThe browser service continues alongside the TUI when its loopback port is free
(8686 by default, or HERDR_MISE_PORT).
- The server binds only to
127.0.0.1, on8686by default;HERDR_MISE_PORTchanges only that loopback port. Browser WebSocket origins must match the effective port or be explicitly added for a personal reverse proxy, which owns its transport and access control. - The binary sends no telemetry and performs no outbound product network requests. Live mode reads only the local Herdr Unix socket.
- Release archives and the installer support macOS arm64, macOS x86_64, and Linux x86_64 glibc. There is no background service or auto-update.
- Browser settings are local site data. Reduced motion is honored; the manual VoiceOver listening pass remains post-release work.
See Security policy and Operations for the complete runtime and troubleshooting contracts.
- GitHub issues β accepted work, ownership, and current status.
- Architecture β components, data flow, and trust boundaries.
- Operations β run, develop, diagnose, and troubleshoot.
- Release operations β signing, publication, and recovery.
- Contributing β setup, verification, and review rules.
- Security policy β supported versions and private reporting.







