前言¶
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.yml 中 id: mood-light 的 config 覆盖部署级默认。可以写成一个 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