前言¶
DeepSeek Harness (DSH) 的默认界面背景固定,若需自定义视觉体验,通常需要修改源码或重绘。dsh-bg-changer 插件通过在设置中增加一行「背景图」配置,允许用户上传本地图片,并对图片的布局、透明度、模糊度以及界面自身的半透明程度进行精细调节。该插件不依赖外部构建工具,也不修改宿主源码,旨在提供一种低侵入式的换肤方案。
核心功能¶
插件主要提供以下能力:
-
图片上传与管理
- 支持点击或拖拽上传。
- 兼容格式:PNG、JPEG、WebP、GIF(保留动画)、BMP、AVIF、SVG。
- 可查看文件名、体积、格式及像素信息,支持更换或移除。
-
布局与裁剪
- 提供「填充」「适应」「拉伸」「平铺」四种模式。
- 支持缩放(50%-300%)和水平/垂直偏移(-100 至 100)。
- 预览框与窗口同宽高比,支持在框内拖拽平移和滚轮缩放,所见即所得。
-
视觉效果调节
- 图片效果:不透明度(0-100%)、模糊度(0-40px)、暗化(0-60%)。
- 界面效果:调节界面面板不透明度(默认 65%),降低此数值可让背景图透出,实现半透明效果。
-
技术特性
- 零依赖、零构建。
- 仅使用
require('react')(宿主共享模块基线)。 - 通过 profile 插件机制注册,不触碰 DSH 的
src/目录。
安装与启用¶
插件安装与卸载通过脚本完成,支持远程安装和本地 link 安装。
方式一:远程安装¶
dsh plugin --profile web add github:GIN0076/dsh-bg-changer
安装后需重启 DSH 服务并刷新页面,进入「设置 → 通用」底部即可找到「背景图」选项。
方式二:本地 Link 安装¶
git clone https://github.com/GIN0076/dsh-bg-changer.git
cd dsh-bg-changer
node tools/install.cjs
验证与卸载¶
# 验证安装(无需浏览器)
node tools/verify-bundle.cjs
# 卸载
node tools/install.cjs --uninstall
存储与限制¶
- 存储机制:所有参数存储在
localStorage['dsh-bg-changer:config:v1'],图片存储在 IndexedDBdsh-bg-changer库的assets['wallpaper']中。数据仅存在于当前浏览器及站点源,不随会话或工作区变化。 - 已知限制:
- 界面不透明度:必须将界面不透明度调低(低于 100%)才能看到壁纸。
- 模糊扩散:模糊层向外扩张 3 倍模糊像素,以消除边缘硬框。
- GIF 限制:超过 8MB 或最长边超过 4096px 的 GIF 动图不进行压缩。
- 单图支持:仅支持单张壁纸,不支持视频或轮播。
- 内核限制:仅在 Chromium 内核验证,其他内核未测试。
兼容性说明¶
插件已在 DSH v0.1.6-alpha.1 (Windows 源码构建) + Chrome --app 模式下验证通过。若升级 DSH 后插件失效,需检查 settings.general.item 槽位、window.__ModuleLoader__ 协议及模块表基线是否发生变化。