dsh-webui-background:为 DeepSeek Harness Web UI 提供可配置背景图

前言

DeepSeek Harness(下称 DSH)的理念是「一切皆插件」,但 Web UI 的外观细节并不在默认能力之内。想给界面加一张背景图,常见做法是直接修改 website/publicapps/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-storenosniff;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、幻方没有官方从属关系,仅供检索与索引。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