penso/herdr-gpui

Native client for Herdr on macOS, Linux, and Windows, built with Rust and GPUI. View terminal sessions, workspaces, Git worktrees, and agent activity through your local Herdr daemon.

What it is

Herdr UI is a native desktop client (written in Rust with the GPUI framework) that lets you interact with a Herdr daemon – a background service that runs terminal‑based AI coding agents, workspaces, and split panes. Instead of opening a separate terminal emulator, Herdr UI paints the daemon’s terminal cells directly in a graphical window, adding a rich sidebar, tabs, split‑pane layout, and mouse/keyboard interaction.

Who might use it

  • Developers who run AI‑powered coding agents (e.g., agents that write code, run tests, or browse the web) and want a graphical interface to monitor and control them.
  • Power‑users of multiple workspaces or Git worktrees who like to see CPU/memory per host, switch between local and remote SSH machines, and manage agents from a single pane.
  • People who prefer a native, cross‑platform UI (macOS, Linux, Windows) over a plain terminal UI.

Core features (as described in the README)

Feature What it does
Terminal rendering Paints the daemon’s terminal cells (including split panes) directly in the UI, no extra terminal emulator needed.
Sidebar Shows hosts, workspaces, worktrees, and AI agents with status dots (idle, working, waiting).
Worktree management Right‑click pop‑overs let you create, rename, “teleport” (move) worktrees to other hosts, view checkpoints, or delete them.
Teleport Moves a worktree—including its uncommitted changes, open tabs, and running agents—to a different SSH host.
Agent review Opens a diff view of an agent’s changes, lets you add line‑level notes, and send the feedback back to the agent (e.g., to Claude).
Browser integration Agents can open web pages in a GUI‑only browser tab; you can annotate elements, add notes, and send them back to the agent.
Multiple layouts & themes Choose from several sidebar densities and a full set of built‑in or Ghostty themes (light/dark, custom).
AI usage panel Shows usage limits for connected AI services (e.g., Claude) and lets you inspect balances.
System monitoring Live CPU and memory sparklines per host, read over SSH for remote machines.
Native settings Live preview of themes, searchable grid, font/indicator/sound configuration.
Rich terminal interactions Inline images, clickable links, file drops, code navigation (jump to symbols or path:line), editor groups, and system notifications.
Dock badge (macOS) Shows a badge when an agent needs user attention.

How it works

  1. You run a Herdr daemon (installed separately). The daemon owns all terminal processes, workspaces, and AI agents.
  2. Herdr UI connects to the daemon via a local socket (herdr-client.sock) using a binary protocol (herdr-protocol).
  3. The daemon streams surface patches (terminal cell updates) to the UI, which renders them with GPUI.
  4. User input (keyboard, mouse, clicks) is sent back to the daemon, which forwards it to the appropriate terminal or agent.
  5. Browser tabs are a UI‑only feature; the daemon does not manage them. Agents can open URLs via a CLI command that talks to the UI over a separate local socket.

Installation options

  • macOS – Homebrew cask (brew install penso/tap/herdr-gpui), opens as a signed universal app.
  • Linux – Script that picks the right .deb, .rpm, or Arch package for your distro; also available as a plain tarball.
  • Windows – Experimental PowerShell script that drops a zip‑packed herdr-gpui.exe into %LOCALAPPDATA%\Programs\Herdr UI.
  • From source – just run (development build with QA menu) or just install (install the binary to Cargo’s bin directory). The repo pins Rust 1.96.1 and GPUI 0.3.6.

Performance & quality

  • A dedicated performance benchmark (just test-perf) measures frame‑building latency. On an M4 Max Mac, hover latency dropped from ~51 ms to ~12 ms after caching optimisations.
  • CI runs on macOS, Ubuntu 24.04, Debian 13, Fedora 40, and Arch, testing package installation, library linking, and UI rendering.

License

Apache‑2.0 (with additional notices for the vendored herdr-protocol).


Herdr UI is an unaffiliated third‑party client; it does not ship or manage the Herdr daemon itself.

Related

  • Project
  • Project
  • Dispatch