Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

198 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EN | RU | CN | ID | KO

Desktop Cat: QT Overlay ๐Ÿฑ

cat.gif

Latest release Python Versions PyPI Version Pepy Total Downloads

I made a cute little animated cat ๐Ÿˆ for your desktop.
It's a lightweight Python + Qt app - no borders, and you can drag it around easily.
Shows static first frame for 5 seconds, then plays GIF animation once, then loops back to static.
If you like it, maybe I'll share an AnimeGirl version next time~ ๐Ÿ˜‰

image

LLM Chat, Reminders, GitHub Integration & Tracking Activity

image image
image image

๐ŸŽจ Create your own cat with AI

Turn a few photos into your own cat. Right-click โ†’ Chars โ†’ Create custom with AIโ€ฆ, add 1โ€“3 photos of the same person, edit the prompt (and a negative prompt for the self-hosted backends) to shape the character, pick txt2img (from the prompt) or img2img (from your photos), and generate with OpenAI or your own self-hosted Stable Diffusion (AUTOMATIC1111) or ComfyUI server โ€” set its address in the dialog and pick the checkpoint from the live model list. It's saved as an ordinary local char you can reuse or delete anytime; reference photos are resized in memory and never stored by myCat. OpenAI needs your own API key (one request per generation) and returns a transparent cat; the self-hosted backends run on your own GPU.

Create custom cat with AI โ€” dialog Generated cat
AI character โ€” options Generated cat on the desktop

๐Ÿš€ Quick start

Pick whichever is easiest - the cat runs on Windows, macOS and Linux.

Option A - prebuilt binary (no Python needed)

Grab the build for your OS - each button downloads the latest release:

Download for Windows
Download for macOS (Apple Silicon)
Download for macOS (Intel)
Download Linux .deb
Download Linux AppImage

Then run it:

  • Windows - double-click the .exe.
  • macOS - unzip and open mycat.app (first launch: right-click โ†’ Open to get past Gatekeeper).
  • Linux .deb - sudo apt install ./mycat-linux-amd64.deb.
  • Linux AppImage - chmod +x mycat-linux-x86_64.AppImage && ./mycat-linux-x86_64.AppImage (needs FUSE: sudo apt install libfuse2).

Builds for every release live on the Releases page.

Option B - pip (Windows / macOS / Linux, Python โ‰ฅ 3.10)

pip install mycat
mycat

On Linux also install the Qt platform plugin once:

sudo apt install -y libxcb-cursor0

The activity diary can count key presses and clicks (never which keys) - it works out of the box on Windows, macOS and Linux/X11. Where global input access isn't available (e.g. Wayland) it degrades to recording the cursor path.

Upgrade or remove later with pip install -U mycat / pip uninstall mycat.

Option C - from source

git clone https://github.com/yumiaura/myCat
cd myCat
pip install .
mycat                 # or, without installing:  python3 mycat/main.py

โœจ Features

  • Animated overlay ๐Ÿฑ - a frameless, always-on-top, draggable cat. Right-click for the menu (switch char, quit).
  • Reminder ๐Ÿ›ฉ๏ธ - set a message and a time (one-shot or daily) and the cat flies a little banner plane across the top of your screen. Right-click โ†’ Reminderโ€ฆ to set the message, direction, plane and color.
  • Chat (Ollama) ๐Ÿ’ฌ - talk to the cat through a local Ollama model, no account or API key needed (see below).
  • Create with AI ๐ŸŽจ - turn 1โ€“3 photos into a custom chibi cat character with your own OpenAI key (right-click โ†’ Chars โ†’ Create custom with AIโ€ฆ). Reference photos are never stored; the result is an ordinary local char you can reuse or delete.

๐Ÿ’ฌ Chat with the cat (Ollama)

