dsh-mood-light:按 DSH 會話狀態顯示屏幕邊緣氛圍光

前言

DSH 的理念是「一切皆插件」。dsh-mood-light 是面向 DSH Web 界面的客戶端插件,根據當前會話的運行狀態,在屏幕最外層顯示一圈氛圍光。它不介入操作,只是把會話狀態轉成顏色和節奏。

這是什麼

dsh-mood-light 會在 DSH Web 界面的屏幕最外層顯示不同顏色、不同轉速/閃動節奏的光。默認效果是柔光暈,也可以切換爲跑馬燈或線性漸變。

給定的倉庫安裝入口爲 lihang-lh/dsh-moon-light;下文安裝命令按該入口給出。

核心功能

  • 根據 DSH 會話狀態顯示不同光效:運行中顯示綠色光帶流動 + 閃動;完成/空閒顯示粉色光帶;有待處理顯示黃色光帶;無會話/空白/已禁用時關閉。
  • 默認柔光暈(散光),可選跑馬燈(旋轉光帶)與線性漸變(靜止)。
  • 在設置面板註冊「氛圍燈」頁面,參數可可視化調節,並持久化到 localStorage
  • 可調節啓用開關、光圈寬度、不透明度、效果樣式、光帶樣式、跑馬燈轉速、擴散範圍、不規則強度、亮度閃動、狀態漸變色,並支持恢復默認。
  • 光帶爲純裝飾,pointer-events: none,不遮擋任何操作。
  • 支持 prefers-reduced-motion 時自動停止動畫。
  • 支持本地 link: 安裝、卸載,以及通過 profile 補丁覆蓋部署級默認。

安裝與啓用

先使用給定的 GitHub 安裝入口:

dsh plugin --profile web add "github:lihang-lh/dsh-moon-light"

裝完重啓 dsh web,然後刷新頁面即可看到效果。客戶端插件名錄在啓動時組合,因此安裝後需要重啓。

開發期可以用本地路徑安裝:

dsh plugin --profile web add "link:/你的本地路徑/dsh-moon-light"

卸載:

dsh plugin --profile web remove dsh-moon-light

設置與持久化

打開 DSH Web 的設置面板,進入「氛圍燈」頁面。頁面裏的參數可可視化調節,並保存到 localStorage。配置優先級爲:

localStorage > 插件行 config > 內置默認

第三方插件的命名空間不在宿主 settings wire 的暴露白名單內,所以用戶配置保存在 localStorage

覆蓋部署級默認

通過 ~/.dsh/profiles/web/cordis.patch.ymlid: mood-lightconfig 覆蓋部署級默認。可以寫成一個 profile 補丁:

# ~/.dsh/profiles/web/cordis.patch.yml
- id: mood-light
  config:
    # 在此覆蓋部署級默認

這種方式不修改插件本體,適合部署時統一調整默認值。

本地開發與預覽

對 bundle 做語法檢查:

node --check client.js

運行狀態映射、配置合併、持久化、柔光暈渲染測試:

node scripts/test.cjs

不安裝插件時,可以用瀏覽器打開 docs/preview.html 預覽效果。

適用場景與注意

適合需要在 DSH Web 界面快速感知會話狀態的用戶:運行中看到綠色光帶流動 + 閃動,有待處理看到黃色光帶,完成/空閒看到粉色光帶。

插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證。該插件許可證爲 MIT。

鏈接

GitHub 倉庫:https://github.com/lihang-lh/dsh-moon-light
插件線索中給出的目錄頁:https://www.skillhub.cn/plugins/lihang-lh/dsh-moon-light

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

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

小夜