cc-haha/docs/desktop/pets.md
2026-07-23 20:46:33 +08:00

134 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 桌面宠物
桌面宠物是 Claude Code Haha Desktop 的透明悬浮窗口。它会用动作反映本机任务状态,并提供一个轻量的活跃任务入口。宠物不会替你审批权限,也不能在悬浮窗口里直接输入追问。
::: info 适用范围
宠物只在 Electron 桌面端运行,不会显示在 H5 页面中。它不会扩大当前会话、模型或工具的权限。
:::
## 开启宠物
1. 打开 Claude Code Haha Desktop点击左下角的设置按钮。
2. 在设置侧边栏选择「宠物」。
3. 从「内置宠物」中选择一个角色。
4. 打开「显示桌面宠物」。
5. 按需要调整宠物大小、动画和任务面板。
![桌面宠物设置页:显示开关、四个内置角色和外观选项](../images/desktop_ui/14_pet_settings_overview.png)
应用内置四个完整动画角色:
| 角色 | 特点 |
|------|------|
| 搭搭 Dada | 沉稳的协作机器人 |
| 弧弧 Huhu | 拿着铅笔和计划本的路线机器人 |
| 补补 Bubu | 举着修补扳手的修复机器人 |
| 回回 Huihui | 抱着构建齿轮的构建机器人 |
选择新角色后,已经打开的宠物窗口会同步更新。关闭「播放动画」只会停止动作,不会关闭宠物或任务入口。
## 和宠物互动
宠物窗口支持这些直接操作:
- **悬停**:宠物空闲时会跳跃,并跟随指针改变视线。
- **单击宠物**:唤起 Claude Code Haha 主窗口,同时播放挥手动作。
- **拖动宠物**:按住宠物本体移动到桌面的其他位置;重新打开应用后会尽量恢复上次位置。
- **右键宠物**:在系统菜单中选择「关闭宠物」。
- **重新打开**:回到「设置 → 宠物」,重新打开「显示桌面宠物」。
单击宠物只会唤起主窗口,不会自动进入某条会话。要返回具体任务,请使用宠物旁边的任务面板。
## 查看活跃任务
开启「显示进行中的任务区域」后,有活跃任务时,宠物旁边会出现任务面板。关闭这个选项时,活跃任务会收起为数字徽标;点击徽标即可展开。
面板会反映当前仍需要关注的本机会话,例如:
- **工作中**:会话、后台任务或 Agent 正在运行。
- **等待你处理**:会话正在等待权限审批或其他用户操作。
- **需要关注**:会话最近一次运行失败或出现错误。
点击任务行会唤起主窗口并返回对应会话。权限仍要在主窗口的会话界面中检查和批准,宠物本身不能批准或拒绝权限。
任务完成并回到空闲状态后,会从活跃任务面板中消失;这不代表会话或历史记录被删除。面板只显示最近的活跃会话,不是完整的会话列表。
## 添加自定义宠物
在「你的宠物」右侧点击「添加宠物」,可以选择两条本地导入路径。
![创建自定义宠物:单图轻动画、专业动画图集和暂不可用的 AI 生成](../images/desktop_ui/15_pet_create_methods.png)
无论选择哪种方式,都需要填写:
- **宠物 ID**:最多 73 个字符,只使用小写字母、数字和单个连字符,例如 `docs-bot`
- **显示名称**:在宠物列表中显示的名称。
- **宠物描述**:帮助你区分不同角色和用途。
创建成功后,新角色会出现在「你的宠物」中并被自动选中。
![成功导入并选中的自定义宠物](../images/desktop_ui/16_pet_custom_result.png)
### 用一张图片制作轻动画
这是普通用户最容易使用的方式。选择一张透明背景的静态 PNG 或 WebP应用会在本地添加呼吸、漂浮和任务状态等轻动画。
图片需要满足:
- 文件格式为静态 PNG 或 WebP不支持 APNG 或动态 WebP。
- 宽和高都在 `324096` 像素之间。
- 总像素数不超过 `16,777,216`
- 文件大小不超过 `8 MB`
单图轻动画不是 AI 生成的逐帧动画,也不会调用当前聊天模型。
### 导入 v2 动画图集
已经制作好完整动作帧时,可以导入 v2 动画图集。图片必须满足:
| 项目 | 规格 |
|------|------|
| 格式 | 静态、透明背景的 PNG 或 WebP |
| 总尺寸 | 精确为 `1536 × 2288` |
| 网格 | `8`× `11` 行,无单元格间距 |
| 单格尺寸 | `192 × 208` |
动作行的顺序依次是:待机、向右跑、向左跑、挥手、跳跃、失败、等待、工作、复核,以及最后两行的 16 个视线方向。
「复核」行属于图集格式的预留动作,不代表当前运行时会自动显示一个独立的复核状态。
尺寸、格式或图像内容不符合要求时,应用会拒绝创建并显示对应错误,不会把无效图片加入宠物列表。
### AI 生成为什么不可选
「AI 生成完整动画」目前只是预留入口,需要单独配置图片生成服务,当前版本还不能在这里直接使用。它不会自动调用当前会话选择的 Claude、ChatGPT、Grok 或其他聊天模型。
## 存储与删除
自定义宠物包默认保存在:
```text
${CLAUDE_CONFIG_DIR:-~/.claude}/cc-haha/pets
```
可以在宠物设置页底部点击「打开文件夹」查看实际目录。每只自定义宠物使用独立子目录,其中包含 `pet.json` 和对应图片。
当前设置页没有自定义宠物删除按钮。需要删除时:
1. 先在设置页选择一个内置宠物,避免继续使用准备删除的角色。
2. 点击「打开文件夹」。
3. 只删除目标宠物对应的子目录,不要删除整个 `~/.claude``cc-haha``pets` 目录。
4. 返回设置页点击「刷新」。
手工修改 `pet.json`、替换图片或加入符号链接可能使宠物包校验失败。无效包会被跳过,并在设置页显示提示。
## 使用边界
- 宠物读取的是当前桌面服务中的任务状态,不是云端常驻监控。
- 退出 Claude Code Haha 或本机休眠后,宠物不能继续运行任务。
- 宠物只提供状态提示和会话跳转,不能审批权限、发送追问或替代完整活动面板。
- 自定义图片导入在本机完成,但之后由你主动运行的会话、模型和集成仍遵循各自的数据与权限边界。
- H5 可以继续访问对话主流程,但不会显示或远程控制桌面宠物。
如果宠物没有出现,先确认「显示桌面宠物」已经开启,再完全退出并重新打开应用。导入失败时,优先核对图片格式、尺寸、文件大小和宠物 ID。