用 dsh-pet 在桌面角落盯住 DeepSeek Harness 的会话状态

前言

DeepSeek Harness(dsh)把模型适配、工具、会话、沙箱和界面都做成可替换插件,官方仓库的口号就是「Everything is a Plugin」。日常用它跑智能体时,真正容易漏掉的往往不是能力,而是状态:会话已经在跑、卡在审批、刚做完等你看结果,人却切到了浏览器、IDE 或文档里。页面内的桌宠只能在你打开 DSH 网页时起作用;一旦窗口被盖住,状态就从视野里消失。

社区目录里有一款名为 dsh-pet 的趣味插件,维护者是 FlytoMAYDAY80。它不是网页右下角的动画,而是一只独立的桌面小鲸鱼:不打开 DSH 页面,也能用表情、气泡和音效告诉你当前会话处于「需要确认 / 工作中 / 完成 / 空闲 / 离线」中的哪一种。本文依据插件目录页、GitHub 仓库 README、产品说明.mdCHANGELOG.mdpackage.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.1productName 为「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.jspreload.jspackage.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、又经常切到其他软件干活的人:编码、写文档、看网页时,用余光确认智能体有没有卡住、有没有做完。也适合同时开多个会话、需要在气泡里扫一眼各会话标题的人。分类在社区目录里是「趣味」,但状态通道和音效是按真实会话事件来的,不是纯装饰动画。

使用前注意这几件事:

  1. 先升级到 v0.1.1。 Changelog 写明:v0.1.0 安装包基于旧 SSE 协议,在 DSH 0.1.0-rc.6 下无法收到审批 / 提问事件。
  2. 当前验证平台是 macOS。 官方安装包只提供 Apple Silicon 的 dmg / zip。从源码跑仍然依赖 Electron;产品说明把跨平台适配和约 100MB+ 的安装体积都列为待优化项。
  3. 桌宠只读本地 DSH 接口。 默认连 http://127.0.0.1:3080。它不处理审批本身:点击目前只打开 GUI,气泡内还没有「允许 / 拒绝」按钮。产品说明把「气泡内直达处理」列为后续项。
  4. 权限与来源。 目录页的通用安全提示仍然适用:安装命令可能执行代码,插件以当前 dsh 进程权限运行。独立安装包则是另一个 Electron 进程,会读取本机 DSH 的 HTTP/WebSocket。安装前应查看 源码仓库 和 MIT 许可证。
  5. 同名插件不要混。 社区目录里还有其他名为 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