跳过主要内容
L

dsh-whale-pet

luweiyabo/dsh-whale-pet

A floating whale desktop pet for the DeepSeek Harness Web UI: 94 categorized animations, event-aware actions, custom uploads, click reactions, dragging and screen wandering.

安装

dsh plugin --profile web add github:luweiyabo/dsh-whale-pet

README

dsh-whale-pet Logo

dsh-whale-pet

让鲸鱼娘住进 DeepSeek Harness:感知工作状态、回应互动,并在屏幕上自由漫游。

npm version npm downloads GitHub stars GitHub issues License DeepSeek Harness

English · 预览 · 安装 · 使用 · 功能 · 动作 · 配置 · 问题反馈

dsh-whale-pet 是一个面向 DeepSeek Harness Web UI 的开源鲸鱼桌宠插件。它会根据 Agent 的思考、编码、工具调用、等待和错误等状态自动切换动作,也支持点击回应、拖拽、屏幕漫游、自定义动画和触发规则。

插件包含 94 个 640×360 透明 WebM 动画,提供中英文界面,设置修改后自动保存并热生效。

功能预览

设置与动作管理

鲸鱼桌宠设置界面
集中设置
分类浏览和预览动作
动作分类、搜索与预览
自定义动作和事件触发规则
自定义动作与触发规则

桌面交互与状态信息

点击页面移动桌宠
点击移动
桌宠右键快捷菜单
右键快捷菜单
账户余额气泡
账户余额气泡
中英文国际化界面
中英文界面

动作展示

以下按运行时分类展示全部 16 个分类、94 个动作。预览为 240×135、5 FPS 的低帧率循环 GIF;将鼠标悬停在图片上可查看中文动作名。

待机(1)

待机呼吸休闲

转向(1)

东张西望

移动(4)

原地漂浮踏步 螃蟹走路 原地左转奔跑摔跤 预备姿势奔跑

点击回应(6)

开心跃动 害羞惊讶 傲娇生气 挠痒咯咯笑 元气挥手 原地挥手打招呼

拖拽(1)

被鼠标拖拽悬空反馈

日常(10)

女仆屈膝礼仪 超大伸懒腰 小幅度原地旋转展示 哈欠连天 原地小憩沉眠 打瞌睡被惊醒 晨间刷牙 照镜子 整体换装试色 侧耳倾听

工作(3)

轻快记录文字 写代码 深度思考碎碎念

游戏(9)

专心玩魔方 蹲下玩玩具汽车 玩游戏气急败坏 玩水枪 骑木马 踢毽子 抽陀螺 下五子棋 荡秋千

音乐舞蹈(6)

悠闲哼歌 小提琴演奏 优雅女仆舞 轻快摇摆舞 可爱宅舞 吹笛子

美食(12)

大口吃零食 偷吃零食被抓住 吃白饭 吃早餐 吃午餐 吃晚餐 吃冰淇淋融化 吃西瓜 涮火锅 吃大闸蟹 吃糖葫芦 吃长寿面

节日(20)

中秋赏月吃月饼 放烟花 拆礼物 吃粽子 吃汤圆 吃饺子 吃青团 吃腊八粥 吃年糕 吃重阳糕 收红包 舞狮头 写福字 穿针乞巧 装点圣诞树 讨糖南瓜灯 插茱萸赏菊 放河灯 萌化小幽灵 放孔明灯

四季(4)

堆雪人 摇扇纳凉 被落叶淹没 放风筝

魔术(3)

变鸽子魔术 凭空生花魔术 扑克魔术

趣味(9)

吹气球 动物环绕 三球抛接 蝴蝶蜜蜂环绕头顶开花 撸猫 原地跳跃抓碎头顶物品 敲击桌面互动 重力下蹲压缩 被吓一跳

鲸鱼特色(3)

鲸鱼吐泡泡特效 蓝鲸现世 用鲸鱼尾巴拍打地面

梗图(2)

