Skip to content

stdAri/claude-buddy

 
 

Repository files navigation

Claude Buddy Icon Claude Buddy

A floating desktop companion for Claude Code power users.
Real-time session monitoring • Pixel pet gacha • Dynamic Island mode

Release Platform Electron License

中文文档

Idle State    Running State


The Problem

Running multiple Claude Code sessions in parallel means constantly switching terminal tabs to check:

  • Is that session waiting for my permission?
  • Did that long task finish yet?
  • What is Claude doing right now?

Claude Buddy puts all of this into a single floating widget. One glance, full picture.


Features

Session Monitor

Real-time tracking via Claude Code hooks. Zero configuration needed.

Status Indicator Meaning
Running 🟢 Pulsing green Claude is working
Waiting 🟡 Solid yellow Needs your permission
Idle ⚪ Gray Done or paused
  • Auto-sort: waiting sessions float to the top so you never miss them
  • Quick jump: click a session card to focus its terminal tab
  • Context menu: right-click for Focus / Rename / Remove (names persisted per directory)

Dynamic Island

Dynamic Island

A compact pill-shaped floating bar for minimal screen distraction:

  • Color-coded dots per session (yellow = needs attention)
  • Pixel pet animates with session state changes
  • Draggable, always on top, theme-aware

Pixel Pet Gacha

Gacha Drop

Every time a Claude Code session ends, there's a chance to hatch a pet. The egg-crack animation plays right inside the Dynamic Island.

14 pets across 5 rarity tiers:

Rarity Pets Drop Rule
N Chick, Snail, Hamster, Turtle One-time (removed from pool once owned)
R Cat, Fox, Penguin, Bunny One-time
SR Capybara, Pikachu One-time
SSR Lei Yi, Dao Dun Repeatable
UR Dragon, Phoenix Repeatable
  • Base drop rate: 15%, +10% if session > 10 min, +10% if > 30 min
  • Collect 3 of the same SSR/UR pet to trigger Golden Evolution (special glow effect)

Pet Collection

Pet Collection

Browse all 14 pets. Click any unlocked pet to set it as your active companion. Golden-evolved pets display a star badge and golden border.

Themes

4 built-in themes with opacity slider:

Dark Light Glass Cyberpunk

Window Behavior

  • Always on top (screen-saver level)
  • Minimize to system tray
  • Frameless & draggable
  • Auto-launch when Claude Code starts a session

Quick Start

git clone https://github.com/handsome-rich/claude-buddy.git
cd claude-buddy
npm install
npm start

On first launch, Claude Buddy automatically configures hooks in ~/.claude/settings.json. Your starter pet (Chick) is unlocked immediately.

Build Portable EXE

npm run build
# Output: dist/ClaudeDashboard.exe

How It Works

Claude Code hooks ──curl──▶ Express (127.0.0.1:3120) ──ws──▶ Electron UI
                                    │
                              Gacha roll on Stop
                                    │
                              ~/.claude/dashboard/gacha.json
  1. Claude Code fires lifecycle hooks (SessionStart / PreToolUse / Stop)
  2. Hooks send HTTP POST to the local Express server inside Electron
  3. Express broadcasts state changes to the renderer via WebSocket
  4. On session stop, a gacha roll is triggered with rarity-weighted RNG

Project Structure

claude-buddy/
├── main.js              # Main process: Express + WebSocket + Gacha engine
├── preload.js           # Electron context bridge
├── focus-tab.ps1        # PowerShell script to focus Windows Terminal tabs
├── package.json
├── icon.ico
├── renderer/
│   ├── index.html       # UI shell
│   ├── style.css        # 4 themes + Dynamic Island + animations
│   ├── app.js           # WebSocket client, rendering, gacha notifications
│   └── pets.js          # 14 pixel pets (compressed pixel art) + unlock system
└── screenshots/

Requirements

  • OS: Windows 10 / 11 (Windows Terminal recommended)
  • Runtime: Node.js >= 18
  • CLI: Claude Code installed

License

MIT

About

A floating desktop widget for monitoring Claude Code sessions, with pixel pets, gacha system, and Dynamic Island mode.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 65.2%
  • CSS 24.5%
  • PowerShell 6.0%
  • HTML 4.3%