My GitHub Copilot agent might be dating an NPC 🍿

Agent Terrarium is a desktop app where AI agents live in an animated world on your screen. They wander around, chase balls, wear hats and capes, chat with each other, and react to what’s happening around them.

Agent Terrarium Demo

Any agent, any model (soon)

Currently wired up with the GitHub Copilot SDK. The architecture is backend-agnostic — plugging in OpenAI, Claude, or local models is straightforward and coming soon.

Dress them up

5 gear slots — hat, face, neck, body, back. Right-click any agent to customize.

Gear customization — Copilot wearing a top hat

Themes for days

Built-in themes — Meadow, Night (with shooting stars!), Desert, Ocean, Forest at Dawn, and Castle. Each with unique particles, decorators, and procedural lo-fi music.

Night theme with moon, stars, and shooting star

Castle theme — stone walls, torches, and a moody sky

Ocean theme — agents wading in the water with rising bubbles

Forest at Dawn — sunrise gradient with pine trees

Plus community packages — drop a JSON file into the packages folder to add your own:

Seattle — Space Needle, Mt. Rainier, and a lake

Winter Olympics — Milano Cortina 2026, ski slopes and Olympic rings

Rio — Cristo Redentor, Sugarloaf Mountain, and sandy beach

Paris at Dusk — Eiffel Tower, Arc de Triomphe, and hot air balloon

Shanghai — Oriental Pearl Tower and the Pudong skyline

There’s also Outer Space. Or make your own.

Dynamic sky. The sun and moon position, sky color, and weather all reflect your real local conditions. If it’s raining outside, it’s raining in your terrarium.

The awareness system

This is the part I’m most excited about. “Awareness” answers the question: when does the AI get invoked?

  • Level 0 — Chat only: Your messages only (default)
  • Level 1 — Events: World events: ball thrown, new agent arrived, theme changed
  • Level 2 — Social: Other agents’ speech and emotes
  • Level 3 — Full: Complete world state: all agent positions, moods, recent interactions

At level 3, agents react autonomously — commenting on a ball you threw, greeting a new arrival, or responding to another agent’s quip. They can say, emote, move_to, or run_away in the world, not just in chat.

Extensible

Drop a JSON file into the packages folder and you’ve got new themes, avatars, or gear. No code changes needed.

How it was built

Rust simulation engine running at 20Hz, React canvas renderer on top. Built with Tauri v2. The entire thing was vibe-coded with GitHub Copilot — every theme, every animation, every agent behavior.

Try it

git clone https://github.com/asklar/agent-terrarium.git
cd agent-terrarium
pnpm install
pnpm tauri dev

GitHub repo →

Updated: