explaingit

helpmeeadice/bandori-pet-rev

159PythonAudience · generalComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Open-source desktop pet for Windows, macOS, and partial Linux that puts an animated BanG Dream character on your screen with Live2D rendering, LLM chat, voice, and an affection memory system.

Mindmap

mindmap
  root((BandoriPet))
    Inputs
      Mouse and clicks
      User chat
      Webhook messages
    Outputs
      Live2D animation
      LLM replies
      TTS voice
      Mood updates
    Use Cases
      Animated desktop pet
      Character chat
      Companion app
      MCP computer use
    Tech Stack
      Python
      PySide6
      LuaJIT
      Live2D
      Qwen3TTS

Things people build with this

USE CASE 1

Run an animated Live2D BanG Dream character on top of your Windows or macOS screen with mouse tracking.

USE CASE 2

Chat with the character via a configured LLM provider, with personality, affection, and memory that persist across sessions.

USE CASE 3

Add a Qwen3TTS voice with lip-sync animation so the character speaks replies aloud.

USE CASE 4

Forward messages from QQ, WeChat, Telegram, or Discord bots into the pet via the built-in Webhook port.

Tech stack

PythonPySide6LuaJITLive2D

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires downloading a 900 MB or 4 GB model pack from Chinese or Google Drive mirrors before launch.

Source-available for learning and personal use only. Character models still belong to the original copyright holders.

In plain English

BandoriPet is an open source desktop pet for Windows, macOS, and partially Linux. It puts an animated character from the Japanese mobile game BanG Dream on top of your screen, where she follows your mouse, reacts to clicks, and can chat with you. The README says the project ships with more than 51 characters from the game and over 300 outfits. The license notice up front is firm: the project is for learning and personal use, and the character models still belong to the original copyright holders. The technology behind the pet has two parts. The visible character is a Live2D model rendered by an in-house engine the author wrote in LuaJIT. The README claims this engine is about six times faster than the older live2d-py library, taking the frame rate from around 30 frames per second to over 180. The window itself, the settings panel, and the menus are written in Python with PySide6 and the Fluent Widgets style library, so the look matches modern Windows applications. The window stays always-on-top and has no border, and a system tray icon lets you switch characters, open settings, or quit. The chat side is where the project goes beyond a simple pet. Each character has her own system prompt for a large language model, and the app supports many model providers behind a single interface. The README also mentions Bing and Google search as built-in retrieval helpers. A separate Qwen3TTS backend can be installed to give the character a real voice with lip-sync animation. Audio reference files for 47 characters ship with the repo so the voice clone matches whichever character is talking. There is also a Webhook port that can receive messages from QQ, WeChat, Telegram, or Discord bots and forward them into the chat. A memory and affection system tracks the relationship over time. The app records affection, trust, familiarity, and the character's current mood as numbers from zero to one hundred, and these values steer how the character replies. Special chat commands like @status, @remember, @forget, and @affection let you inspect or override these values. The character also pulls personal facts you mention in chat, such as your name or birthday, and stores them as memories you can review in the settings. There is also an experimental Model Context Protocol layer that gives the character tools. With MCP enabled and the right permissions, she can read and write files in a project, control the mouse and keyboard, and take screenshots, which the README calls Computer Use. Setup is fairly involved. You clone the repo, download a model pack of around 900 megabytes or 4 gigabytes from one of several Chinese or Google Drive mirrors, install Python requirements, and run main.py. The project can also be packaged into a standalone executable with cx_Freeze, with model files downloaded separately into the models folder.

Copy-paste prompts

Prompt 1
Install BandoriPet on Windows 11. Walk through cloning the repo, downloading the 4 GB model pack, installing Python requirements, and running main.py.
Prompt 2
Configure BandoriPet's chat backend to use a self-hosted OpenAI-compatible model and add Bing search as the retrieval helper.
Prompt 3
Set up Qwen3TTS for BandoriPet so the character speaks with lip-sync animation. Which audio reference file picks the voice?
Prompt 4
Use the @status, @remember, @forget, and @affection chat commands to inspect and override the character's memory and mood values.
Prompt 5
Enable the experimental MCP layer so the character can read project files and take screenshots. What permissions do I gate?
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.