An open API service indexing awesome lists of open source software.

https://github.com/IvanWng97/pixtuoid

Terminal pixel-art office for AI coding agents โ€” your Claude Code sessions, live.
https://github.com/IvanWng97/pixtuoid

ai-agents claude-code cli codex pixel-art ratatui rust terminal tui visualization

Last synced: 8 days ago
JSON representation

Terminal pixel-art office for AI coding agents โ€” your Claude Code sessions, live.

Awesome Lists containing this project

README

          


pixtuoid sprites

pixtuoid


Your AI coding agents, visualized as pixel-art coworkers in a terminal office.


pixel + tui + (agent-)oid


Stars
Version
License
CI
Coverage
Built with Claude Code
Buy Me a Coffee


pixtuoid animated demo


๐Ÿ–ฅ๏ธŽ 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

```bash
brew install IvanWng97/pixtuoid/pixtuoid
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 ยท `?` help ยท `โ†‘โ†“/jk/PgUp/PgDn` floors ยท click to pin tooltip

More install methods

**Both packages are required** โ€” `pixtuoid` (the visualizer) and `pixtuoid-hook` (the shim your agent invokes).

### Pre-built binaries

Download from [GitHub Releases](https://github.com/IvanWng97/pixtuoid/releases/latest):

| 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 `.deb`s (amd64/arm64) are on the same page โ€” install the binary
**and** the hook shim:

```bash
sudo dpkg -i pixtuoid_*.deb pixtuoid-hook_*.deb
```

### Cargo

```bash
cargo install pixtuoid pixtuoid-hook
```

### Windows (experimental)

Requires [Windows Terminal](https://aka.ms/terminal) (the Windows 11 default).
Claude Code only for now โ€” Codex support is coming.

1. Download `pixtuoid--x86_64-pc-windows-msvc.zip` from the
[latest release](https://github.com/IvanWng97/pixtuoid/releases)
2. Unblock before extracting (the exes are unsigned โ€” SmartScreen marks
downloads): right-click the zip โ†’ Properties โ†’ Unblock, or
`Unblock-File .\pixtuoid-*.zip` in PowerShell
3. Extract anywhere and add the folder to your PATH
4. `pixtuoid install-hooks` then `pixtuoid run`

ARM64 Windows: use the `aarch64-pc-windows-msvc` zip.

### From source

```bash
git clone https://github.com/IvanWng97/pixtuoid && cd pixtuoid
just build --release
```

Upgrading from `ascii-agents` v0.3.x? See [docs/MIGRATION.md](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](https://code.claude.com) | macOS ยท Linux ยท Windows |
| [Codex CLI](https://github.com/openai/codex) | macOS ยท Linux |

_Also supported: [Antigravity CLI](https://github.com/antiGravity-AI/antigravity-cli), [DeepSeek-Reasonix](https://github.com/esengine/DeepSeek-Reasonix). Planned: Copilot CLI, OpenCode, Cursor CLI._

**โ†’ [Full tool ร— OS support matrix on the site](https://ivanwng97.github.io/pixtuoid/#tools)**

> Adding a new tool? Implement the [`Source` trait](#contributing) โ€” or, for a hook-only CLI, just a hook decoder + an `install-hooks` target โ€” then add a row to [`site/src/sources.json`](site/src/sources.json) (its `supported` set 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:


built-in themes side by side

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](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](https://ivanwng97.github.io/pixtuoid/config)**.

## How It Works

Agent CLIs emit events two ways โ€” a hook shim (a 200ms fire-and-forget Unix-socket write 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 โ†’](https://ivanwng97.github.io/pixtuoid/architecture)** ยท single source: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)

## Contributing

PRs welcome โ€” especially new themes and `Source` adapters for other agent CLIs (Copilot, Cursor, OpenCode). See **[CONTRIBUTING.md](docs/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`](CLAUDE.md).

## Acknowledgments

Inspired by [`pixel-agents`](https://github.com/pablodelucca/pixel-agents) (VS Code), [`clawd-on-desk`](https://github.com/rullerzhou-afk/clawd-on-desk) (desktop pet), and Claude Code's [Buddy](https://dev.to/picklepixel/how-i-reverse-engineered-claude-codes-hidden-pet-system-8l7).

## License

[MIT](LICENSE)

## Star History






star history chart for IvanWng97/pixtuoid



Enjoying the little office? โ˜• Buy me a coffee ยท โญ Star the repo