在 DeepSeek Harness (DSH) 的开发流程中,长时间盯着终端容易产生疲劳。seek-on-dsh 作为一个趣味插件,将 DeepSeek 的小鲸鱼以像素艺术的形式悬浮在 dsh web 界面右下角。它不依赖 GIF 或脚本,通过 SVG 动画和 CSS keyframes 实现状态响应。
这是一个由 Win-Hao 维护的 DSH 插件,属于“趣味换装”类别。它的核心是一个像素化的 DeepSeek 小鲸鱼,悬浮在 dsh web 右下角,根据当前会话状态(如等待审批、回答问题、工作等)做出不同反应。鲸鱼的形象源自 DeepSeek logo,被像素化到 40×31 网格。
功能特性¶
- 状态响应:插件通过读取 Harness 会话快照来驱动动画。根据不同的会话状态(如
pendingInteraction、question、plan-review、working等),鲸鱼会表现出不同的动作,例如等待审批时瞪大眼、正在工作时打字、完成时跃出水面庆祝。 - 纯 SVG 实现:不使用 GIF、APNG 或 JavaScript 脚本。每个状态都是一个自带 CSS keyframes 的单个 SVG 文件。这意味着它可以适应任意尺寸而不模糊,且不会受到内容安全策略的干扰。
- 交互功能:
- 戳:点击一下会触发“一惊”状态;如果在 1.8 秒内连续点击,鲸鱼会生气。
- 拖拽:鲸鱼可以被拖拽到屏幕任意位置。拖拽过程中会显示“驮着东西”的姿势,松手后位置会保存在
localStorage(键名为seek:spot)。 - Alt + 点击:按住 Alt 键点击鲸鱼,可以手动逐个切换所有状态进行预览。
- 自动补丁:插件自带
dsh.bundle.patch,安装时会自动写入 profile 的dsh.profile.bundles,无需开发者手动修改cordis.patch.yml。
安装与启用¶
安装插件:
dsh plugin --profile web add seek-on-dsh
安装完成后,运行 dsh web 即可在界面右下角看到鲸鱼。
注意:如果安装时 dsh web 正在运行,安装完成后需要重启服务。宿主把插件表存在内存里,残留的旧条目可能会导致重复工厂注册的错误。
典型用法与行为¶
- 待机花活:当没有急事时,鲸鱼会进行悬停、喝咖啡、打哈欠、喷水等动作。这些“花活”动作每 12-30 秒切换一次,且每次只播放一轮,避免动画衔接处出现闪烁。
- 睡眠模式:如果 90 秒无操作,鲸鱼会进入睡觉状态。
- 交互穿透:鲸鱼所在的容器仅四分之一面积可被点击(抓手区域),其余部分保持透明穿透,不会阻挡底层应用的点击操作。
技术细节¶
插件内置了 15 种状态。为了控制体积,美术素材在构建时被内联并经过 gzip 压缩(压缩比约 8.7x),浏览器首次使用某个状态时通过 DecompressionStream 解压,再以 blob URL 交给 <img> 渲染。
seek-on-dsh 提供了一种轻量级的方式来在 DSH 开发过程中增加趣味反馈。更多细节和源码,请查看项目主页:
* GitHub 仓库
* 技能目录页