A living desktop companion for every AI Agent CLI session.
Driven by Codex pet packages, CoPet reacts in real time to Claude Code, Codex, Antigravity, OpenCode, Cursor, Copilot CLI, Pi, and Gemini, turning prompts, tool use, waiting, and completions into lively desktop feedback.
Built with Tauri, Rust, and React. Lightweight, local-first, no cloud.
Azure Dragon Waddly Duck
Waddly Duck Cloud Goat
Cloud Goat Goku
Goku Chestnut Horse
Chestnut Horse
White Rabbit Pearl Rat
Pearl Rat Golden Rooster
Golden Rooster Jade Snake
Jade Snake Striped Tiger
Striped Tiger
- Real-time pet reactions to Agent prompts, tool use, waiting, completion, and errors.
- Integrations for Claude Code, Codex, Antigravity, OpenCode, Cursor, Copilot CLI, Pi, and Gemini.
- Built-in pets plus import support for Codex-compatible pet packages.
- Rich pet interactions: hover, click, double-click, rapid-click petting, long-press, drag reactions, and native context menu.
- Global and per-pet sound packs for interactions and Agent states.
- Settings and tray controls for pet size, pet launch animation on app startup, Agent message display mode, hooks, sounds, language, visibility, and window position.
- Agent messages can show only the latest update or keep multiple Agent updates visible at once.
- Local-first data model in
~/.copet, with safe hook backups, atomic writes, and no telemetry.
CoPet is not limited to built-in pets. The CoPet Skill series helps you turn a character idea, team mascot, or personal avatar into your own desktop companion:
copet-gengenerates and installs custom CoPet pet packages withpet.jsonandspritesheet.webp, so your own character can react to Agent activity.copet-soundcreates matching 11-clip MP3 sound packs for clicks, gestures, waiting, success, and error states.
Install CoPet Skills for Codex with either method.
From a terminal:
npx skills add ChanceYu/CoPet --skill '*' -a codex -g -yInside Codex:
$skill-installer install all CoPet skills from https://github.com/ChanceYu/CoPet/tree/main/skills
Restart Codex if the newly installed Skills do not appear.
| Agent | Integration | Default config path |
|---|---|---|
| Claude Code | JSON hooks | ~/.claude/settings.json |
| Codex | JSON hooks + trusted hook hashes | ~/.codex/hooks.json, ~/.codex/config.toml |
| Antigravity | JSON hooks | ~/.gemini/config/hooks.json |
| OpenCode | JS plugin + config entry | ~/.config/opencode/plugins/copet.js, ~/.config/opencode/opencode.json |
| Cursor | JSON hooks | ~/.cursor/hooks.json |
| Copilot CLI | JSON hook file | ~/.copilot/hooks/copet.json |
| Pi | TypeScript extension | ~/.pi/agent/extensions/copet/index.ts |
| Gemini | JSON hooks | ~/.gemini/settings.json |
| Platform | Download |
|---|---|
| macOS (Universal) | CoPet-macos-universal.dmg |
| Windows x64 | CoPet-windows-x64.exe |
Drag CoPet.app into /Applications. The build is not notarized, so run once to clear the quarantine flag:
sudo xattr -rd com.apple.quarantine /Applications/CoPet.app
Windows builds are not code-signed. SmartScreen may warn on first launch — click More info → Run anyway.
Prerequisites: Rust, Node.js with pnpm. Runs on macOS (primary), Windows, and Linux.
git clone https://github.com/ChanceYu/CoPet.git cd CoPet pnpm install pnpm tauri:dev # development pnpm tauri:build # production bundle
src-tauri/— Rust core, agent adapters, runtime server.src/— React frontend (pet window + settings center).src-tauri/assets/pets/— built-in pet packages bundled with the app.src-tauri/assets/sounds/— built-in global sound packs bundled with the app.skills/— optional CoPet Skill docs for generating pets and 11-clip sound packs.docs/architecture.md— technical architecture and design.AGENTS.md— contributor guide and testing instructions.
- Event server binds only to
127.0.0.1, requires a bearer token, rate-limits requests, and drops unknown payloads. - All hook config changes are backed up before write and use atomic file ops.
- Pet and sound packages are treated as untrusted data and validated before use.
assetProtocol.scopewhitelists exactly which pet, sound, preview, and bundled resource directories the webview can read.
Issues and PRs welcome. Start with AGENTS.md for setup and conventions, and docs/architecture.md for the system design.
MIT © ChanceYu