dsh-firefly-forest: A layer of summer night firefly forest for the DSH interface

前言

DSH(DeepSeek Harness)的思路是「一切皆插件」,界面侧也开放了 theme 服务,插件可以往 Web UI 后面垫东西。但实际去看社区目录里的素材类插件,多数还是改配色、改图标或者加背景图,真正做动态氛围的很少,做了的也往往只是在背景层上循环播放一段动画。

dsh-firefly-forest 走的是另一个方向:它不在背景图上做文章,而是在界面后面跑一层 canvas 场景,用夏夜灌木林、呼吸明灭的萤火虫、被光点照亮轮廓的猫头鹰和飞蛾来填充界面背后的空间。对于想让自己常驻的 DSH 工作环境有点辨识度、又不希望干扰正常阅读和操作的人,这是一个成本很低的选择。下面介绍这个插件的定位、功能、安装方式和面板配置。

这是什么

dsh-firefly-forest 是一个 DSH(DeepSeek Harness)主题类插件,作者 weixiurui,分类归在「趣味换装」,当前版本 0.2.2,许可证 MIT,仓库星标为 0。

它解决的问题很具体:DSH Web UI 的默认界面相对素净,插件作者用一层全窗口 canvas 垫在界面后面,模拟夏夜灌木林的环境背景,让界面在视觉上有个「背后有东西在动」的层次,同时不影响内容区域的交互。

一句话定位:环境背景类插件,不是生产力工具,也不改变任何 DSH 的功能逻辑。

核心功能

README 里把效果拆成了几个明确的点,可以照原文核对:

  • 暗色灌木林与草叶剪影,有薄雾和极弱的月光,色温随主题在白天/夜晚之间切换;
  • 草叶尖上呼吸明灭的萤火虫,以及缓慢飞舞、偶尔闪亮的光点;
  • 偶尔一只萤火虫飞近树枝时,先点出两点眼睛反光,再照亮猫头鹰的轮廓;
  • 叶子上的蛾子也会被路过的光点带出来;
  • 全窗口 canvas 垫在界面后面,不拦截鼠标;约 30fps,页面隐藏时暂停,并且尊重系统的「减少动态效果」设置;
  • 在支持工作台的客户端里会多一个「萤火森林」面板;
  • 关闭开关或卸载插件即恢复原界面;插件设置存在浏览器 localStorage 中,不联网。

需要留意的一点:交互层完全不接管鼠标,也就是说这层动画不会挡住你点按钮、选文本,这是它和「背景图素材包」最主要的区别。

安装与启用

README 给了两种装法。

第一种是在 DSH Desktop 的 设置 → 插件 里搜索「萤火森林」安装。这条路径依赖于插件已经被收录进市场,README 原文也注明了这一点。

第二种是命令行从本地包安装,适合直接消费仓库 Release 里的预构建包:

# 从本仓库 Release 里的预构建包安装
dsh plugin --profile web add ./dsh-firefly-forest-0.2.2.tgz

装好后刷新一次窗口;Desktop 端需要重启 Harness 才会生效。

注意这里给的是 --profile web 加上本地 .tgz 包的路径,不是 dsh plugin add github:owner/repo 的形式。如果你手里只有源码仓库,需要先自行打包再按上面的命令安装。

面板配置

在提供了 desktopWorkbenches 的客户端(即 DSH Desktop)里,装完会多出一个「萤火森林」面板。面板里可调的项目,据 README:

  • 总开关
  • 萤火虫亮度
  • 萤火虫密度
  • 猫头鹰出现频率
  • 界面透明化
  • 叠加模式
  • 季节
  • 萤火虫跟随鼠标
  • 环境音与音量

多数设置改完即生效。界面透明化和叠加模式这两项影响的是动画层和 UI 内容的叠加关系,需要按自己的界面配色试一下才知道合不合适。环境音与音量是独立开关,不想有声音时可以直接关掉。

兼容性

  • 需要带 theme 服务的 dsh Web 宿主,官方 dsh web 与基于它的桌面客户端均可。
  • 「萤火森林」工作台面板只在提供 desktopWorkbenches 的客户端(DSH Desktop)中出现;没有该服务的客户端上,插件退化为纯背景,不影响加载。

也就是说,如果你只跑 Web 宿主,背景动画仍然可用,只是没有面板,所有参数要走默认值或历史 localStorage 设置。

运行要求与安全注意

插件以当前 DSH 进程的权限运行,具备与该进程相同的文件和指令访问能力。

因此需要特别强调一点:安装前应检查插件来源,并阅读仓库源码。许可证方面,仓库标注为 MIT,这是相对宽松的开源许可,但 MIT 本身并不免除你阅读和理解代码的义务。作者方面信息较少——仓库星标为 0,说明目前没有形成社区规模的使用和讨论,判断风险时可以把这一点考虑进去。

另外,这个插件本身不联网,设置只保存在本地浏览器 localStorage,这是它的功能约束;但「不联网」是它的行为说明,不代表安装过程中没有额外风险。

开发与打包(给想改的人)

README 里保留了四条开发路径,适合想自己调效果或换素材的人:

  • 客户端入口在 lib/client.js,单文件,走 window.__ModuleLoader__.load 加载;
  • 服务端入口在 dsh/index.js,是个空插件,作用只是把 bundle 挂进插件树;
  • 想快速看效果,直接用浏览器打开 preview/index.html 即可预览;
  • 打包用 pnpm pack,产物通过 DSH Desktop 的本地安装流程放进 profile。

看这套结构可以确认一件事:这个插件不处理任何服务端逻辑,改动也基本集中在客户端的那个单文件里。

结尾

作为趣味换装类插件,dsh-firefly-forest 提供的是一个很窄但很具体的体验:给 DSH Web UI 后面垫一层约 30fps 的萤火森林动画,不拦截鼠标,页面隐藏时暂停,关开关或卸载即恢复原界面。它不参与 DSH 的核心能力,也不改变工作流,适合想给常驻界面留一点氛围、同时不希望动画干扰使用的人。能提供基于 theme 服务的 dsh Web 宿主均可用,带 desktopWorkbenches 的客户端额外有面板可调。

目录页:https://www.skillhub.cn/plugins/weixiurui/dsh-firefly-forest

GitHub:https://github.com/weixiurui/dsh-firefly-forest

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

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

Xiaoye