A coding step counter for the AI era
Monitor your AI coding tool activity, turn it into step counts, and drive a desktop pet to walk.
demo_en.mp4
AIbubu is a desktop pet app that monitors your usage of AI coding tools like Cursor, Claude Code, Codex, Trae, and quantifies your "coding activity" into steps — the more active you are, the faster your pet runs. ![]()
- Idle — you're slacking off
- Walk — you're coding at a gentle pace
- Run — you and AI are in great sync
- Sprint — you're on fire
| Idle | Walk | Run | Sprint |
|---|---|---|---|
AIbubu monitors your AI coding tools in real-time through a pluggable adapter system — no hooks to install, no config to change. It reads existing local data (databases, logs, process info) passively.
- Cursor — polls the local SQLite database (
state.vscdb), maps Composer statuses likegenerating/streamingto high activity - Claude Code — parses JSONL session logs under
~/.claude/projects/ - Codex CLI — parses
rollout-*.jsonlsession logs - Trae — monitors process CPU usage
- Process fallback — when the primary adapter finds nothing, each provider can fall back to process-level CPU detection automatically
- Multi-tool boost — using multiple AI tools simultaneously accelerates your pet's progression (2 tools ×1.8, 3+ tools ×2.5 speed multiplier)
- Extensible — add support for any tool by writing a TOML config file; 5 adapter types available (
sqlite/jsonl/process/file_mtime/vscode_ext)
Movement — your pet's speed reflects how long you've been actively coding:
| State | Condition | Score |
|---|---|---|
| Idle | No activity | 0 |
| Walk | Active < 60s | 25–49 |
| Run | Active 60s+ | 50–74 |
| Sprint | Active 180s+ | 75–100 |
A 45-second cooldown bridge keeps the pet moving during brief gaps between agent tool calls, so your coding flow feels continuous.
Mood — visual effects layer on top of movement:
| Mood | Trigger | Visual Effect |
|---|---|---|
| Sleepy 💤 | Idle for 10 minutes | Drifting "zzz" letters + breathing + dimming |
| Excited 🔥 | Sprint or activity score ≥ 90 | Speed smoke puffs + shake + glow |
| Normal | Default | No effects |
- Single click — pat reaction with floating ❤️ 💕 particles
- Double click — poke reaction with ❗ ❓ particles
- Hold & drag — grab the pet and drag it anywhere on screen (150ms hold threshold to distinguish from clicks)
- Right-click — open the social panel
- Hover tooltip — "Hold to drag" / "Click to interact · Right-click for menu"
- Daily steps — each monitor tick adds
⌊score / 10⌋steps based on your current activity score - 90-day history — stored locally, rolls over at local midnight
- Insights dashboard:
- 7-day and 30-day trend charts
- 24-hour activity heatmap
- AI tool usage breakdown (active minutes per provider)
- Consecutive active days streak
8 built-in skins with custom import support:
| Vita | Tard | Mort | Doux | Boy | Dinosaur | Glube | Line |
|---|---|---|---|---|---|---|---|
- Custom import — import from folder or ZIP archive
- Multiple formats — Sprite Sheet (PNG), Lottie, GIF, APNG
- 4 required animation states — idle / walk / run / sprint, each with configurable frame rate, frame count, and start frame
- Downloadable template — built-in example with creation guide
- Auto-discovery — UDP broadcast on port 23456, finds teammates on the same network automatically
- Leaderboard — ranked by daily step count
- 5-second heartbeat — syncs nickname, steps, activity score, movement state, and skin in real-time
- Pet escort — online teammates appear as miniature pets walking alongside yours
- Privacy-first — LAN-only, no server, no account required
- Transparent window — frameless, transparent background, always on top, hidden from taskbar
- macOS fullscreen overlay — optionally keep the pet visible over fullscreen apps (NSPanel)
- System tray — show/hide pet, leaderboard, quit; tray icon updates with live pet sprite frames
- Launch at login — auto-start on macOS / Windows / Linux
- Auto-update — checks GitHub Releases for new versions, download and install in-app
- Bilingual UI — Chinese / English, auto-detects system language
- Theme — Light / Dark / System
- Privacy — all data stored locally, nothing uploaded to any server
- Cross-platform — macOS 14+, Windows, Linux (AppImage / deb)
| Today | Leaderboard |
|---|---|
![]() |
![]() |
| Skins | Settings | About |
|---|---|---|
![]() |
![]() |
![]() |
Download the latest .dmg from Releases.
Requires macOS 14.0+
Download the latest .msi from Releases.
Download .AppImage or .deb from Releases.
- Node.js 22+
- pnpm 9+
- Rust (stable)
- Tauri 2 system dependencies: see Tauri docs
# Clone the repo
git clone https://github.com/funAgent/ai-bubu.git
cd ai-bubu
# Install dependencies
pnpm install
# Development mode
pnpm tauri dev
# Development mode (with mock peer data)
pnpm dev:mock
# Build for production
pnpm tauri buildpackages/
├── app/ # Tauri desktop application
│ ├── src/ # Vue 3 frontend
│ ├── src-tauri/ # Rust backend
│ ├── providers/ # AI tool monitor configs (TOML)
│ └── public/skins/ # Built-in skin assets
└── site/ # Astro marketing site
scripts/ # Utility scripts
AIbubu's monitoring is driven by TOML config files. Adding support for a new AI tool is as simple as writing a .toml file — no code changes needed. See the Provider Configuration Guide for templates and instructions.
| Layer | Technology |
|---|---|
| Desktop framework | Tauri 2, Rust |
| Frontend | Vue 3, Pinia, Vite |
| Website | Astro |
| Testing | Vitest |
| Tooling | pnpm workspace, ESLint, Prettier, Husky, commitlint |
Contributions are welcome! Please read CONTRIBUTING.md for details.
If AIbubu makes your coding sessions more fun, consider giving it a ⭐ — it helps others discover the project!
- Pixel dinosaur characters by arks (itch.io)




