Forked from BitTherapy, this enhanced version adds AI-powered pet speech capabilities! Your desktop pets can now comment on what you're doing with personality-driven responses. ๐ค๐ฑ
- AI-Powered Speech: Pets can analyze your screen and make witty comments
- Multi-language Support: Toggle between English and Simplified Chinese (็ฎไฝไธญๆ)
- Personality System: Each pet has unique personality traits affecting their comments
- Customizable Intervals: Control how often pets comment (10-300 seconds)
- Privacy-Focused: All AI processing uses external APIs, no data stored
| OS | Store | Binaries | Build from Source |
|---|---|---|---|
| macOS | App Store | n/a | See instructions |
| Windows (Beta) | Some day! | Latest Beta | See instructions |
The Windows port of the app has been written with C#/WinForms from scratch and it's still missing quite a lot of features, but will get there eventually. It's currently in Beta and has only been tested on Windows 11 amd64.
It's just a cute little pet or animal that lives in your computer. With our AI enhancements, they can now intelligently comment on what you're working on!
The most popular one was probably the eSheep for Windows 95.
Hope you like them too!
Pets periodically take screenshots and use AI vision models to understand what's on your screen, then generate contextual comments based on their personality:
- Friendly pets offer encouragement and help
- Sarcastic pets make witty observations
- Lazy pets comment about taking breaks
- Energetic pets motivate you to stay active
In Settings, you can:
- Enable/disable AI speech
- Switch between English and Chinese
- Adjust screenshot interval (10-300 seconds)
- Screenshots are processed locally and sent to Qwen-VL API
- No data is permanently stored
- API keys are embedded (for demo purposes)
- Screen capture requires macOS permission
Starting from version 2.20 you can now create custom pets, please check the documentation.
You do not need any programming knowledge or dev tools to create your own pets, just design your characters and follow the instructions, good luck!
Contributors get a shout out in the app, just saying... ๐

If you wish to improve support for your language, join our Discord and let us know!
Since version 2.48 you can use DistributedNotificationCenter to send basic commands to your pets.
Here's the payload:
{
"subject": "sloth",
"action": "eat",
"x": 100,
"y": 100
}xandyare optionalsubjectis the id of a speciesactionthe id of an animation You can look up species and their animations here.
Sample Python script to send out notifications:
from Foundation import NSDistributedNotificationCenter, NSDictionary
def send_notification():
notification_name = "it.curzel.pets.Api"
message = {...}
user_info = NSDictionary.dictionaryWithDictionary_(message)
center = NSDistributedNotificationCenter.defaultCenter()
center.postNotificationName_object_userInfo_deliverImmediately_(
notification_name, None, user_info, True
)
if __name__ == "__main__":
send_notification()- Download and setup Xcode 15+
- Clone this repository:
git clone https://github.com/chengyixu/ai_mac_pet.git - Open
Sources/swift/Pets Therapy.xcodeproj - Build and run (โ+R)
- Grant screen recording permission when prompted for AI features
- Download and setup Visual Studio 2022
- Open the
Sources/windows/BitTherapy.sln - Run
The app works by creating a transparent full screen window, which displays a bunch of sprites.
The app relies on the fact that both macOS and Windows discards events (such as mouse clicks) that happen on a completely trasparent porting of the window. This way, the app is unable to track events and doens't get in the way of you using other apps.
- Can this work on Linux? Sure
- Have you tried Wine? Not yet (chances of success do seem quite low)
- Do I want to figure out how to make this work on X or Wayland? Nope....
Sorry!
I have a YouTube Channel which has been gathering lots of dust lately.