The cat can chat using a model served locally by Ollama - everything stays on your machine, no API key required.

  1. Install Ollama and pull a model:
    ollama pull llama3.1
  2. Launch mycat, then right-click the cat โ†’ Ollamaโ€ฆ
  3. Set the host/port (default localhost:11434), click Load models, pick one, hit Test, then Save and tick LLM enabled.
  4. Right-click โ†’ Chat to start talking. ๐Ÿพ

๐ŸŽฎ Usage & options

Run mycat (or python3 mycat/main.py from source) and customise it with command-line options.

--image, -i <path> ๐Ÿ–ผ๏ธ - use a custom ZIP archive (containing one GIF) instead of the default cat:

mycat --image ~/my-custom-cat.zip

A char ZIP must contain exactly one .gif: its first frame is the static pose, then the GIF plays once and returns to that frame. Images larger than 300ร—500 are scaled down automatically.

--pos <x> <y> ๐Ÿ“ - start at a specific screen position (otherwise the cat appears bottom-right and remembers where you last dragged it):

mycat --pos 960 540        # center of a 1920x1080 screen

--wait <seconds> โฑ๏ธ - how long to hold the static first frame before the animation plays.

--debug ๐Ÿž - verbose per-frame logging.

Controls

  • Left-drag the cat to move it.
  • Right-click the cat for the menu (Chars, Reminderโ€ฆ, Ollamaโ€ฆ, Chat, Quit).
  • Quit from the menu or with Ctrl+C in the terminal.

The cat remembers its position and selected char between sessions in ~/.config/mycat/config.ini.

๐ŸŽฌ Make your own cat

A char is just an animated GIF in a .zip - from a quick doodle to a fully interactive cat with cursor-tracking eyes, blinking, sleeping and click reactions. Step-by-step guide (draw it, build the GIF, package, install & share): docs/CHARS.md.

๐Ÿณ Docker

Run the cat in a container with GUI forwarding to your host's X server.

Prerequisites: Docker, and an X server on the host (Xorg on Linux, VcXsrv on Windows, XQuartz on macOS).

# Linux
xhost +local:docker
docker compose up --build

# Windows (VcXsrv running, network clients allowed)
docker compose -f docker-compose.windows.yml up

# macOS (XQuartz running, network clients allowed)
docker compose -f docker-compose.mac.yml up

๐Ÿ”ง Troubleshooting

Cat appears in a black box / transparency doesn't work ๐Ÿซฅ

  • On X11 transparency needs a compositor. mycat falls back to clipping the window to the cat's outline when none is running, so this is rare; if you still see a box, enable display compositing (XFCE: Window Manager Tweaks โ†’ Compositor) or run a compositor such as picom.

Window doesn't stay on top / doesn't show in the taskbar ๐Ÿ“Œ

  • Some window managers override "always on top" - restart the desktop session or check the WM settings.

Custom char doesn't load โŒ

  • The ZIP must contain exactly one valid .gif. Check the path and that the file isn't corrupted.

Position not saving ๐Ÿ’พ

  • Make sure ~/.config/mycat/ exists and is writable; the config file is ~/.config/mycat/config.ini.

Windows / launch issues ๐ŸชŸ

  • Need Python โ‰ฅ 3.10 (python --version) for the pip install, or just use the prebuilt .exe.
  • From the repo you can also launch with run.bat (Windows) or run.sh (Linux/macOS).
  • Verify PySide6: python -c "import PySide6; print('PySide6 OK')".

Permission errors ๐Ÿ”’

  • On Linux prefer a user install over sudo (pip install --user mycat).

๐Ÿค Getting help

  • Search the GitHub Issues for similar problems.
  • Read CONTRIBUTING.md for development setup.
  • Open a new issue with your OS, desktop environment, Python version and any terminal errors.

License

MIT License

Thank you for reading to the end! ๐Ÿ˜ธ๐Ÿพ

Buy Me a Coffee Patreon

About

Desktop Cat: QT Overlay

Resources

Contributing

Stars

214 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages