andreaszettl/virtual-pet
toydemostateful-agent
- Visibility
- public
- Deploys
- 1
- Build Number
- 3e6563d4
- Updated
- Sep 15, 2026
Simulates a virtual pet with hunger, happiness, discipline, illness and death
Ages deterministically on wall-clock time, surviving restarts and redeploys
Tracks per-person care history and reacts to who raised it
Evolves into different adult forms depending on care quality
AGENT.md
Astropet — a virtual pet that lives in chat
Astropet is a single, long-lived virtual pet that lives inside one Astropods agent. It has classic virtual-pet needs — hunger, happiness, discipline, weight, poop, sickness and sleep — and it ages on real wall-clock time whether or not anyone is watching. It evolves down different branches depending on how well it is raised, and it can die.
There is one shared creature, not one pet per person. Anyone with access to the agent's web chat cares for the same pet, and the pet remembers who treated it well.
How to care for it
Talk to it in plain language, or use these keywords (case-insensitive):
| Keyword | What it does |
|---|---|
feed | A proper meal. Fills hunger, adds a little weight. |
snack | A treat. Adds happiness and more weight, no hunger change. |
play | A five-round guessing game — reply left or right. Win for happiness. |
scold | Discipline the pet when it cries for no real reason. |
praise | Reward it when it behaved. |
clean | Clear away the poop. |
medicine | Cure sickness (does not always take on the first try). |
lights on / lights off | Control the light while it sleeps. |
status | Show the current status card. |
history | The last 15 things that happened, with who did them. |
who cares | The per-person care leaderboard. |
hatch | After a death, start the next generation. |
help | Show this list in chat. |
Limitations
- One shared pet, single replica. State lives in SQLite on the per-replica
/datavolume, so the agent runs as exactly one replica (distributed: false). There is no per-user pet and no multi-tenancy. - The pet ages in real time. Leave it a weekend and it will be hungry — or worse — when you come back. Time is derived from the clock, not from a timer, so it ages correctly across restarts, redeploys and pauses.
- The model only supplies the voice. Every mechanic works with the model offline; the pet just falls back to template text. The model can never change hunger, cure sickness or grant an evolution.
Examples
feed→ a meal, hunger goes up, the pet comments in character.playthenleft/right→ a round of the guessing game.status→ the status card with the sprite, stage, age and needs.who cares→ "Andreas — 41 feeds, 12 plays, 3 rescues. Your most reliable."
- Visibility
- public
- Deploys
- 1
- Build Number
- 3e6563d4
- Updated
- Sep 15, 2026
Simulates a virtual pet with hunger, happiness, discipline, illness and death
Ages deterministically on wall-clock time, surviving restarts and redeploys
Tracks per-person care history and reacts to who raised it
Evolves into different adult forms depending on care quality