前言¶
DeepSeek Harness(dsh)把模型适配、工具、会话、沙箱和界面都做成可替换插件,官方仓库的口号就是「Everything is a Plugin」。日常用它跑智能体时,真正容易漏掉的往往不是能力,而是状态:会话已经在跑、卡在审批、刚做完等你看结果,人却切到了浏览器、IDE 或文档里。页面内的桌宠只能在你打开 DSH 网页时起作用;一旦窗口被盖住,状态就从视野里消失。
社区目录里有一款名为 dsh-pet 的趣味插件,维护者是 FlytoMAYDAY80。它不是网页右下角的动画,而是一只独立的桌面小鲸鱼:不打开 DSH 页面,也能用表情、气泡和音效告诉你当前会话处于「需要确认 / 工作中 / 完成 / 空闲 / 离线」中的哪一种。本文依据插件目录页、GitHub 仓库 README、产品说明.md、CHANGELOG.md 与 package.json 交叉核实后写成。社区插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,不要把它当成官方应用商店。
当前公开源仓库为 FlytoMAYDAY80/dsh-pet,许可证 MIT,主要语言 JavaScript。目录页与 GitHub 在撰写时均显示 13 颗星;最新发布标签是 v0.1.1(2026-08-17)。仓库声明:本工具是独立的第三方桌面伴侣,与 DeepSeek / DeepSeek AI 官方无关;鲸鱼形象与「DeepSeek」名称用于指代所对接的官方产品,版权归各自所有者。
这是什么¶
dsh-pet 的产品名是「DSH 桌宠」。按 README 的定位,它是一只悬浮在桌面上的 DeepSeek 小鲸鱼:你在别的软件里工作时,它始终待在桌面一角,把「任务状态」从需要主动打开的页面,变成余光就能读到的实时信号。
仓库说明它随 DeepSeek Harness 发布而开源,原先托管在 dsh-external 组织仓库,现在以个人账号仓库作为公开源。形态上它是独立的 Electron 桌面应用,通过只读 HTTP / WebSocket 接口读取本机 DSH GUI,不写入会话数据、不改 DSH 配置。package.json 里的版本号是 0.1.1,productName 为「DSH 桌宠」,构建目标是 macOS 的 dmg 与 zip。
它要解决的问题很具体:人离开 DSH 页面之后,审批、提问和任务完成最容易被漏掉。桌宠把这几类状态提到桌面层,并用专属音效提醒「需要确认」和「任务完成」。
核心功能¶
README 把能力概括成下面几条,产品说明和 Changelog 可以互相印证。
1、离屏状态感知。 独立置顶悬浮窗,跨全屏应用可见。不打开 DSH 网页,也能看见会话是否在跑、是否在等你、是否刚做完。
2、五种状态,按紧迫度呈现。 README 给出的用户可见优先级是:需要确认 > 工作中 > 完成待查看 > 空闲 > 离线。对应表现如下:
| 状态 | 鲸鱼表现 | 含义 |
|---|---|---|
| 需要确认 | 瞪眼 + 眉毛 + o 嘴 + 提示音 | 有审批或提问等你处理 |
| 工作中 | 专注眼 + 喷水动画 | 有会话正在运行 |
| 完成待查看 | 开心眯眼 + 星星 | 任务刚完成,去看结果 |
| 空闲 | 睡觉 + zzz | 无任务 |
| 离线 | 灰度 + X 眼 | 连不上 DSH,会自动重试 |
产品说明补充了触发条件:任一会话出现权限审批(approval/requested)或提问(question/requested)时进入「需要确认」;任一会话 running 时进入「工作中」;会话由运行转空闲后有 120 秒 窗口显示「完成待查看」;DSH GUI 不可达时显示离线。多会话并行时,气泡按会话粒度逐行列出标题,数量多了可以在气泡内滚动。
3、双通道实时推送,轮询兜底。 v0.1.1 起,状态引擎使用:
- 每 2 秒轮询
POST /api/session.list,拿会话标题、running 与 todos 基线; - WebSocket
/api/events.mux,收审批 / 提问 / 队列推送,断线自动重连; - WebSocket
/api/events.host,收 running 状态翻转的即时推送。
Changelog 写得很清楚:DeepSeek Harness 0.1.0-rc.6 起,这两条事件通道只接受 WebSocket 升级,普通 GET 会返回 426。v0.1.0 仍走旧 SSE 客户端,在 rc.6 下收不到审批 / 提问,桌宠会一直离线。要用当前 DSH,应安装 v0.1.1。
4、低打扰,只在状态变化时发声。 同一状态下的轮询刷新保持静默。「需要确认」和「任务完成」各有专属音效;已经处于「需要确认」时若再来新的审批或提问,v0.1.1 会再次响铃。
5、对 DSH 零侵入。 只读本地接口,不写入任何数据。卸载桌宠进程即消失。README 明确说:桌宠不会把数据传到云端。
6、零代码定制。 把文件放进 custom/ 目录,重启后覆盖内置素材:sprites.json 改像素图案和配色,attention.m4a / done.m4a 改两种提示音。也可以用仓库自带脚本从参考图生成图案。
安装与启用¶
目录页给出的安装命令如下,在 DeepSeek Harness 终端中运行:
dsh plugin add github:FlytoMAYDAY80/dsh-pet
如需可复现安装,目录页建议固定 commit 哈希:
dsh plugin add github:FlytoMAYDAY80/dsh-pet#commit
把 commit 换成实际哈希即可。目录页同时提醒:插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前应检查源代码仓库和许可证。
需要把形态说清楚。仓库根目录是 Electron 应用(main.js、preload.js、package.json),没有典型的 Harness apply(ctx) 插件入口。产品说明写明:桌宠通过 HTTP/WebSocket 只读接口与 DSH 通信,不依赖 DSH 插件体系,以独立桌面伴侣分发。想让小鲸鱼出现在桌面上,应使用仓库 README 推荐的安装包,或从源码启动,而不是只依赖上面这条目录收录命令。
方式一:下载安装包(README 推荐)
从 GitHub Releases 下载当前 v0.1.1 产物。撰写时最新资源是:
| 平台 | 安装包 | 说明 |
|---|---|---|
| macOS Apple Silicon | dsh-pet-0.1.1-arm64.dmg |
双击打开,把鲸鱼拖入 Applications |
| macOS Apple Silicon | dsh-pet-0.1.1-arm64-mac.zip |
便携版,解压即用;删文件夹即卸载 |
产品说明写的是「平台:macOS(当前验证)」。Windows / Linux 的透明窗口、托盘和音效仍列为待适配,不要默认它们已经可用。
方式二:从源码运行
需要 Node.js 18+ 与 pnpm:
pnpm install # 安装依赖(Electron)
pnpm start # 启动桌宠(默认右下角)
可选环境变量指定 DSH GUI 地址,默认是本机 3080 端口:
DSH_PET_URL=http://127.0.0.1:3080 pnpm start
启动前先确认 DSH GUI 已经在该地址运行。桌宠连不上时会进入离线态(灰度 X 眼),并自动重试。
典型用法¶
启动后,鲸鱼默认停在屏幕右下角。对照五种状态读表情即可;气泡里会写明是哪些会话、需要什么操作。
README 给出的交互如下:
| 操作 | 行为 |
|---|---|
| 单击鲸鱼或气泡 | 打开 DSH GUI(系统浏览器;也可改成桌宠窗口并直达会话) |
| 按住拖拽 | 移动位置 |
| 右键鲸鱼 / 气泡或托盘图标 | 菜单:气泡开关、音效开关、大小调节、打开方式 |
| 滚轮(气泡内) | 滚动查看多会话列表 |
产品说明里大小范围是 50%–110%,默认 67%。音效可在右键菜单里开关;听不到提示音时,先打开「音效」,再确认系统音量。
看到「需要确认」就回到 GUI 处理审批或提问;听到完成音或看到完成表情,就回去看结果;鲸鱼睡觉则表示当前没有任务。
如果要换形象或换音效,把文件放进 custom/ 后重启:
custom/
├── sprites.json ← 像素图案 + 配色
├── attention.m4a ← 「需要确认」音效
└── done.m4a ← 「任务完成」音效
只改配色时,sprites.json 里写 palette 即可,例如把身体主色 "b" 换成自己的主题色。从参考图生成图案:
python3 scripts/ref_to_sprites.py <你的参考图.png>
脚本需要 Python 3 和 PIL。详细字段见仓库 custom/README.md。删除 custom/ 下不需要的文件,就会回到内置素材。
开发自检命令也在 README 里:
pnpm smoke # 状态引擎冒烟测试
pnpm shot # 两种皮肤 × 5 状态截图
适用场景与注意事项¶
适合已经在本机跑 DeepSeek Harness GUI、又经常切到其他软件干活的人:编码、写文档、看网页时,用余光确认智能体有没有卡住、有没有做完。也适合同时开多个会话、需要在气泡里扫一眼各会话标题的人。分类在社区目录里是「趣味」,但状态通道和音效是按真实会话事件来的,不是纯装饰动画。
使用前注意这几件事:
- 先升级到 v0.1.1。 Changelog 写明:v0.1.0 安装包基于旧 SSE 协议,在 DSH 0.1.0-rc.6 下无法收到审批 / 提问事件。
- 当前验证平台是 macOS。 官方安装包只提供 Apple Silicon 的 dmg / zip。从源码跑仍然依赖 Electron;产品说明把跨平台适配和约 100MB+ 的安装体积都列为待优化项。
- 桌宠只读本地 DSH 接口。 默认连
http://127.0.0.1:3080。它不处理审批本身:点击目前只打开 GUI,气泡内还没有「允许 / 拒绝」按钮。产品说明把「气泡内直达处理」列为后续项。 - 权限与来源。 目录页的通用安全提示仍然适用:安装命令可能执行代码,插件以当前 dsh 进程权限运行。独立安装包则是另一个 Electron 进程,会读取本机 DSH 的 HTTP/WebSocket。安装前应查看 源码仓库 和 MIT 许可证。
- 同名插件不要混。 社区目录里还有其他名为
dsh-pet的项目(例如网页内桌宠)。本文对应的是维护者 FlytoMAYDAY80、目录页 slug 为dsh-pet-flytomayday80的这一份独立桌面应用。
小结¶
dsh-pet 把 DeepSeek Harness 的会话状态从网页里拿到桌面上:小鲸鱼用五种表情加两种音效,覆盖审批、运行、完成、空闲和离线。它由 FlytoMAYDAY80 维护,MIT 开源,当前推荐版本是 v0.1.1,面向本机已启动的 DSH GUI,安装包目前验证在 macOS Apple Silicon。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-pet-flytomayday80/
GitHub:https://github.com/FlytoMAYDAY80/dsh-pet