by IvanWng97
Terminal pixel-art office for AI coding agents
# Add to your Claude Code skills
git clone https://github.com/IvanWng97/pixtuoidLast scanned: 6/6/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-06T06:52:37.071Z",
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
30 days in the Featured rail
Running multiple AI agents in the terminal is like managing a sweatshop you can't see. They type, they wait, they finish — and you have no idea who's doing what unless you scroll through logs like a bureaucrat.
pixtuoid puts them all in a tiny pixel-art office you can watch from above. A little bit Black Mirror, a little bit The Sims — and somehow the most intuitive multi-agent dashboard you'll ever use.
brew install IvanWng97/pixtuoid/pixtuoid
pixtuoid install-hooks
pixtuoid
In another terminal, start a supported coding agent (Claude Code, Codex, Antigravity, …). A character walks in from the elevator within a second.
Keyboard shortcuts: q quit · p pause · t themes · ? help · ↑↓/jk/PgUp/PgDn floors · click to pin tooltip
Download from GitHub Releases:
| Platform | Tarball |
|---|---|
| macOS (Apple Silicon) | pixtuoid-v*-aarch64-apple-darwin.tar.gz |
| macOS (Intel) | pixtuoid-v*-x86_64-apple-darwin.tar.gz |
| Linux (x86_64, static) | pixtuoid-v*-x86_64-unknown-linux-musl.tar.gz |
| Linux (ARM64) | pixtuoid-v*-aarch64-unknown-linux-gnu.tar.gz |
Debian/Ubuntu .debs (amd64/arm64) are on the same page — install the binary
and the hook shim:
sudo dpkg -i pixtuoid_*.deb pixtuoid-hook_*.deb
cargo install pixtuoid pixtuoid-hook
git clone https://github.com/IvanWng97/pixtuoid && cd pixtuoid
just build --release
| | 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 |
| Tool | Status | Notes | |---|---|---| | Claude Code | ✅ Supported | Hook shim + JSONL watcher | | Antigravity CLI | ✅ Supported | JSONL watcher | | Codex CLI | ✅ Supported | Hook shim + JSONL watcher (hook/JSONL coalesce on session UUID) | | Copilot CLI | 🔜 Planned | Identical event names | | OpenCode | 🔜 Planned | Any LLM (DeepSeek / GPT / Claude / Gemini) | | Cursor CLI | 🔜 Planned | NDJSON stream |
Adding a new tool? Implement the
Sourcetrait — one file, one channel, done.
Press t to switch themes with live preview. Your choice persists across sessions. 6 built-in:
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) and the custom sprite-pack workflow — or browse it
live at /config.
How pixtuoid works — the architecture → — the producer → reducer → renderer pipeline across three Rust crates, with the data-flow diagram. Single source: docs/ARCHITECTURE.md (renders on the site and on GitHub).
v0.4.0 renamed the project from ascii-agents to pixtuoid.
| Before (v0.3.x) | After (v0.4.0) |
|---|---|
| ascii-agents binary | pixtuoid |
| ascii-agents-hook shim | pixtuoid-hook |
| ~/.config/ascii-agents/ | ~/.config/pixtuoid/ |
| ~/.cache/ascii-agents/ | ~/.cache/pixtuoid/ |
| /tmp/ascii-agents-{uid}.sock | /tmp/pixtuoid-{uid}.sock |
| _ascii_agents hook key in settings.json | _pixtuoid |
Install the new version:
brew untap IvanWng97/ascii-agents 2>/dev/null
brew install IvanWng97/pixtuoid/pixtuoid
# or: cargo install pixtuoid pixtuoid-hook
Re-register hooks (replaces old ascii-agents-hook entries automatically):
pixtuoid install-hooks
Migrate config (optional — only if you customized config.toml):
mkdir -p ~/.config/pixtuoid
mv ~/.config/ascii-agents/config.toml ~/.config/pixtuoid/config.toml
GitHub links: The old
IvanWng97/ascii-agentsURL automatically redirects toIvanWng97/pixtuoid. Existing bookmarks and stars carry over.
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.
Inspired by pixel-agents (VS Code), clawd-on-desk (desktop pet), and Claude Code's Buddy.
If you enjoy pixtuoid, consider buying me a coffee :)