Back to home

Jieice

dsh-wallpaper-rotator-enhanced

Enhanced fork of dsh-wallpaper-rotator: video backgrounds, full-page wallpaper neutralization, dsh rc.6 compat

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-wallpaper-rotator (Enhanced)

DeepSeek Harness (dsh) Web UI 壁纸轮换插件 —— 基于 liceses/dsh-wallpaper-rotator 的二开增强版。

原版 MIT License © 2025 dsh-wallpaper-rotator contributors。本二开保留原版权声明。

预览

整页壁纸铺满背景,侧边栏 / 会话列表 / 文件树 / 输入条全部半透明毛玻璃透出,壁纸带统一压暗以保证文字可读:

整页壁纸 + 毛玻璃面板

侧栏与文件树透出背景

相比原版的增强

🎬 视频背景支持(原版只支持图片)

  • 文件夹里的 mp4 / webm / mov / m4v 视频也能作为背景壁纸,自动循环静音播放
  • 图片与视频在轮换中无缝切换(淡入淡出)
  • 视频层拥有独立压暗层:与图片共用"壁纸压暗"设置,切到视频不再丢失压暗渐变;"毛玻璃模糊"对视频同样生效
  • host 端新增 Range 请求(206 Partial Content)+ 流式传输,视频 seek/拖动进度条不卡顿
  • 单视频上限放宽到 1GB(图片仍为 64MB)

🖼️ 整页壁纸(原版只覆盖对话框区域)

  • 新增表面中和(surface neutralization):遍历 DOM,自动把大尺寸不透明面板(侧边栏、文件树、绘画面板、输入条等)的背景清为透明,让壁纸铺满整个页面
  • 识别纯色 / 半透明 / 渐变背景,含细长横条规则(宽 ≥ 半屏且高 ≥ 6px)
  • 额外中和装饰性淡出蒙层:会话栏底部的灰色渐变、mask-image 滚动淡出等 —— pointer-events:none 的纯渐变层不论尺寸都清除,遮罩(mask)一并移除
  • data-wp-neutralized 标记 + CSS !important 兜底,React 重渲染不会重置透明度;插件自身的视频层 / 压暗层以 data-wp-own 标记跳过中和
  • 弹窗 / 模态(高 z-index)保持不透明,保证可读性

✨ 可读性与轮换修复

  • 毛玻璃模糊修复:原版 filter: blur(var(--dswp-blur)) 与变量值 blur(8px) 双重包裹成 blur(blur(8px))(非法值被丢弃),导致模糊滑块一直无效;现已修正,图片与视频均生效
  • 轮换黑屏修复:视频→图片轮换收尾时未恢复 cur 图层不透明度,过渡结束后整屏变黑;现已在交叉淡化收尾补回,视频/图片混合轮换全程平滑

🛠️ dsh rc.6 兼容修复

  • 原版依赖已废弃的 client timer 服务(ctx.interval / ctx.timeout / ctx.debounce),在 rc.6 上无法加载
  • 二开全部改为原生 setInterval / setTimeout / 自实现 debounce,inject 收敛为 ["slots", "theme"]

安装

# 本地路径
dsh plugin --profile web add C:\path\to\dsh-wallpaper-rotator
# 或 GitHub
dsh plugin --profile web add github:Jieice/dsh-wallpaper-rotator-enhanced

重启 dsh web 后,设置 → 壁纸轮换 即可配置。

配置

  • 文件夹路径(图片 + 视频)、轮换间隔(秒/分/时)、顺序/随机
  • 面板透明度、壁纸压暗、毛玻璃模糊(0-24px)、文字阴影(三档)
  • 配置持久化到 $DSH_HOME/wallpaper-rotator.json

License

MIT — 原版权归 dsh-wallpaper-rotator contributors 所有。