dsh-firefly-forest:給 DSH 界面墊一層夏夜的螢火森林

前言

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

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

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

小夜