吃 Token 是啊,吃什么?

安装

环境要求

  • 已安装 DeepSeek Harness
  • pnpm 可在命令行中使用;dsh plugin 会把插件管理命令转发给 pnpm
  • 使用 Web profile

从 npm 安装

dsh plugin --profile web add @luweiyabo/dsh-whale-pet

安装完成后重启 Web profile:

dsh web

宠物默认显示在页面右下角。

或者直接从 GitHub 安装:

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-pet

卸载

dsh plugin --profile web remove @luweiyabo/dsh-whale-pet

卸载后重新启动 dsh web。用户上传的动作保存在 $DSH_HOME/whale-pet/actions/,卸载插件不会自动删除这些文件。

开发

git clone https://github.com/luweiyabo/dsh-whale-pet.git
cd dsh-whale-pet
dsh plugin --profile web add .
dsh web

运行测试与发布内容预检:

npm run check
npm test
npm pack --dry-run

项目采用 DSH 双半侧插件结构:

  • lib/index.js:宿主侧设置、静态动画、自定义动作和余额 API
  • lib/client.js:浏览器侧播放、交互、意图仲裁和设置界面
  • cordis.patch.yml:DSH bundle 挂载声明
  • assets/plugin-logo.png:插件 Logo
  • assets/thumb/:内置透明动画
  • docs/images/screenshots/:README 功能预览截图
  • docs/images/actions/:94 个动作的低帧率循环 GIF
  • materials/references/:角色首帧与视觉参考图
  • materials/videos/:AI 生成的源 MP4(仅用于溯源和再处理,不参与运行时播放)
  • materials/prompts/:动画生成提示词

欢迎提交 IssuePull Request。参与前请阅读 贡献指南;安全问题请按照 安全策略 私密报告;版本变化见 更新日志

如何使用

基础交互

操作效果
悬停宠物朝向光标所在一侧,移开后恢复原朝向;拖拽或惯性滑行期间不生效
单击宠物根据头部、身体或尾部区域播放不同回应,并切换选中状态;选中后点击页面可让宠物前往目标位置
双击宠物播放“蓝鲸现世”特殊动画并取消选中状态
拖拽移动并放置宠物;快速甩动后会惯性滑行,系统启用“减少动态效果”时不滑行
完全拖出屏幕宠物进入边缘隐藏状态;将指针移到对应屏幕边缘可露出召回区域
右键宠物打开快捷菜单:回家、打开设置或隐藏

打开设置

进入 设置 → 插件 → 鲸鱼桌宠,可以调整:

  • 显示、文字气泡和账户余额气泡
  • 宠物尺寸、默认角落和会话感知范围
  • 安静、均衡、活泼三档自主活跃程度
  • 工作、编码、阅读、搜索、思考、等待、倾听和错误等意图对应的动作
  • 自主动作、移动动作和点击回应动作池
  • 自定义动作上传、预览和删除
  • 自定义事件触发规则

所有设置会自动保存并即时生效,无需重启。

功能说明

事件感知动作

宠物会读取 Harness 会话活动,并通过 9 类意图仲裁器选择合适动作(可配置):

Harness 状态默认表现示例
Agent 编码或操作文件坐在电脑前编码
思考与推理深度思考
阅读与检索记笔记
等待审批或用户回答左右张望
用户发送消息侧耳倾听
工具或 Agent 出错惊吓回应
没有活动待机、转向、随机动作或屏幕漫游

高频状态变化带有去抖和消退延迟,避免连续工具调用时频繁闪切。用户交互和错误等高优先级事件可以抢占当前动画。

自主行为与屏幕漫游

  • 无会话事件时持续运行自主动画链
  • 默认概率为待机 30%、转向 10%、动作 40%、移动 20%
  • 行走方向与动画朝向同步,并自动检测可用空间
  • 位置按窗口比例保存,窗口缩放后仍保持相对位置
  • 双缓冲视频交叉淡入,减少动作切换时的空白帧
  • 支持系统 prefers-reduced-motion 设置

