Files
wehub-resource-sync 426e9eeabd
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Waiting to run
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Waiting to run
Build Agent Image / build-and-push (push) Waiting to run
Chat shell gestures / Chat shell gesture + parity e2e (push) Waiting to run
ci / test (push) Waiting to run
ci / lint-and-format (push) Waiting to run
ci / build (push) Waiting to run
ci / dev-startup (push) Waiting to run
Cloud Gateway Discord / Test (push) Waiting to run
Cloud Gateway Webhook / Test (push) Waiting to run
Cloud Tests / lint-and-types (push) Waiting to run
Cloud Tests / unit-tests (push) Waiting to run
Cloud Tests / integration-tests (push) Waiting to run
Cloud Tests / e2e-tests (push) Blocked by required conditions
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Apps Worker (Product 2) / Determine environment (push) Waiting to run
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Blocked by required conditions
Deploy Eliza Provisioning Worker / Determine environment (push) Waiting to run
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Blocked by required conditions
Dev Smoke / Classify changed paths (push) Waiting to run
Dev Smoke / bun run dev onboarding chat (push) Blocked by required conditions
Dev Smoke / Vite HMR dependency-level smoke (push) Blocked by required conditions
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Waiting to run
gitleaks / gitleaks (push) Waiting to run
Markdown Links / Relative Markdown Links (push) Waiting to run
Publish @elizaos/example-code / check_npm (push) Waiting to run
Publish @elizaos/example-code / publish_npm (push) Blocked by required conditions
Publish @elizaos/plugin-elizacloud / verify_version (push) Waiting to run
Publish @elizaos/plugin-elizacloud / publish_npm (push) Blocked by required conditions
Quality (Extended) / Homepage Build (PR smoke) (push) Waiting to run
Quality (Extended) / Comment-only diff guard (push) Waiting to run
Quality (Extended) / Format + Type Safety Ratchet (push) Waiting to run
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Waiting to run
Quality (Extended) / Develop Gate (lint) (push) Waiting to run
Sandbox Live Smoke / Sandbox live smoke (push) Waiting to run
Snap Build & Test / Build Snap (amd64) (push) Waiting to run
Snap Build & Test / Build Snap (arm64) (push) Waiting to run
supply-chain / sbom (push) Waiting to run
supply-chain / vulnerability-scan (push) Waiting to run
Build, Push & Deploy to Phala Cloud / build-and-push (push) Waiting to run
Test Packaging / Validate Packaging Configs (push) Waiting to run
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Waiting to run
Test Packaging / Pack & Test JS Tarballs (push) Waiting to run
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Waiting to run
UI Fixture E2E / ui-fixture-e2e (push) Waiting to run
UI Fixture E2E / fixture-e2e (push) Waiting to run
UI Story Gate / story-gate (push) Waiting to run
vault-ci / test (macos-latest) (push) Waiting to run
vault-ci / test (ubuntu-latest) (push) Waiting to run
vault-ci / test (windows-latest) (push) Waiting to run
vault-ci / app-core wiring tests (push) Waiting to run
verify-patches / verify patches/CHECKSUMS.sha256 (push) Waiting to run
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Waiting to run
Voice Benchmark Smoke / voice bench smoke summary (push) Blocked by required conditions
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Test Packaging / Build & Test PyPI Package (push) Waiting to run
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:43:05 +08:00
..

🥚 Elizagotchi - Virtual Pet Game

A Tamagotchi-style virtual pet game running on elizaOS with NO LLM required!

Elizagotchi

🎮 Features

  • Classic Tamagotchi Gameplay: Feed, play, clean, sleep, and care for your pet!
  • No LLM Required: Uses custom model handlers for game logic (like tic-tac-toe example)
  • Life Stages: Egg → Baby → Child → Teen → Adult → Elder
  • Personality System: Care quality affects your pet's personality
  • Cute SVG Art: Pixel-art style graphics with smooth animations
  • Responsive Design: Works on desktop and mobile

🚀 Quick Start

# From the monorepo root
cd packages/examples/elizagotchi

# Install dependencies
bun install

# Start the dev server
bun run dev

Open http://localhost:5174 in your browser!

