pixtuoid
Your AI coding agents, visualized as pixel-art coworkers in a terminal office.
pixel + tui + (agent-)oid
π₯︎ Live demo β Β· Architecture Β· Configuration Β· Contributing
Why?
Running several coding agents means alt-tabbing between terminals to find out who's stuck, who's waiting on a permission prompt, and who finished ten minutes ago. pixtuoid puts them all in one tiny pixel-art office you can watch from above β every session is a character at a desk: typing while it works, raising a ? when it needs you, dozing off when it's done.
A little bit Black Mirror, a little bit The Sims β and the most glanceable multi-agent dashboard you'll ever use.
Quick Start
Pick one β Homebrew on macOS, or npm on any OS:
Homebrew (macOS):
brew install IvanWng97/pixtuoid/pixtuoid
npm (any OS):
npm install -g pixtuoid
Then wire up your agent and launch:
pixtuoid install-hooks
pixtuoid
In another terminal, start a supported coding agent (Claude Code, Codex, Antigravity, Reasonix, β¦). A character walks in from the elevator within a second.
Keyboard shortcuts: q quit Β· p pause Β· t themes Β· Tab agent dashboard Β· ? help Β· ββ/jk/PgUp/PgDn floors Β· click to pin tooltip
More ways to install β Cargo, prebuilt binaries, and Debian .debs β are on the install guide β. Upgrading from ascii-agents? See docs/MIGRATION.md.
Features
| Feature | Description | |
|---|---|---|
| π’ | Multi-agent office | Each agent session gets a desk; overflow agents auto-fill new floors |
| π | Multi-floor office | PageUp/PageDown/ββ/jk to navigate floors with slide transition |
| π | Animated characters | Typing, waiting (?), sleeping (z's), walking with A*-routed pathfinding |
| π‘ | Per-tool monitor glow | Edit = blue, Bash = orange, Read = cyan β scannable at a glance |
| π¨ | Per-agent identity | Deterministic shirt/hair/skin palette from session hash, 16 curated outfits |
| π§οΈ | Weather effects | Rain, storm, snow, fog, overcast, windy β cycles every 10 min + sunset golden hour |
| π | Tooltip stats | Hover any agent to see session duration, tool call count, and active time % |
| π·οΈ | Furniture tooltips | Hover any item β desks, sofas, plants, vending machine, printer β to see its name |
| πΎ | Office pets | A cat or dog (one per floor) roams desks, pantry, sofas; sleeps near idle agents. Click to pet β pixel-art hearts float up |
| β | Coffee run | Idle agents visit the pantry, carry a cup back to their desk. Cup stays while you work; taken on exit |
| π¬ | Pantry chitchat | 2+ idle agents at the same waypoint trigger speech bubbles with dev-humor snippets |
| π‘οΈ | Hook-safe | The shim always exits 0 β a stuck visualizer can never block your agent |
βΆ See every feature live β floors, themes, weather, pets, the office tour β
Supported Tools
| Tool | Runs on |
|---|---|
| Claude Code | macOS Β· Linux Β· Windows* |
| Codex CLI | macOS Β· Linux Β· Windows* |
Also supported: Antigravity CLI, DeepSeek-Reasonix, CodeWhale, opencode. Planned: Copilot CLI, Cursor CLI.
β Full tool Γ OS support matrix on the site
* experimental β limited testing, unsigned binaries.
Adding a new tool? Implement the
Sourcetrait β or, for a hook-only CLI, just a hook decoder + aninstall-hookstarget β then add a row tosite/src/sources.json(itssupportedset is pinned to the code by a test). One file, one channel, done.
Themes & Configuration
Press t to cycle the built-in themes with live preview. Your choice persists across sessions:
Settings live in ~/.config/pixtuoid/config.toml β theme, desk cap, custom pet
names, and sprite packs. CLI flags override the file (pixtuoid run --theme dracula).
See docs/CONFIGURATION.md for the full key reference
(defaults, system-managed keys), the custom sprite-pack workflow, and logging /
troubleshooting (the TUI writes warnings to ~/.cache/pixtuoid/log) β or browse it
live at /config.
How It Works
Agent CLIs emit events two ways β a hook shim (a 200ms fire-and-forget write to a Unix socket, or a named pipe on Windows, that can never block your agent) and JSONL transcript watching. Both feed one channel; a reducer folds events into office state; the renderer draws it as half-block pixel art. Three Rust crates, zero terminal deps in the core.
Full architecture with diagrams β Β· single source: docs/ARCHITECTURE.md
Contributing
PRs welcome β especially new themes and Source adapters for other agent CLIs (Copilot, Cursor, OpenCode). See CONTRIBUTING.md for the build/test workflow, conventions, the review process, and how to add a new agent CLI. Architecture and the load-bearing invariants live in CLAUDE.md.
Acknowledgments
Inspired by pixel-agents (VS Code), clawd-on-desk (desktop pet), and Claude Code's Buddy.
License
Star History
Enjoying the little office? β Buy me a coffee Β· β Star the repo