kitt-eye

A homelab monitor that gathers AI coding agent lifecycle events over MQTT and shows the active state on a desk LED bar.

Deskterior modeled on the K.I.T.T. scanner from Knight Rider.

In motion

Hooks watch Claude, Codex, Cursor, Antigravity, and Hermes. A Go daemon aggregates state over MQTT onto an ESP32 NeoPixel bar.

How the pieces connect

From CLI lifecycle hooks through Unix socket and MQTT to the WS2812B scanner. Open the interactive diagram for the full map.

kitt-eye architecture diagram: AI CLI hooks to Go publisher to MQTT to ESP32 LED bar

Built for the desk, not the dashboard

Fire-and-forget hooks, priority aggregation, and retained MQTT so the bar recovers state on boot.

  1. Lifecycle hooks

    Read-only observers for five AI CLIs. NDJSON over /tmp/kitt-eye.sock, silent on stdout.

  2. Go publisher

    Multi-session store with TTL janitor. Collapses many agents into one active_state.

  3. MQTT + Home Assistant

    QoS 1 retained topics, LWT availability, and MQTT discovery sensors.

  4. ESP32 scanner

    Rust firmware on C3 or S2 drives an 8-LED WS2812B bar in classic red or colorful themes.