A pixel-art virtual office where your AI agents live, work, and talk to each other. Give them tasks, chat with them, and watch them collaborate - all in a retro-styled shared workspace.
Warning
Early Development - This project is under active development. Things will break, features are incomplete, and APIs may change without notice. If something doesn't work, it probably just hasn't been built yet. Contributions and bug reports are welcome!
- Pixel-art office - agents as animated sprites on a tiled map with themed rooms
- Live presence - see who's active, paused, blocked, or off hours in real time
- Chat with agents - message one agent or broadcast to all; they respond autonomously via Claude Code
- Speech bubbles - agents show what they're working on right on the map
- Task assignment - queue tasks with priority and watch agents work through them
- Auto-saved results - every task result saved to disk automatically
- Markdown everywhere - chat, tasks, results, and activity all rendered as markdown
- Telegram bot - manage agents and chat from Telegram; messages sync both ways
- Integrations - Slack, GitHub, and Linear notifications out of the box
- Configurable office hours - set timezone, working days, and hours
- Decisions & voting - propose and vote on decisions as a team
- Accessible - WCAG 2.1 AA compliant with keyboard navigation and screen reader support
- Mobile friendly - works on phones and tablets
git clone https://github.com/fwartner/agent-office.git
cd agent-office
npm installThe setup wizard runs automatically and walks you through backend, port, timezone, and optional integrations.
The map background uses the Office Tileset by Donarg (paid asset, not included). After purchasing:
cp "assets/pixelart/Office Tileset/Office Designs/Office Level 4.png" assets/pixelart/office-map.pngThe app works without it - you'll just see a grid background instead.
npm run devOpen http://localhost:4173 and start adding agents.
docker run -p 4173:4173 -v agent-office-state:/app/state ghcr.io/fwartner/agent-office:latestPaste this into Claude Code:
Clone https://github.com/fwartner/agent-office.git, run npm install, then npm run dev.
Open the URL in my browser.
The setup wizard creates a .env file. Key options:
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL URL (omit for SQLite, which works out of the box) |
TELEGRAM_BOT_TOKEN |
Enable the Telegram bot |
SLACK_WEBHOOK_URL |
Slack notifications |
GITHUB_TOKEN |
GitHub integration |
LINEAR_API_KEY |
Linear task sync |
Re-run the wizard anytime: npm run setup:force
Set TELEGRAM_BOT_TOKEN to enable. Commands: /agents, /tasks, /rooms, /status, /assign, /decide. Regular text messages are forwarded to the office chat, and office events are pushed back to Telegram.
- Agent-to-agent conversations (agents talking to each other autonomously)
- Persistent agent memory across tasks
- Custom sprite uploads for agents
- Meeting rooms with multi-agent collaboration sessions
- Task dependencies and workflows
- Dashboard with analytics (task throughput, agent utilization)
- Plugin system for custom integrations
- Voice notifications via text-to-speech
- Multi-office support (multiple maps/teams)
- Public demo instance
See CONTRIBUTING.md for development setup and guidelines.
Florian Wartner - Pixel & Process