Open-source project
ayangweb/BongoCat avatar
ayangweb/BongoCat

BongoCat: a Live2D desktop cat for macOS and Windows, rebuilt as a Rust workspace with signed plugins

BongoCat, a cross-platform interactive desktop pet that adds fun to your desktop.

24,629 stars1,234 forksVueApache-2.0

At a glance

What is it?
BongoCat puts a Live2D cat on your screen that follows your mouse and reacts to every key, mouse button and gamepad button. Version 2.4.1 runs on macOS and Windows only, claims no data collection and offline operation, and now ships its plugins as a separate release line.
Who is it for?
BongoCat suits macOS and Windows users who want an on-screen cat that reacts to keyboard, mouse and gamepad input and who like swapping in their own Live2D models. Linux users have no supported build.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 18 days ago.
What is it written in?
Mainly Vue, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • ayangweb/BongoCat24,629 ★ · +1,146
Star history
Repository2026-09-212026-11-14
ayangweb/BongoCat23.5k24.6k

1,146 Stars in the last 54 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

A Live2D cat that mirrors your mouse, keys and gamepad

BongoCat is a desktop companion. A Live2D cat sits on your screen, its eyes and paws follow your mouse pointer, and it plays a matching motion for every key, mouse button and gamepad button you press. You can move its window anywhere, and it stays out of the way until you want it again.

The input side is broader than a keyboard visualizer. Gamepad buttons count as input alongside the keyboard and mouse, and the workspace includes a dedicated `bongocat-input` crate and an `input-source` plugin. The project credits Bongo-Cat-Mver by MMmmmoko as its inspiration.

The main way to get it is the GitHub Releases page, where the badges at the top of the README point. The most recent desktop release is BongoCat 2.4.1, published on October 28, 2026, two days after 2.4.0 on October 26. The repository is not archived, and its last push was on October 28, 2026. An English README sits alongside a Simplified Chinese one, and the changelog is kept in both languages too.

Your own Live2D models, and a catalog to find more

The cat is not fixed. BongoCat lets you bring your own Live2D models, and the project points to a companion repository, Awesome-BongoCat, as the place to browse and download more cat models or share ones you have made. That repository is also listed as the project's homepage.

The workspace shows how much of the code serves models. There are separate crates for `bongocat-model`, `bongocat-model-store`, `bongocat-live2d`, `bongocat-live2d-playback` and `bongocat-live2d-render`, so loading, storing, playing and drawing models are each their own component rather than one block of rendering code.

The consequence for users is that model quality and behavior are partly your responsibility. The motions the cat plays depend on the model you load, and a model shared through Awesome-BongoCat comes from whoever contributed it. If a downloaded model does not react the way the bundled cat does, the model is the first thing to check.

No Linux build: macOS and Windows only

BongoCat runs on macOS and Windows. Those are the two platforms named in its feature list, the two columns in its screenshot table, and the repository has a `macos/` directory at the top level. Linux is not among the supported platforms.

For a Linux desktop user, that is the end of the road as far as the project's own releases go. There is no Linux package on the list of supported platforms to download, and the build tooling is written with macOS and Windows in mind: the justfile carries a Windows-specific shell setting so that recipes work there.

The practical consequence is that anyone who moves between a Linux workstation and a Mac or Windows machine will only have the cat on the latter two. If Linux support matters to you, the issue tracker and the CHANGELOG are the places to watch, rather than assuming a port exists because the codebase is written in Rust.

Offline by design, with an updater in the workspace

Two of BongoCat's stated features are about privacy: it is fully open source with no collection of user data, and it works offline with no network access. For an app that sees every key you press, that is the right promise to make, and the Apache-2.0 license and public code mean the claim can be checked.

Working offline and never connecting are not the same statement, though. The Cargo workspace includes a `bongocat-update` crate, and its dependencies include `cargo-packager-updater` built with the `rustls-tls` feature, plus a `gpui-pre-reqwest-client`. Those are the pieces an app uses to fetch updates over the network.

The consequence is concrete for anyone running BongoCat on a machine where outbound traffic is restricted or audited. Do not read "works offline" as "never makes a request". Check the app's settings for update behavior, or watch its traffic with your firewall, before deploying it somewhere that policy requires no connections at all.

A Rust workspace of 25 crates behind a Vue label

GitHub lists the repository's primary language as Vue, but the root `Cargo.toml` describes a Rust workspace. It uses resolver 3, edition 2024 and a minimum `rust-version` of 1.97, sets the workspace version to 2.4.1 under the Apache-2.0 license, and marks every crate `publish = false`, so none of them is meant to be pulled from crates.io as a library.

