A modern desktop pet application featuring cute Live2D cats to accompany your coding journey
Interactive animations with motions and expressions
The cat responds to your keyboard input with adorable animations!
Advanced Live2D model with rich animations
- ๐ฑ Desktop Pet Display - Adorable Live2D cat models
- โจ๏ธ Keyboard Response - Real-time keyboard input detection with corresponding animations
- ๐ฑ๏ธ Mouse Interaction - Click animations and mouse tracking
- ๐ญ Motion System - Interactive motion selector with various animations
- ๐ Expression System - Dynamic facial expressions control
- ๐จ Live2D Models - Support for custom Live2D model files
- ๐ผ๏ธ Transparent Window - Seamless desktop integration with full transparency
- ๐๏ธ Opacity Control - Adjust cat transparency (0-100%)
- ๐ Mirror Mode - Horizontal flip for different usage preferences
- ๐ Always on Top - Stay above all other windows
- ๐ป Click Through - Optional mouse click penetration
- ๐๏ธ Model Switching - Switch between multiple Live2D models
- ๐ฎ Selector Visibility - Toggle motion and expression selectors
- ๐ช System Tray - Convenient tray menu for quick access
- ๐ง Global Hotkeys - System-wide keyboard shortcuts
- ๐ฑ Multi-window - Independent main and settings windows
- ๐ Cross-platform - Windows, macOS, and Linux support
- ๐ Internationalization - Multi-language support (English/Chinese) with automatic language detection
- Next.js 15 - Modern React framework with Static Site Generation (SSG) support
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Ant Design - Enterprise UI components
- Zustand - Lightweight state management
- PIXI.js v6 - High-performance 2D rendering
- pixi-live2d-display - Live2D model rendering
- react-i18next - Internationalization framework
- Tauri 2 - Lightweight cross-platform desktop framework
- Rust - Systems programming language
- rdev - Cross-platform device event listening
- tauri-plugin-* - Rich Tauri plugin ecosystem
Download from Releases page:
- Windows:
.msi
installer - macOS:
.dmg
disk image (Intel & Apple Silicon) - Linux:
.deb
/.rpm
/.AppImage
- Node.js 18.0.0 or higher
- Rust 1.70.0 or higher
- pnpm 8.0.0 or higher
# Clone the repository
git clone https://github.com/liwenka1/bongo-cat-next.git
cd bongo-cat-next
# Install dependencies
pnpm install
# Start development server
pnpm dev
# In another terminal, start Tauri dev mode
pnpm tauri dev
# Build frontend static files
pnpm build
# Build Tauri application
pnpm tauri build
bongo-cat-next/
โโโ ๐ src/ # Next.js frontend source
โ โโโ ๐ app/ # App Router pages
โ โ โโโ ๐ page.tsx # Main window page
โ โ โโโ ๐ layout.tsx # Root layout
โ โโโ ๐ components/ # React components
โ โ โโโ ๐ cat-viewer.tsx # Cat rendering component
โ โ โโโ ๐ motion-selector.tsx # Motion selection UI
โ โ โโโ ๐ expression-selector.tsx # Expression selection UI
โ โ โโโ ๐ keyboard-visualization.tsx
โ โโโ ๐ hooks/ # Custom hooks
โ โ โโโ ๐ live2d/ # Live2D system hooks
โ โ โ โโโ ๐ _useCore.ts # Core Live2D management
โ โ โ โโโ ๐ _useModelLoader.ts # Model loading
โ โ โ โโโ ๐ _useMotionPlayer.ts # Motion & expression control
โ โ โ โโโ ๐ _useMouseEvents.ts # Mouse interaction
โ โ โโโ ๐ use-live2d-system.ts # Main Live2D system
โ โ โโโ ๐ use-keyboard.ts # Keyboard events
โ โ โโโ ๐ use-tray.ts # System tray
โ โ โโโ ๐ use-shared-menu.ts # Context menu
โ โโโ ๐ i18n/ # Internationalization
โ โ โโโ ๐ index.ts # i18n configuration
โ โโโ ๐ locales/ # Language resources
โ โ โโโ ๐ en-US/ # English translations
โ โ โโโ ๐ zh-CN/ # Chinese translations
โ โโโ ๐ stores/ # Zustand state management
โ โ โโโ ๐ cat-store.ts # Cat state & settings
โ โ โโโ ๐ model-store.ts # Model management
โ โโโ ๐ types/ # TypeScript definitions
โ โ โโโ ๐ live2d.ts # Live2D types
โ โ โโโ ๐ device.ts # Device event types
โ โโโ ๐ utils/ # Utility functions
โ โโโ ๐ live2d.ts # Live2D implementation
โโโ ๐ src-tauri/ # Tauri Rust backend
โ โโโ ๐ src/
โ โ โโโ ๐ main.rs # Main entry
โ โ โโโ ๐ lib.rs # Library entry
โ โ โโโ ๐ core/ # Core functionality
โ โ โโโ ๐ device.rs # Device monitoring
โ โโโ ๐ assets/ # Static assets
โ โ โโโ ๐ models/ # Live2D model files
โ โ โ โโโ ๐ standard/ # Standard cat model
โ โ โ โโโ ๐ keyboard/ # Keyboard responsive model
โ โ โ โโโ ๐ naximofu_2/ # Advanced cat girl model
โ โ โโโ ๐ tray.png # Tray icon
โ โโโ ๐ tauri.conf.json # Tauri configuration
โโโ ๐ public/ # Static files
โ โโโ ๐ img/ # Demo GIFs
โโโ ๐ package.json # Node.js configuration
- Lightweight - Based on Tauri 2, installer size < 20MB
- Low Resource Usage - Memory usage < 50MB, CPU usage < 1%
- Native Performance - Rust backend provides native-level performance
- Fast Startup - Application startup time < 2 seconds
- Responsive - Keyboard and mouse event response latency < 10ms
- Launch - Double-click to run, cat appears on desktop
- Drag - Left-click and drag to move the cat anywhere
- Right-click Menu - Right-click on cat for feature menu
- System Tray - Click tray icon for quick access
- Motion Control - Use the motion selector to play animations
- Expression Control - Use the expression selector to change facial expressions
Ctrl + Alt + H
- Show/Hide catCtrl + Alt + S
- Open settingsCtrl + Alt + Q
- Quit application
Settings are saved in:
- Windows:
%APPDATA%/BongoCat Next/
- macOS:
~/Library/Application Support/BongoCat Next/
- Linux:
~/.config/BongoCat Next/
We welcome all forms of contributions!
- Fork this repository
- Create feature branch:
git checkout -b feature/AmazingFeature
- Commit changes:
git commit -m 'Add some AmazingFeature'
- Push to branch:
git push origin feature/AmazingFeature
- Create Pull Request
Follow Conventional Commits:
feat:
New featuresfix:
Bug fixesdocs:
Documentation updatesstyle:
Code formattingrefactor:
Code refactoringtest:
Testing relatedchore:
Build process or auxiliary tools
This project is licensed under MIT License.
- Thanks to BongoCat project inspiration
- Thanks to Tauri team for the excellent framework
- Thanks to Live2D Inc. for technical support
- Thanks to Live2d-model for providing the Live2D models
- Thanks to all developers contributing to the open source community
- GitHub Issues: Submit Issues
- Discussions: Join Discussions
If this project helps you, please give it a โญ Star!