🎯 How to Play

Action Description
🍔 Feed Keep your pet fed. Don't overfeed!
🎮 Play Make your pet happy (uses energy)
🧹 Clean Clean up messes and bathe your pet
😴 Sleep Rest when tired (turn off lights first)
💊 Medicine Cure sickness
💡 Light Toggle lights on/off for bedtime

Validation

bun run test
bun run typecheck
bun run build

The local smoke test checks the Vite mount point and verifies that feed/play/reset/export flows remain wired through the local elizagotchi agent command API. Browser gameplay still needs a manual smoke test for animations and interaction feel.

Tips for a Happy Pet

  1. Check regularly - Stats decay over time
  2. Keep it clean - Poop accumulates and can make your pet sick
  3. Balance rest - Don't let energy get too low
  4. Don't overfeed - Wait until hunger is low before feeding
  5. Light management - Turn off lights before putting to bed

🏗️ Architecture

This example demonstrates elizaOS's ability to run agents without an LLM:

┌─────────────────────────────────────────────────────────┐
│                    React UI                              │
│              (Elizagotchi App)                           │
├─────────────────────────────────────────────────────────┤
│  Game Engine                                             │
│  ├── State Management (PetState)                         │
│  ├── Stat Decay & Time-based Updates                     │
│  ├── Action Handling (feed, play, clean, etc.)           │
│  └── Evolution System                                    │
├─────────────────────────────────────────────────────────┤
│  elizagotchiPlugin (Custom Model Handlers)               │
│  ├── models[TEXT_LARGE] → game logic                     │
│  └── models[TEXT_SMALL] → game logic                     │
├─────────────────────────────────────────────────────────┤
│  AgentRuntime (elizaOS Core)                             │
│  └── useModel() → routed to game engine, NOT an LLM!    │
└─────────────────────────────────────────────────────────┘

📁 File Structure

elizagotchi/
├── src/
│   ├── App.tsx              # Main React component
│   ├── App.css              # Styling (kawaii aesthetic)
│   ├── main.tsx             # Entry point
│   ├── components/
│   │   ├── PetSprite.tsx    # SVG pet graphics for all stages
│   │   └── GameElements.tsx # Poop, hearts, icons, backgrounds
│   └── game/
│       ├── types.ts         # TypeScript types
│       ├── engine.ts        # Core game logic
│       └── plugin.ts        # elizaOS plugin with model handlers
├── index.html
├── package.json
├── vite.config.ts
└── README.md

🎨 Pet Life Stages

Stage Description Duration
🥚 Egg Your pet is incubating 1 minute
👶 Baby Newly hatched, needs lots of care 3 minutes
🧒 Child Growing up, developing personality 5 minutes
🧑 Teen Rebellious phase, needs discipline 10 minutes
👨 Adult Fully grown, stable personality 30 minutes
👴 Elder Wise and experienced Until natural end

😊 Mood System

Your pet's mood is determined by their stats:

  • Happy 😄 - All stats above 80%
  • Content 🙂 - All stats above 60%
  • Neutral 😐 - Normal state
  • Sad 😢 - Happiness below 35%
  • Hungry 🍽️ - Hunger below 40%
  • Dirty 🧹 - Cleanliness below 30%
  • Sick 🤒 - Health issues

⚙️ Technical Details

No LLM Pattern

Like the tic-tac-toe example, Elizagotchi uses custom model handlers:

const elizagotchiPlugin: Plugin = {
  name: "elizagotchi",
  priority: 100,
  models: {
    [ModelType.TEXT_LARGE]: elizagotchiModelHandler,
    [ModelType.TEXT_SMALL]: elizagotchiModelHandler,
  },
};

When runtime.useModel() is called, instead of hitting an LLM API, our game engine processes the command and returns game state updates.

Browser-Based Storage

Uses in-memory state for the browser demo. Can be extended to use PGlite for persistence.

🤝 Contributing

Contributions are welcome! Some ideas:

  • Add more pet evolution paths
  • Implement minigames for playing
  • Add sound effects
  • Create different pet species
  • Add achievements/milestones

📜 License

MIT License - Part of the elizaOS project.


Made with 💕 using elizaOS