$npx skillfedfor your agent
REPO

Herdr's native GUI bets that rendering daemon surfaces beats wrapping a terminal

on: penso/herdr-gpui

The Herdr daemon already owns your terminals, sessions, and agents. This project is a native GUI that attaches to that daemon's socket and renders what it sends — no embedded terminal emulator, no TUI wrapper. The architecture is deliberately thin on the client side: a protocol crate handles framing and surface patches, a client crate manages discovery and the socket worker, and the window layer paints and routes input. Close the GUI and the daemon keeps running, sessions intact.

The rendering stack is GPUI, Zed's UI framework, which means Metal on macOS and Vulkan on Linux. The performance work documented here is specific and measurable: on an M4 Max, caching terminal cells and batching background draws cut hover frame p95 from roughly 51 ms to 12 ms, and scroll p95 from 56 ms to 14 ms. Those numbers come from a deterministic benchmark fixture — 160×50 terminal, 40 workspaces, 40 agents — that dispatches real window-local events and explicitly checks that unchanged cells produce zero new text-shaping calls. That is a meaningful constraint to enforce mechanically rather than just assert in prose.

Platform support is tiered honestly. macOS 15 on Apple Silicon or Intel is the primary target, distributed as a signed and notarized universal binary via Homebrew, with an in-app updater that detects Homebrew ownership and runs the upgrade through it rather than bypassing the package manager. Linux gets x86_64 and ARM64 packages in four formats, requires glibc 2.39 or newer and a Vulkan driver, and does not self-update — each release is a manual install. Windows is explicitly experimental: CI builds and tests the executable but no native window or live daemon connection has been exercised, several features report themselves unavailable, and the binary is not Authenticode-signed.

The source pins Rust 1.96.1 and GPUI 0.3.6. The QA menu, which includes an audio test path for notification sounds, is excluded from default and release builds and must be opted into with a feature flag. Custom notification sounds are MP3 only.

What makes this worth watching is less the feature set than the architectural bet: that a purpose-built native client, rendering daemon-owned terminal surfaces directly over a binary socket, can be meaningfully faster and lighter than wrapping a terminal emulator. The benchmark infrastructure suggests the author is taking that bet seriously enough to measure it.

A native GPUI client that renders Herdr daemon surfaces directly, with documented frame-time benchmarks to back the architectural tradeoff.

Install it

Sources & links