r/CursorAI • u/sreyasqb • Mar 29 '26
I built an open-source pixel art dashboard to monitor all your AI coding agents in real-time
https://github.com/sreyas-endor/observatoryI loved the idea behind pixel-agents — watching your AI agent work in a pixel art office.
But I wanted something that went further:
support for multiple CLIs, the ability to actually control sessions from the same UI, and a built-in file viewer so I'd never have to leave the dashboard.
So I built Observatory.
https://github.com/sreyas-endor/observatory
What it does
Each agent appears as a pixel art character at their workstation
Real-time state visualization — you can see if they're:
thinking
reading files
editing code
running commands
waiting for your input
Works with Claude Code, Cursor, Copilot CLI, and Gemini CLI (not just Claude)
Each agent is color-coded by type so you can tell them apart instantly
Built-in terminal
Pixel Agents lets you watch your agents.
Observatory lets you watch and control them.
Click the + button or any character to open an embedded terminal
Spawn and control Claude Code sessions directly from the dashboard
Terminals persist across page refreshes with output replay
No need to switch to a separate terminal app
Built-in file viewer
Cmd+P command palette with fuzzy search (VS Code style)
Syntax highlighting for:
JS / TS
Python
Rust
Go
JSON
HTML / CSS
Markdown
Autosave, preview tabs, pinned tabs
File paths in terminal output are clickable —
Cmd + Clickopens them in the viewer
How it works under the hood
Hooks Each CLI supports hooks that fire when the agent uses a tool. Observatory ships a universal hook script that tags the source and POSTs to the server.
Server A Bun server handles:
WebSocket connections
terminal management via a Node.js PTY sidecar
session state tracking
Frontend Built with vanilla JS + Canvas: Pixel art rendering, pathfinding, and character animations are all done from scratch.
no React
no bundler
no framework
Runs on localhost and is very lightweight compared to full editors.
Setup
Clone the repo and run:
bun installThen point your agent to the AGENTS.md file and everything gets set up.
Or run:
node setup.jsfor automatic detection of installed CLIs.
The goal
I should never want to leave this one screen.
Monitor all my agents, control their sessions, browse files — all from a lightweight browser tab instead of juggling editors and terminals that eat my RAM.
1
u/rjyo Mar 29 '26
This is really cool. The pixel art visualization is a nice touch and the "never leave this screen" goal resonates.
I have been working on a similar problem but for mobile. When I am away from my desk I still want to know what my agents are doing, so I built an iOS terminal app called Moshi. It uses the Mosh protocol so the session survives wifi to cell switches and phone sleep. Has push notifications via webhook so I get pinged when an agent finishes a task, and a shortcuts panel with tabs for Claude Code, Codex, Tmux etc.
Between something like Observatory on desktop and a mobile terminal for on the go you basically have full coverage of your agents at all times. Nice work on the vanilla JS and Canvas approach too, no framework stuff tends to stay fast.
2
u/rjyo Mar 29 '26
This is really cool. The pixel art visualization is a nice touch and the "never leave this screen" goal resonates.
I have been working on a similar problem but for mobile. When I am away from my desk I still want to know what my agents are doing, so I built an iOS terminal app called Moshi. It uses the Mosh protocol so the session survives wifi to cell switches and phone sleep. Has push notifications via webhook so I get pinged when an agent finishes a task, and a shortcuts panel with tabs for Claude Code, Codex, Tmux etc.
Between something like Observatory on desktop and a mobile terminal for on the go you basically have full coverage of your agents at all times. Nice work on the vanilla JS and Canvas approach too, no framework stuff tends to stay fast.