dsh-pet
PC2005-cloud/dsh-petDSH Web UI 桌面宠物:25 个透明动画、屏幕漫游、点击反应与拖拽,附可复现的素材生成链。
DeepSeek Harness Web UI 的精致悬浮鲸鱼桌宠,拥有 95 个分类透明动画、状态感知事件回应、可自定义动作与触发规则,并支持点击互动、拖拽和屏幕漫游。
让鲸鱼娘住进 DeepSeek Harness:感知工作状态、回应互动,并在屏幕上自由漫游。
English · 预览 · 安装 · 使用 · 功能 · 动作 · 配置 · 问题反馈
dsh-whale-pet 是一个面向 DeepSeek Harness Web UI 的开源鲸鱼桌宠插件。它会根据 Agent 的思考、编码、工具调用、等待和错误等状态自动切换动作,也支持点击回应、拖拽、屏幕漫游、自定义动画和触发规则。
插件包含 95 个 640×360 透明 WebM 动画,提供中英文界面,设置修改后自动保存并热生效。
集中设置 动作分类、搜索与预览 自定义动作与触发规则
点击移动 右键快捷菜单 账户余额气泡 中英文界面
以下按运行时分类展示全部 16 个分类、95 个动作。预览为 240×135、5 FPS 的低帧率循环 GIF;将鼠标悬停在图片上可查看中文动作名。
项目 · 要求 DeepSeek Harness · ^0.1.0-rc.6 \ · \ · ^0.1.2-rc.1 \ · \ · ^0.2.0-rc.2(开发者预览版;Web profile) Node.js · ^22.19.0 \ · \ · >=24.0.0(跟随 DSH 官方要求,见 DSH package.json 的 engines.node) pnpm · 可在命令行中使用;dsh plugin 会把插件管理命令转发给 pnpm
插件 0.1.3 在保留 DSH 0.1.x 兼容的同时,新增对 DSH 0.2.0-rc.2 的支持:0.1.x 沿用 connection.api / connection.rpc,0.2.0-rc.2 的设置读写改走 typert Remote 子服务 remote.settings,会话活动改由 uiSession.sessionStatus 提供,模型流式输出经 assistant-stream 帧归一化,设置卡片同时适配官方插件页槽位 plugins.row.config。会话事件订阅、模型选择、审批与问答等待状态在两种宿主上行为一致;断线后重建状态时不会把历史消息当作新事件触发规则。余额仍仅查询服务商官方接口,未配置凭据时会显示查询失败。
dsh plugin --profile web add @luweiyabo/dsh-whale-pet安装完成后重启 Web profile:
dsh web宠物默认显示在页面右下角。
或者直接从 GitHub 安装:
```sh
dsh plugin --profile web add github:luweiyabo/dsh-whale-pet
`同一 Web profile 只能保留一种安装来源。切换 npm、GitHub 或本地源码版本前,请先卸载当前版本;否则多个包会同时声明 whale-pet loader entry,导致 DSH 启动失败。
在仓库根目录执行:
dsh plugin --profile web add .dsh plugin --profile web update @luweiyabo/dsh-whale-petdsh plugin --profile web remove @luweiyabo/dsh-whale-pet卸载后重新启动 dsh web。用户上传的动作保存在 $DSH_HOME/whale-pet/actions/,卸载插件不会自动删除这些文件。
客户端源码位于 src/client/:animations.js 管理动画目录,activity.js 管理事件、规则与仲裁,index.js 保留界面与播放器。修改源码后运行 npm run build,同时提交生成的 lib/client.js;npm run check 会校验产物与源码一致。React 仍由 DSH 宿主提供。
git clone https://github.com/luweiyabo/dsh-whale-pet.git
cd dsh-whale-pet
npm ci
npm run build
dsh plugin --profile web add .
dsh web运行测试与发布内容预检:
npm run check
npm run format:check
npm test
npm pack --dry-run项目采用 DSH 双半侧插件结构:
lib/index.js:宿主侧设置、静态动画、自定义动作和余额 APIlib/client.js:浏览器侧播放、交互、意图仲裁和设置界面cordis.patch.yml:DSH bundle 挂载声明assets/plugin-logo.png:插件 Logoassets/thumb/:内置透明动画docs/images/screenshots/:README 功能预览截图docs/images/actions/:95 个动作的低帧率循环 GIFmaterials/references/:角色首帧与视觉参考图materials/videos/:AI 生成的源 MP4(仅用于溯源和再处理,不参与运行时播放)materials/prompts/:动画生成提示词欢迎提交 Issue 或 Pull Request。提交前请确认测试通过,并避免把 API Key、私有配置或大体积源视频提交到仓库。
操作 · 效果 悬停 · 宠物朝向光标所在一侧,移开后恢复原朝向;拖拽或惯性滑行期间不生效 悬停(动效) · 光标靠近时宠物轻微倾向光标,可在设置中关闭 单击宠物 · 根据头部、身体或尾部区域播放不同回应,并切换选中状态;开启交互动效时会同时触发一次 Q 弹压缩回弹;选中后点击页面可让宠物前往目标位置 双击宠物 · 播放“蓝鲸现世”特殊动画并取消选中状态 拖拽与反弹 · 移动并放置宠物;拖动时按速度产生挤压拉伸形变,快速甩动后会从球形帧开始播放“变成球”动画并惯性滑行;人物边界触碰屏幕时反弹,开启交互动效时碰撞会产生 Q 弹挤压;系统启用“减少动态效果”时不滑行 完全拖出屏幕 · 宠物进入边缘隐藏状态;将指针移到对应屏幕边缘可露出召回区域 右键宠物 · 打开快捷菜单:回家、打开设置或隐藏
进入 设置 → 插件 → 鲸鱼桌宠,可以调整:
所有设置会自动保存并即时生效,无需重启。
宠物会读取 Harness 会话活动,并通过 9 类意图仲裁器选择合适动作(可配置):
Harness 状态 · 默认表现示例 Agent 编码或操作文件 · 坐在电脑前编码 思考与推理 · 深度思考 阅读与检索 · 记笔记 等待审批或用户回答 · 左右张望 用户发送消息 · 侧耳倾听 工具或 Agent 出错 · 惊吓回应 没有活动 · 待机、转向、随机动作或屏幕漫游
高频状态变化带有去抖和消退延迟,避免连续工具调用时频繁闪切。用户交互和错误等高优先级事件可以抢占当前动画。
prefers-reduced-motion 设置可以用事件条件驱动任意内置或自定义动画:
开启 meter 后,宠物会根据当前会话实际调用的模型识别服务商,并显示服务商官方接口返回的账户余额。该功能不进行 Token 费用估算。
DEEPSEEK_API_KEY、MOONSHOT_API_KEY、STEPFUN_API_KEY 等现有凭据来源;也可在对应服务商设置里指定自定义 apiKeyEnv 凭据环境变量完整内置动作见动作展示。动作选择器会跟随 Harness 语言显示中文或英文名称,并支持按分类、英文 ID 或中英文名称搜索;内置动作与用户上传动作都可以加入自主动作池、绑定事件意图或用于触发规则。