自定义触发规则

可以用事件条件驱动任意内置或自定义动画:

  • 内置工具名匹配、工具失败、Agent 出错、回合结束和等待审批等模板
  • 多条件自由组合
  • 可配置优先级、冷却时间和动作保持时间
  • 支持“试触发”和最近触发状态
  • 与内置意图使用同一优先级仲裁机制

账户余额气泡

开启 meter 后,宠物会根据当前会话实际调用的模型识别服务商,并显示服务商官方接口返回的账户余额。该功能不进行 Token 费用估算。

  • 自动读取 Harness 当前模型配置、凭据库及服务商默认环境变量
  • 支持 DEEPSEEK_API_KEYMOONSHOT_API_KEYSTEPFUN_API_KEY 等现有凭据来源;也可在对应服务商设置里指定自定义 apiKeyEnv 凭据环境变量
  • 仅请求代码中配置的官方白名单端点;余额查询会把对应服务商的 API Key 发送到其官方接口(请求在本机服务端发起,仅用于余额查询)
  • 默认关闭
  • 服务商没有可用余额 API 时显示“当前服务商暂不支持”

动作配置

完整内置动作见动作展示。动作选择器会跟随 Harness 语言显示中文或英文名称,并支持按分类、英文 ID 或中英文名称搜索;内置动作与用户上传动作都可以加入自主动作池、绑定事件意图或用于触发规则。

自定义动作

可以直接在设置卡片上传 .webm.mp4 文件,也可以复制到:

$DSH_HOME/whale-pet/actions/

推荐规格:

项目要求
画布640×360
背景透明
脚底线y=330
格式WebM 或 MP4
单文件上传限制64 MiB
自定义动作总容量512 MiB
动作 ID使用文件名,支持中文;同名文件不会被覆盖

上传后的动作会进入“自定义”分类,可以加入自主动作池、绑定事件意图或用于触发规则。

配置与数据

插件设置保存在 DSH 的 whale-pet 设置命名空间,自定义动画保存在 $DSH_HOME/whale-pet/actions/。插件不会把动画、设置或 API Key 上传到本项目维护者的服务器。

常用环境变量:

环境变量用途
DSH_HOME指定 DSH 数据目录;未设置时使用 DSH 默认目录
DEEPSEEK_API_KEYDeepSeek 余额查询凭据来源之一
MOONSHOT_API_KEYMoonshot 余额查询凭据来源之一
STEPFUN_API_KEYStepFun 余额查询凭据来源之一

常见问题

安装后没有看到宠物

重新启动 dsh web,然后进入 设置 → 插件 → 鲸鱼桌宠,确认“显示宠物”已开启。也可以运行 dsh --profile web --dump-config,检查插件是否出现在组合配置中。

宠物被拖出屏幕后找不到了

把指针移动到宠物消失的屏幕边缘,宠物会露出召回区域。也可以通过插件设置重新显示,或在右键菜单选择“回家”。

余额气泡显示“不支持”或“查询失败”

确认当前模型服务商提供公开余额 API,并检查 Harness 模型凭据或相应环境变量。部分服务商目前没有公开余额接口,这种情况属于正常降级。

资源来源与许可

  • 本项目原创代码使用 MIT License
  • assets/thumb/ 中的大部分动画资源来自 PC2005-cloud/dsh-pet,不属于本项目的 MIT 代码授权
  • 上游目前允许这些动画资源用于开源项目,但禁止商业使用;使用、再分发或改编前请阅读 第三方资源许可说明 并核对上游最新条款
  • 因 npm 包同时包含 MIT 代码和受单独条款约束的媒体资源,包的许可字段为 SEE LICENSE IN LICENSE,不能把整个 npm 包视为纯 MIT 授权

本项目与 DeepSeek 官方无隶属关系,是面向 DeepSeek Harness 的社区开源插件。

相关插件