dsh-dynamic-bg
给 DSH 铺整屏动态背景:静态图 / GIF / 视频三种都支持,配可调蒙版、模糊、不透明度与面板半透明。只改 CSS 变量、不碰哈希类名。动态背景插件(DSH plugin for dynamic wallpaper/background)
- Stars
- 0
- Language
- JavaScript
- Created
- Oct 5, 2026
- Updated
- Oct 5, 2026
Introduction
DSH 动态背景与特效
原名:
dsh-dynamic-bg一句话:把 DSH 那个灰底色,换成一整屏的图片 / 动图 / 视频,还能调模糊、蒙版、透明度。
它解决什么问题
DSH 默认界面是素灰色。看久了累,也没有"自己的空间"的感觉。
现有的同类插件只支持静态图片(另有一个只支持 Windows)。 这个能放视频 —— 循环播放、静音、支持倍速和拖进度条。
能放什么
| 类型 | 格式 |
|---|---|
| 静态图 | jpg / png / webp / avif / bmp / svg |
| 动图 | gif |
| 视频 | mp4 / webm / mov / m4v |
能调什么
| 效果 | 范围 | 说明 |
|---|---|---|
| 蒙版强度 | 0–100 | 背景上叠一层半透明,保证任何亮度的图上文字都看得清。深浅主题各一套配色 |
| 背景模糊 | 0–40px | 模糊后自动轻微放大,避免边缘露白 |
| 不透明度 | 0–100 | 背景本身的浓淡 |
| 填充模式 | 铺满 / 完整显示 | 铺满会裁边,完整显示会有留白 |
| 面板半透明 | 主区 / 侧边栏 各自调 | 让内容区透出背景 |
| 一键压暗 | 开关 | 临时把背景压暗,不改上面的参数 |
★ 为什么它比同类"不容易坏"
DSH 界面的样式里有一堆带哈希的类名(形如 .css-a1b2c3)。
那些名字每次版本更新都会变 —— 所以直接改它们的插件,升级后经常突然失效。
这个插件的做法:只改 DSH 自己的 CSS 变量(--dsw-* 那些),
一个哈希类名都不碰。⇒ 版本升级后照样能用。
还带了什么(隐藏功能)
除了背景,代码里还有一整套视觉特效(说明文档还在补):
- 环境文字特效:诗词雨 / 二进制雨,7 条泳道防重叠
- 8 套文字配色:
hacker-green/amber/magenta/cyan/white… - 输入框聚焦毛玻璃
- 按会话独立背景(每个对话可以设不同的背景)
怎么用
- 装完重启
dsh web,刷新页面 - 在设置里找到背景设置,填一个本地文件的绝对路径(比如
~/Movies/loop.mp4) - 打开开关,按需调蒙版 / 模糊 / 不透明度
★ 也可以让 agent 帮你设 —— 它给了三个工具:
dynamic_bg_set / dynamic_bg_get / dynamic_bg_off
安全边界
它读本地文件,所以做了限制:
- ✅ 只允许媒体扩展名,其它一律 403
- ✅ 只允许绝对路径,相对路径 400
- ✅ 拒绝敏感目录(
/etc、/System、/dev等) - ✅ 单文件上限 2GB
- ✅ 不写你的任何文件(只往系统临时目录
/tmp写一份诊断日志,可随时删)
说明文档待补:环境文字特效的详细用法。
维护策略
这是一个个人项目,按现状发布(as-is)。
- Issue / PR 欢迎,但不保证及时回复 —— 我有正职,这是业余时间做的
- PR 我会看 diff 再决定要不要合并 —— 不会盲目合并(安全起见)
- 不接受"催更" —— 有需要欢迎自己 fork 改
- 如果你发现了好用的改进,欢迎提 PR;如果我长期没回,你完全可以 fork 走
这个项目不承诺任何 SLA。 用之前请自己评估。