The 25 crates under `crates/` split the app into narrow parts: `bongocat-app` as the entry point, `bongocat-runtime`, `bongocat-render`, `bongocat-overlay`, `bongocat-ui` and `bongocat-ui-protocol` for display, `bongocat-audio`, `bongocat-i18n`, `bongocat-config`, `bongocat-storage`, `bongocat-log`, `bongocat-platform`, `bongocat-packaging` and `bongocat-update`, plus five plugin crates: `bongocat-plugin-manager`, `bongocat-plugin-hud`, `bongocat-plugin-packaging`, `bongocat-plugin-sdk` and `bongocat-plugin-service`.

Workspace dependencies are pinned with exact `=` versions, such as `clap` at `=4.6.7`, `global-hotkey` at `=0.8.0` and `gpui-kit` at `=0.7.3`, so builds do not drift when upstream crates release.

Plugins ship on their own release line

BongoCat Plugins 1.0.0 was published as its own release, tagged `plugins-v1.0.0`, on October 27, 2026, between the 2.4.0 and 2.4.1 app releases. Three official plugins live in the workspace under `plugins/`: `input-source`, `key-sounds` and `pomodoro`.

The justfile shows the packaging pipeline. Every official plugin package for one target is built with:

bash
cargo run --locked -p bongocat-plugin-packaging -- build --root . --target {{target}} --output target/plugins/{{target}}

A separate recipe generates a local plugin signing keypair for release-pipeline testing:

bash
cargo run --locked -p bongocat-plugin-packaging -- keygen --private {{private}} --public {{public}}

The signing step, together with a `release-trust/` directory at the repository root, means plugin packages are built per target and tied to keys rather than loaded as loose files. The consequence for contributors is that a plugin is not just code: it has to go through `bongocat-plugin-packaging` for each target before it matches what the release line ships.

Building from source needs Rust 1.97, Python 3 and just

There is no single build command on the README; the tasks live in a justfile. Running `just` with no arguments lists them. The development build runs the app until you quit it:

bash
python3 tools/dev_plugins.py -- cargo run --locked -p bongocat-app --release -- --run-seconds 0

`tools/dev_plugins.py` first builds the in-repository official plugins for the host platform under `target/plugin-dev`, then starts the app with the generated development catalog. A `dev-smoke` recipe runs the same build for 4 seconds with `--settings-window-smoke` to exercise closing and reopening settings. Plugin tests that execute the real plugin binaries run with:

bash
python3 tools/dev_plugins.py -- cargo test --locked --workspace

So a source build needs a Rust toolchain at 1.97 or later, Python 3 and the `just` runner. On Windows, the justfile sets `windows-shell` to `cmd.exe /c`, because `just` defaults to `sh`, Windows has no POSIX shell, and Git for Windows only adds `cmd` to PATH. Before that setting, every recipe failed with "could not find the shell `sh`".

Editorial conclusion

BongoCat suits macOS and Windows users who want an on-screen cat that reacts to keyboard, mouse and gamepad input and who like swapping in their own Live2D models. Linux users have no supported build. If you install it on a machine where outbound traffic matters, confirm how the bundled updater behaves before trusting the offline claim, and if you plan to build from source, check that you have Rust 1.97, Python 3 and just.

Frequently asked questions

What is BongoCat?

BongoCat is an open source desktop companion for macOS and Windows. A Live2D cat on your screen follows your mouse and reacts to every key, mouse button and gamepad button you press, and you can load your own Live2D models.

Is BongoCat safe?

BongoCat is open source under Apache-2.0, and the project states that it collects no user data and works offline with no network access. The workspace does include an update component, so check its update behavior if outbound traffic matters to you.

How do I install BongoCat?

Download BongoCat from the project's GitHub Releases page at https://github.com/ayangweb/BongoCat/releases. Version 2.4.1 is the latest desktop release, and plugins have their own release line starting with BongoCat Plugins 1.0.0.

How do I use BongoCat on a Mac?

BongoCat runs on macOS: install it from the Releases page, and the cat follows your mouse and reacts to keyboard, mouse and gamepad buttons. You can move its window anywhere and load more models from Awesome-BongoCat.

Official sources

  1. ayangweb/BongoCat on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ayangweb-bongocat.svg)](https://hysenlabs.com/projects/ayangweb-bongocat)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/ayangweb-bongocat.svg)](https://hysenlabs.com/projects/ayangweb-bongocat)

Was this useful?