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

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

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

小夜