前言¶
在 DeepSeek Harness(DSH)里跑智能体时,界面上的反馈往往集中在日志、工具调用列表和 todo 面板。长时间盯着这些文本,不容易一眼看出「当前是在干活、在等你确认,还是已经报错停住」。社区插件 claude-pet-dsh 把 Q 版 Claude 桌宠接到 DSH 的 Web / Desktop 客户端:在 shell.overlay 上占右下角一块区域,根据 session/event 与 agent/error 切换动作和气泡,并把 todo 的 completed/total 显示在气泡里。它和操作系统级透明悬浮窗不是一回事,而是应用内 overlay;也不读对话正文,只消费事件里的状态、工具名和 todo 标题。
这是什么¶
claude-pet-dsh 由维护者 Jimesarrice 发布,在 SkillHub 目录中归类为「趣味换装」。仓库说明其把 State Interface 项目整理出的 DSH 插件独立维护,角色图集与迷你 Clawd SVG 来自该项目,与 Anthropic 无官方关联。当前包版本为 0.3.1(见 package.json),许可证 MIT。
一句话定位:DSH 客户端插件,用可替换的 8×9 角色图集和迷你 Clawd,跟随 turn / tool / approval / todo 等会话事件播放动作,并支持拖动与位置持久化。
核心功能¶
下面介绍插件在 README 中写明的几项能力。
界面与交互¶
- 启动后在窗口右下角显示角色,默认距右下各 24 px。
- 按住角色可在窗口内拖动(横纵均可贴边),松开后位置写入浏览器 localStorage。
- 单击角色切换气泡;「收起」只隐藏气泡,「隐藏」把角色缩成右下角迷你 Clawd(
assets/svg/clawd-mini-*),再点一次展开回原角色,位置不变。
状态与动画¶
插件监听 DSH 的 session/event(turn / tool / approval / todo)和 agent/error。展开态使用 assets/spritesheet.webp:1536×1872,单元格 192×208,8 行 × 9 列(Petdex 兼容图集),按状态选行播放帧动画。
状态映射(展开态图集行号)如下:
turn/start→ 工作(第 7 行)tool/call→ 工作;工具名为ask_user_question→ 等待(第 6 行)approval/asked→ 等待tool/result→ 工作todo/write→ 更新气泡中的任务标题与completed/totalturn/end: completed→ 完成(第 4 行,约 8 秒后回到待机)turn/end: error/max-tokens/timeout→ 出错(第 5 行)turn/end: blocked→ 等待agent/error→ 出错
出错状态会一直保持,直到:该会话出现新一轮事件(例如 turn/start);宿主发出会话关闭/删除类生命周期事件(插件订阅了 session/close|delete|disposed|removed,宿主若无对应事件则无副作用);或在气泡中点击 「本次错误已处理」——归档后的对话可能不再有事件,该按钮是显式解除入口,点击后桌宠回到待机。
服务端路由¶
宿主侧提供:GET /claude-pet-dsh/state、POST /claude-pet-dsh/ack?session=<id>、静态资源 /claude-pet-dsh/spritesheet.webp、/claude-pet-dsh/assets/svg/<name>.svg,以及 /claude-pet-dsh/health。
安装与启用¶
官方 README 的安装流程是先取得本地目录,再在 DSH 终端用 file: 注册。下面命令来自仓库原文(<克隆目录> 需换成实际路径)。
先在本地取得插件目录(README 给出的方式):
git clone https://github.com/Jimesarrice/claude-pet-dsh.git
Web 环境注册:
dsh plugin --profile web add file:<克隆目录>
Desktop 环境注册:
dsh plugin --profile desktop add file:<克隆目录>
若桌面客户端对 desktop profile 有应用内专管限制,可在 DSH 桌面端的插件管理界面选择本地包,或按客户端提示安装。安装后需重启 DSH 或重开页面,插件层才会加载。
卸载(重启 DSH 后生效):
dsh plugin --profile web remove claude-pet-dsh
dsh plugin --profile desktop remove claude-pet-dsh
典型用法¶
经过上面的步骤加载插件后,正常使用 DSH 会话即可,无需额外配置项。桌宠会随上述事件自动切换动作;有 todo 写入时,气泡会显示当前任务与进度。
若要换皮,可按 README 替换资源:
展开态:替换 assets/spritesheet.webp;图集行序为 0 idle、1 running-right、2 running-left、3 waving、4 jumping、5 failed、6 waiting、7 running、8 review。状态到行/帧的映射在 client.js 的 ROWS 中。
最小化态:修改 assets/svg/ 下 45×45 viewBox 的迷你 SVG,或通过 client.js 里的 MINI 表映射状态到文件名,MINI_CROP / MINI_W 控制取景与显示尺寸。
适用场景与注意¶
适合希望在 DSH Web / Desktop 界面里用轻量视觉反馈跟踪智能体状态、又愿意自行维护本地插件包的开发者。目标 DSH 版本在 package.json 中标注与 0.2.1-rc.5 兼容;已在 web profile 验证加载,desktop profile 安装后需重启生效。插件依赖 Node >=22.12.0,以及 @deepseek-ai/cordis、react 等 peer 依赖,由 DSH 宿主环境提供。
使用时请注意:
- 插件在 当前 DSH 进程权限 下运行,安装前应阅读源码与 MIT 许可证,确认可接受其网络与 overlay 行为。
- 浏览器端挂载在 DSH 的
shell.overlayslot;若宿主升级改了 slot 名称,需在client.js的apply()中同步调整。 - SkillHub 目录(https://www.skillhub.cn/plugins/Jimesarrice/claude-pet-dsh)是社区索引,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文安装步骤以 GitHub README 为准。
结尾¶
claude-pet-dsh 把会话事件映射成桌宠动作与 todo 进度气泡,并支持图集与迷你 SVG 换装,适合在 DSH 里做状态可视化。更多信息见目录页 SkillHub 与源码仓库 GitHub。