前言¶
DeepSeek Harness(下称 DSH)的理念是「一切皆插件」,但 Web UI 的外观细节并不在默认能力之内。想给界面加一张背景图,常见做法是直接修改 website/public、apps/web/public 中的静态文件,这类改动游离在插件体系之外,不方便管理。
下面介绍 dsh-webui-background。它是一个独立插件,通过 Harness 的组合包与客户端插件扩展点安装,不修改、不替换上述文件,背景图的设置和图片都由插件自己保存。
这是什么¶
dsh-webui-background 由 lx963 维护,许可证为 MIT,当前版本 0.1.0-rc.3。它的定位一句话可以说清:为 DeepSeek Harness Web UI 提供可配置的背景图。装好之后,设置页面会多出一个「Web UI 背景」标签页,选图、调遮罩、保存,立即生效。
核心功能¶
1、设置页面内嵌「Web UI 背景」标签页,支持上传、拖放和预览图片。
2、支持 PNG、JPEG、GIF 和 WebP,按文件内容识别格式,单张最大 20 MiB。
3、浅色模式与深色模式的遮罩分别调整,保存后立即生效。
4、可以暂时停用背景而保留图片,也可以一键删除图片并恢复默认界面。
5、设置与图片按 Harness profile 独立保存,多个 profile 互不影响。
6、远程页面可以查看设置,但只有回环地址页面能够修改,避免受信任 Host 上的设置被远程网页写入。
安装与启用¶
需要 DeepSeek Harness 0.1.0-rc.5 或更高版本,插件依赖外部组合包与浏览器客户端插件这两个扩展点,旧版本不支持。
在 DeepSeek Harness 源码仓库根目录执行:
pnpm dsh plugin --profile web add dsh-webui-background@next
pnpm dsh web
第一条命令把插件以 @next 标签装入 web profile,第二条启动 Web UI。如果 Web UI 已经在运行,请重启它,然后打开「设置 → 插件 → Web UI 背景」选择图片并保存。
两个命令行细节:
- 如果
dsh已全局安装并加入系统PATH,可以去掉命令开头的pnpm;PowerShell 提示无法识别dsh时,使用pnpm dsh。注意npm dsh不是有效的 npm 命令。 - 卸载命令如下,卸载不会主动删除 profile 数据,要清除图片应先在插件页面点击「恢复默认」:
pnpm dsh plugin --profile web remove dsh-webui-background
从源码安装¶
git clone https://github.com/lx963/dsh-webui-background.git
cd dsh-webui-background
pnpm install
pnpm test
pnpm build
# 切换到 DeepSeek Harness 源码仓库根目录,传入插件源码的绝对路径
cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-webui-background
前三步依次是安装依赖、跑测试、构建,最后在 DSH 仓库根目录用绝对路径把本地插件装入 web profile。构建环境要求 Node.js ^22.19.0 || >=24 与 pnpm 10;发布包在 prepack 阶段生成 Host ESM、浏览器 CJS 和类型声明。
数据存放在哪里¶
每个 profile 的数据位于该 profile 目录下的 data/webui-background/:
state.json保存开关、遮罩和修订号;- 图片以
background-<sha256>保存,即内容哈希作为内部文件名,不带扩展名。
上传源文件可以用普通的 .webp、.png 等扩展名,插件会读取内容自动识别格式;保存后不带扩展名是正常行为——浏览器通过插件的 /webui-background 路由取得正确的 Content-Type,不依赖磁盘扩展名。每个 profile 只保留一张当前图片。
安全与限制¶
- SVG 不受支持,因为它可以包含主动内容。
- 图片必须通过魔数校验,扩展名与浏览器传入的 MIME 类型不作为信任依据。
- 图片响应使用
no-store与nosniff;URL 中的修订号仅用于页面刷新当前图片。 - 每个 profile 只保留一张当前图片,使用乐观修订号避免多个页面静默覆盖彼此的设置。
适用场景与注意¶
适合长期自用 DSH Web UI、想调整界面外观的开发者。如果按 profile 区分工作与个人环境,两个 profile 可以各用一张背景图,互不干扰。
动手之前有几点提醒:
1、插件以当前 dsh 进程的权限运行。安装任何第三方插件前,建议先阅读源码、确认许可证(本插件为 MIT),再决定是否装入。
2、SVG 不受支持,需要先把图片转成 PNG、JPEG、GIF 或 WebP。
3、单张图片最大 20 MiB。
4、卸载不会删除 profile 数据,清除图片前先在插件页面点击「恢复默认」。
结尾¶
dsh-webui-background 把「换背景」这件小事做成了一个标准的插件:不改源码文件、按 profile 隔离、远程只读、按文件内容校验。对想微调 Web UI 外观的 DSH 用户来说,是一个成本很低的选项。
- 社区插件目录页:https://www.skillhub.cn/plugins/lx963/dsh-webui-background
- GitHub 仓库:https://github.com/lx963/dsh-webui-background
其中 SkillHub 是独立的社区目录站点,与 DeepSeek、幻方没有官方从属关系,仅供检索与索引。