Skip to content

๐Ÿฑ A modern desktop pet app with cute Live2D cats | ็ŽฐไปฃๅŒ–ๆกŒ้ขๅฎ ็‰ฉๅบ”็”จ๏ผŒๅฏ็ˆฑLive2D็Œซๅ’ช้™ชไผด็ผ–็จ‹

License

Notifications You must be signed in to change notification settings

liwenka1/bongo-cat-next

Repository files navigation

BongoCat Next

English | ็ฎ€ไฝ“ไธญๆ–‡

BongoCat Next Logo

A modern desktop pet application featuring cute Live2D cats to accompany your coding journey

License Version Tauri Next.js

๐Ÿ“ธ Preview

Standard Mode (Mouse Interaction)

Standard Mode

Interactive animations with motions and expressions

Standard Mode with Motions

Keyboard Mode

Keyboard Mode

The cat responds to your keyboard input with adorable animations!

Keyboard Mode with Motions

Cat Girl Mode (Naximofu)

Cat Girl Mode

Advanced Live2D model with rich animations

Cat Girl Mode with Motions

โœจ Features

๐ŸŽฏ Core Features

  • ๐Ÿฑ 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

โš™๏ธ Customization

  • ๐ŸŽ›๏ธ 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 Integration

  • ๐ŸŽช 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

๐Ÿ› ๏ธ Tech Stack

Frontend

Backend

  • Tauri 2 - Lightweight cross-platform desktop framework
  • Rust - Systems programming language
  • rdev - Cross-platform device event listening
  • tauri-plugin-* - Rich Tauri plugin ecosystem

๐Ÿ“ฆ Installation

Pre-built Releases

Download from Releases page:

  • Windows: .msi installer
  • macOS: .dmg disk image (Intel & Apple Silicon)
  • Linux: .deb / .rpm / .AppImage

Development Setup

Requirements

  • Node.js 18.0.0 or higher
  • Rust 1.70.0 or higher
  • pnpm 8.0.0 or higher

Quick Start

# 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

# Build frontend static files
pnpm build

# Build Tauri application
pnpm tauri build

๐Ÿ—๏ธ Project Structure

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

โšก Performance

  • 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

๐Ÿ“‹ Usage

Basic Operations

  1. Launch - Double-click to run, cat appears on desktop
  2. Drag - Left-click and drag to move the cat anywhere
  3. Right-click Menu - Right-click on cat for feature menu
  4. System Tray - Click tray icon for quick access
  5. Motion Control - Use the motion selector to play animations
  6. Expression Control - Use the expression selector to change facial expressions

Keyboard Shortcuts

  • Ctrl + Alt + H - Show/Hide cat
  • Ctrl + Alt + S - Open settings
  • Ctrl + Alt + Q - Quit application

Configuration

Settings are saved in:

  • Windows: %APPDATA%/BongoCat Next/
  • macOS: ~/Library/Application Support/BongoCat Next/
  • Linux: ~/.config/BongoCat Next/

๐Ÿค Contributing

We welcome all forms of contributions!

Development

  1. Fork this repository
  2. Create feature branch: git checkout -b feature/AmazingFeature
  3. Commit changes: git commit -m 'Add some AmazingFeature'
  4. Push to branch: git push origin feature/AmazingFeature
  5. Create Pull Request

Commit Convention

Follow Conventional Commits:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation updates
  • style: Code formatting
  • refactor: Code refactoring
  • test: Testing related
  • chore: Build process or auxiliary tools

๐Ÿ“„ License

This project is licensed under MIT License.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Contact


If this project helps you, please give it a โญ Star!

About

๐Ÿฑ A modern desktop pet app with cute Live2D cats | ็ŽฐไปฃๅŒ–ๆกŒ้ขๅฎ ็‰ฉๅบ”็”จ๏ผŒๅฏ็ˆฑLive2D็Œซๅ’ช้™ชไผด็ผ–็จ‹

Resources

License

Stars

Watchers

Forks

Packages

No packages published