前言¶
dsh-whale-tools 是一个运行在 dsh-whale-widget 之上的卫星插件。它的核心目的是解决两个具体问题:一是允许用户用任意图片替换小鲸鱼挂件(服务端自动抠图),二是在会话头部提供一个“重启 dsh”的按钮,并增加浏览器心跳检测。
它做什么¶
| 功能 | 说明 |
|---|---|
| 自动抠图 | 设置 → 外观 页选图后,服务端跑流水线(裁剪 → 去白底 → 最大连通域 → 居中缩放 610×610 透明 PNG),覆盖用户路径图 |
| 重启按钮 | 在会话头部(order: -20)添加按钮,调用 systemctl --user restart |
| 浏览器心跳 | 每 30 秒 GET /dsh-whale-tools/heartbeat,host 半 touch 心跳文件,判断浏览器是否在线 |
| 移动端修复 | 注入 CSS 修复手机端小鲸鱼拖拽问题(.dshwv-img 触屏缺陷) |
| 可选补丁 | 默认关闭。显式调用脚本可打补丁,但会改写 node_modules 文件 |
安装¶
使用 DSH 官方命令安装:
dsh plugin --profile web add dsh-whale-tools
使用方式¶
设置换图:
在 DSH 设置 → 外观 页选择图片。服务端会自动进行抠图处理,结果写入 $DSH_HOME/dsh-whale-widget/image.png。
接口调用:
- 心跳检测:GET /dsh-whale-tools/heartbeat
- 重启会话:POST /dsh-whale-tools/restart
手动补丁:
显式打补丁以修改挂件源码:
bash tools/dsh-whale-mascot-apply.sh --patch
注意事项¶
- Vibe coding 产物:代码由 AI 对话生成,未经过人工审计。仅在 WSL2 + dsh
0.1.5-rc.1系列验证。 - 依赖检查:需要已安装
dsh-whale-widget,且依赖 Node.js 库sharp进行图像处理。 - 移动端限制:重启按钮依赖
systemctl --user,手机端不可用;手机端仅能显示小鲸鱼,无法换图或重启。 - 补丁风险:补丁默认关闭。打补丁会改写
node_modules中的文件,撤销补丁需使用--revert。 - 安全闸门:插件仅允许回环地址(
127.0.0.1/::1/localhost)及回环 Origin 的请求。手机端通过网关访问时会被拦截。
相关链接¶
- GitHub: https://github.com/ArimaKana-Akane/dsh-whale-tools
- 目录页: https://www.skillhub.cn/plugins/ArimaKana-Akane/dsh-whale-tools