🌏 English · 中文
跨平台支持: macOS 和 Windows 11 已测试。
Agent Critter 是一个 Claude Code 桌宠插件 —— 一只实时展示你的 AI 编程助手工作状态的小精灵。支持 Petdex 社区 2700+ 精灵,一键切换。透明窗口、可拖拽、可缩放。
| 待机 | 工作中 | 放大 |
|---|---|---|
![]() |
![]() |
![]() |
- Claude Code CLI(插件模式)
- 或:macOS / Windows 系统(独立运行模式)
# 添加 marketplace
/plugin marketplace add github.com/Jedeiah/agent-critter
# 安装插件
/plugin install agent-critter@agent-critter
# 重载插件
/reload-plugins或通过交互菜单安装:
- 在 Claude Code 中输入
/plugin - 选择 Marketplaces → Add Marketplace
- 输入
Jedeiah/agent-critter - 回到 Plugins,找到
agent-critter,选择 Install - 输入
/reload-plugins
安装后桌宠自动启动。
从 Releases 下载对应平台的插件包,解压后运行:
# macOS
./bin/agent-critter --daemon
# Windows
bin\agent-critter.exe --daemoncargo build --release
# 打包插件(可选)
bash scripts/build-plugin.sh # macOS / Linux
# 或
.\scripts\build-plugin.bat # Windows桌宠启动后会以透明窗口形式悬浮在屏幕最上层,实时反映 Claude Code 的工作状态。
| 操作 | 效果 |
|---|---|
| 单击宠物 | 随机互动文案 + 动作(挥手 / 跳跃 / 等待 / 审查) |
| 双击宠物 | 显示当前会话数和状态气泡 |
| 拖拽 | 移动桌宠位置(拖拽背景区域) |
| 右键 | 打开功能菜单 |
| 切换宠物 / 市场 / 安装 | 大小 / GitHub / 退出 |
|---|---|
![]() |
![]() |
右键桌宠弹出全屏菜单(分上下两部分):
🐾 切换宠物
├─ Boba / Dwight / ... ← 已安装的宠物,点击切换
├──────────────────────
🔍 大小 x1.0 [−] [+] ← 缩放 0.5x ~ 1.5x
├──────────────────────
🌐 浏览市场找名字 ← 打开 Petdex 合集页面
📥 [输入框] 装 ← 输入名字安装新宠物
🎲 随机 ← 随机安装一个宠物
├──────────────────────
⭐ Star on GitHub ← 打开项目主页
× 退出 ← 关闭桌宠
内置宠物市场,无需 Node.js:
# 右键菜单中直接输入名字安装,或点"随机"
# 也可用命令行(需 Node.js):
npx -y petdex install <宠物名字>支持 Petdex 社区 2700+ 精灵,浏览合集:https://petdex.dev/collections
Claude Code 的状态变化会自动切换桌宠动画:
| AI 状态 | 宠物动画 | 说明 |
|---|---|---|
| 空闲 | 😴 呼吸待机 | 无活动时,30s 后概率触发闲时互动,2h 后自动休眠 |
| 工作中 | 🏃 左右奔跑 | 处理用户请求、执行工具调用时 |
| 等待确认 | ⏳ 等待 | 权限请求、弹窗确认时 |
| 工具异常 | 🔍 审查中 | 工具调用失败、限流时 |
| 严重错误 | 💥 崩溃 | 认证失败、账单错误、模型不存在时 |
Claude Code 通过以下 hook 事件驱动桌宠状态:
| Hook 事件 | 映射状态 | 触发时机 |
|---|---|---|
SessionStart |
session_start | 会话开始 / 压缩完成 |
PerCompact |
running | 压缩真正开始 |
UserPromptSubmit |
running | 用户提交 prompt |
PreToolUse |
running | 工具调用前 |
PostToolUse |
running | 工具调用后 |
PermissionRequest |
need_confirm | 权限请求 |
Notification |
idle / need_confirm | 通知消息 |
Stop |
idle | 停止 |
StopFailure |
tool_error / error_final | 停止失败 |
PostToolUseFailure |
tool_error / stop | 工具调用失败 |
SessionEnd |
session_end | 会话结束 |
所有 hook 配置见 hooks/hooks.json。
Claude Code Hooks ──TCP(7890)──▶ StateMachine ──evaluate_script()──▶ WebView
(JSON) (多会话) (瞬时推JS) (CSS动画)
| 层 | 技术 |
|---|---|
| 窗口 | wry + tao(macOS WKWebView / Windows WebView2) |
| 渲染 | CSS background-image + JS setTimeout 逐帧 |
| 状态机 | Rust StateMachine(多会话优先级合并) |
| Hook | TCP JSON(Claude Code plugin hooks) |
| 精灵 | Petdex 8×9 spritesheet(webp) |
多个 Claude Code 会话同时运行时,桌宠取最高优先级状态:
ErrorFinal > ToolError > NeedConfirm > Running > Idle
所有配置持久化在 ~/.agent-critter/data/:
| 文件 | 内容 | 说明 |
|---|---|---|
position |
x\ny |
窗口位置(像素坐标) |
pet-slug |
boba |
当前选中的宠物 slug |
pet-scale |
1.0 |
缩放比例(0.5 ~ 1.5) |
首次启动默认显示在屏幕右下角。
桌宠扫描以下目录加载已安装的宠物精灵:
| 目录 | 说明 |
|---|---|
~/.codex/pets/<name>/ |
主目录(自动创建) |
~/.petdex/pets/<name>/ |
旧版 Petdex 兼容目录 |
每个宠物一个文件夹,内含 spritesheet.webp(或 .png)即可。
/plugin uninstall agent-critter如需完全清理数据:
rm -rf ~/.agent-critter| 问题 | 解决方法 |
|---|---|
| 桌宠不显示 | pkill agent-critter 后重启 Claude Code |
| 端口 7890 被占用 | pkill agent-critter 或更换端口 |
| 宠物图片不显示 | 检查 ~/.codex/pets/<name>/spritesheet.webp 是否存在 |
| Windows 白线/边框 | 自动处理,如仍有问题请提 Issue |
- Claude Code 实时状态同步
- 精灵市场内置(搜索安装 / 随机)
- 适配更多 Agent(Codex CLI / OpenCode / Gemini CLI)
- 更多 Hook 事件(Subagent、Compact 等)
- 宠物语音(状态切换音效 / TTS)
- 主题系统(自定义 UI 配色)




