DeepSeek Harness(DSH)采用模块化设计,其 Web GUI 本身较为简洁。在开发或调试 Agent 时,获取其运行状态的实时反馈是一个常见需求。dsh-whale-pet 插件通过官方 shell.overlay 槽位注入一个 React 组件,在界面右下角展示一只鲸鱼娘,随 Agent 状态切换动作并播放语音。
功能特性¶
该插件通过状态机管理鲸鱼娘的行为,确保反馈的准确性与交互的趣味性。
- 状态机驱动:支持
working(工作中)、waiting(等待交互)、completed(任务完成)、celebrate(庆祝)、idle(空闲)五种状态,随 Agent 运行状态实时切换动作。 - 任务完成边沿检测:任务完成时播放庆祝语音,通过逻辑控制确保只播一次,避免重复轰炸(从 10 句随机语音中选取)。
- 交互反馈:首次出现时会播放「晓伊」语音打招呼;点击鲸鱼娘会随机播放撒娇语音。
- 零侵入集成:使用官方
useSessions全局标准 hook,走shell.overlay槽位,不修改业务 DOM。 - 实用功能:鲸鱼娘支持拖拽移动;右上角设有静音/取消静音开关。
- 本地化与无障碍:全部资源通过宿主静态路由本地加载,无外部请求、无遥测数据。同时尊重
prefers-reduced-motion,减少动效。
安装与启用¶
安装插件需要手动操作文件路径和配置文件,重启 Web 服务后生效。
- 将插件目录复制到宿主配置的树外插件目录:
$DSH_HOME/profiles/node_modules/dsh-whale-pet/
- 编辑当前 Profile 的
package.json,在dsh.profile.bundles数组末尾追加"dsh-whale-pet":
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-whale-pet"
]
}
}
}
- 重启
dsh web命令。插件集的变化通常需要重启服务才能加载,重启后刷新页面,即可在右下角看到鲸鱼娘。
资源与授权¶
本插件不包含自行设计的立绘和语音素材,所有资源均取自社区开源项目。
- 立绘:取自 DeepSeek 社区开源项目
dsh-whale-musume(MIT License)。 - 语音:取自社区项目
aceice01/dsh-whale-pet,包含「晓伊」神经网络音色片段。该素材为非商业使用许可,仅限本地非商业演示。
适用场景¶
此插件适合希望在 DSH Web GUI 中获得更丰富视觉反馈的开发者。它通过简单的配置即可将 Agent 的运行状态具象化为一个立体的交互对象,适合日常开发陪伴或演示场景。
结尾¶
dsh-whale-pet 展示了 DSH 生态中插件开发的扩展性,通过标准化的 Hook 和 Slot 接口,即可实现非侵入式的 UI 增强。更多细节与源码,可参考插件目录或 GitHub 仓库。