DeepSeek Harness Hub
← 返回列表

MoonlitDropOfBlood/dsh-whale-pet

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

dsh的桌面宠物,挂载在WhaleHarbor中

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/6 · 已提供中文文档
综合分
29.6
GitHub 分
29.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add MoonlitDropOfBlood/dsh-whale-pet
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-whaleharbor-pet · 鲸娘桌宠

鲸港 WhaleHarbor 的大白鲸娘桌面窗宠:一只透明、置顶、不抢焦点的悬浮小鲸娘,实时反映 DeepSeek Harness(DSH)的工作状态。

形象采用 2D 拆件 + CSS 纸片人动画:原画拆成 13 个零件(底座/眼×4/嘴×6/呆毛/汗滴),底座擦除与表情件重组误差为 0 像素,动作全部由 CSS keyframes 驱动(呼吸、眨眼、呆毛摇摆、汗滴、蹦跳、抖动),60fps、缩放无损。

鲸娘桌宠

状态表情

八种状态

| 状态 | 触发 | 表现 |
|---|---|---|
| 空闲 A/B | 无任务 | 呼吸浮动 + 眨眼 + 呆毛摇摆;两种 idle 每 18s 随机轮换(B 有快速双眨和视线偷瞄);每 9s 轮换闲扯台词 |
| 忙碌 | 主 agent 运行 / 根工具执行 / 子代理 / 工作流 | 快速浮动 + 波浪嘴 + 汗滴滑落 + 冒泡,气泡显示当前工具名 |
| 审批等待 | approval/request(主 agent) | 头顶红色 ! 徽章 + O 嘴 + 歪呆毛 + 提示气泡 |
| 提问等待 | user-questions/request(主 agent) | 头顶蓝色 ? 徽章 + 瞳孔偏移 + 呆毛大摆 |
| 出错 | agent/error(主 agent) | XX 眼 + 高频抖动 + 橙色 ✕ 徽章 8 秒 |
| 完成庆祝 | 忙碌 → 空闲跳变 | 蹦跳三下 + ∩∩ 笑眼 + 开怀大笑 + 星星爱心 6 秒 |
| 打盹 | 连续空闲 3 分钟 | 慢深呼吸 + 闭眼 + 画面变暗 + Z z z |
| 子代理分身 | subagent/start 存活数 | 右下角小鲸鱼(最多 6 只) |

气泡副栏实时统计:本次开机工具调用数、累计忙碌分钟、被戳次数。

桌面实拍

桌面实拍:忙碌状态(pwsh 工具运行中),气泡为实时统计,右下为子代理分身。

支持平台:需要 WhaleHarbor 桌面壳提供浮窗能力(当前发布 Windows 构建);插件本体是纯 Web 技术(DOM + CSS 动画),壳支持更多平台后即随之可用。

交互

- 拖动:按住鲸娘或空白处拖动(壳的 float-preload 实现,零页面协议)
- 戳一戳:点击鲸娘 → 压缩回弹动画 + 随机吐槽,计数上报
- 右键:原生菜单 —— 小号/中号/大号(重建浮窗,状态自动续上)、隐藏
- 托盘菜单(WhaleHarbor 托盘):状态行 + 「显示/隐藏鲸娘」
- 悬停:显示状态气泡

架构

DSH 核心进程(本插件 Host 半部,index.js)
│  监听 agent/status、tools/execute、approval/request、user-questions/request、
│  subagent/start|end、workflow/start|end、agent/error(subagent 按 session header 过滤)
│  聚合成 ≤2.5KB 状态快照
▼
RPC 桥  http://127.0.0.1:(DSH_DESKTOP_NOTIFY_PORT/_TOKEN,请求体上限 4KB)
│  float.window.create(url 模式:内联 html 超 4KB 会被静默断开,
│  页面与零件由插件本地服务器自取:/pet.html + /parts/.png,路径白名单 404 兜底)
│  → float.window.state(1s 节流,变化才推)
│  float.window.menu(右键原生菜单)
▼
WhaleHarbor 壳:透明显示浮窗(floating 置顶 / focusable:false / 不进任务栏)
▲  反向通道(插件自起 127.0.0.1 eventPort)
└── float.window.input(戳一戳)/ float.window.menu.click / float.window.closed

- 页面是一张零件叠加的 DOM:底座常驻,表情件按 mood class 切换透明度,动作全在 CSS keyframes(translateY 相对自身盒高,窗口三档尺寸自适应)。
- 零件缺失(打包漏发 parts/)时自动退回占位鲸鱼,不白屏。
- 桥不可达(纯浏览器/CLI 启动、旧壳、浮窗开关关闭)时安静空转,无任何副作用。
- 卸载/HMR/核心退出时 ctx.effect 清理:float.window.closeAll + 托盘分区清除 + 事件服务器关闭。
- 窗口是壳的资产:核心重启时代际清理,宠物不会变孤儿。

安装

dsh plugin --profile web add @duke-dsh-plugins/dsh-whaleharbor-pet

国内网络请显式指定 --registry=https://registry.npmjs.org(本机默认 registry 常被镜像源覆盖)。

装完必须重启 DSH 核心生效(桌面壳 Ctrl+Alt+R 或设置 → 核心 → 重启)。

本地开发

node --check index.js                  # 语法检查
node -e "console.log(require('./index.js')._buildPetPage())"   # 导出浮窗页面

页面通过插件事件服务器提供 /pet.html 与 /parts/.png;开发时用任意静态服务器指向本目录即可预览(支持 ?mood=idle-a|idle-b|busy|nap|celebrate|approval|question|error 钉死状态)。

已知边界

- 改大小 = 关窗重建(浮窗宽高创建即固定),位置回到默认右下角。
- float.window.state 是替换最新值语义:页面刷新自动补发最新状态。
- 每插件浮窗限额 3 / 全局 6;本插件只用 1。

License

MIT © dukebywwh

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群