Skip to main content

OpenCat — a cute floating desktop cat companion for OpenClaw AI

Project description

中文 | English

OpenCat — Desktop Client for OpenClaw

A cute desktop skin for OpenClaw — same commands, same AI, just cuter.
pip install, run opencat, done. Everything you do in OpenClaw works here.

Idle (random rotation) Thinking Done Sleeping

yarn ball

scratching

rolling

running

eating

pooping

sleeping

Why OpenCat?

If you're running OpenClaw as your AI gateway, you might find:

  • The official web panel is too cluttered — you just want a quick, clean chat window
  • Telegram / WhatsApp bots need a VPN if you're in mainland China
  • You want something that feels alive — not another chat tab buried in your browser

OpenCat puts a pixel-art cat on your desktop. Click it, and a warm-toned chat window pops up. That's it. No browser, no VPN, no noise.

Screenshots

Chat + Cat History Sidebar
Click the cat to open the chat window. Warm pastel UI with streaming AI replies. Conversation history with color-coded bookmarks. Switch or delete sessions anytime.

Toolbar: A-/A+ adjust font size  |  cube toggles 3D cat  |  + new chat  |  book icon opens history

Features

  • Floating cat widget — always on top, draggable, with animated states (idle, thinking, talking, sleeping...)
  • Warm pastel chat UI — clean, minimal, purpose-built for quick conversations
  • Streaming responses — see the AI reply in real-time, token by token
  • Conversation history — sessions are saved locally and browsable from the sidebar
  • Image attachments — paste or drag images into the chat (clipboard + file picker)
  • Cross-platform — Windows, macOS, Linux (native transparency on Windows, graceful fallback elsewhere)
  • Remote connection — connect to an OpenClaw gateway on another machine via Tailscale or any network
  • Lightweight — pure Python, ~100 KB installed, no web runtime

Chat Commands

OpenCat supports OpenClaw native commands — type them directly in the chat input:

Command Description
/status View current session status and token usage
/new Start a new conversation (resets server session)
/compact Compress context to save tokens
/think <level> Set thinking depth
/stop Abort the current response
/clear Clear local chat display (does not reset server session)
/help Show all available commands

Quick Start

Prerequisites

You need a running OpenClaw gateway. OpenCat connects to it via WebSocket.

Install

pip install opencat

Run

opencat

If opencat is not recognized, use:

python -m opencat

OpenCat reads your gateway config from ~/.openclaw/openclaw.json automatically.

CLI Options

opencat --host 100.64.0.3    # Connect to a remote OpenClaw (e.g. via Tailscale)
opencat --port 18789          # Override gateway port
opencat --token your-token    # Override gateway token
opencat --debug               # Enable debug logging

Development

git clone https://github.com/Jacobzwj/opencat.git
cd opencat
pip install -e .
opencat

How It Works

┌──────────┐   WebSocket    ┌──────────────┐
│  OpenCat  │ ◄───────────► │  OpenClaw    │ ───► LLM API
│ (desktop) │   streaming   │  (gateway)   │
└──────────┘                └──────────────┘

OpenCat is a pure client — it connects to your self-hosted OpenClaw gateway over WebSocket, sends messages, and streams back responses. All AI logic, model selection, and API keys stay on the gateway side.

Customizing the Cat

Cat animations live in opencat/ui/assets/ and are mapped via manifest.json. Replace them with your own pixel art:

State What happens Default GIF
Idle Connected, waiting for user. Randomly rotates through a pool. idle.gif, error.gif, connecting.gif, talking.gif
Thinking User sent a message, waiting for AI + streaming reply thinking.gif (eating)
Done Response complete, stays until next message done.gif (pooping)
Sleeping Not connected to OpenClaw sleeping.gif (sleeping in box)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opencat-0.1.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opencat-0.1.4-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file opencat-0.1.4.tar.gz.

File metadata

  • Download URL: opencat-0.1.4.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for opencat-0.1.4.tar.gz
Algorithm Hash digest
SHA256 cd78400cb962c24d95a839739759f2dfcc11503178b773f083d0b593d4657bf5
MD5 e3591a79b5a5e6c5af310f81c1e1b30d
BLAKE2b-256 1707dbf0ed8a30c5ffa40aed1df4eb29a63f6f36c26c497b038c910c4760257b

See more details on using hashes here.

File details

Details for the file opencat-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: opencat-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for opencat-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d76093d816d456e4a02e928e6fcbe20a7806f3beebc5902b085d87fbdcaabb97
MD5 d53aae734ca2f1f25130af2f092ecd7c
BLAKE2b-256 0fba79d2a2fafe5408adac186af0e78fc5f9eaf8301dfaaaa79cfab5e3a90faf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page