@eternalnight/dsh-theme:给 DSH Web GUI 换背景的插件

前言

DSH 的理念是「一切皆插件」。如果你使用 DeepSeek Harness 的 Web GUI,想在不改 dsh 源码的前提下更换背景,@eternalnight/dsh-theme 是一个主题皮肤插件。

它提供内置主题、本地图片、动态视频三种背景形态,并在侧边栏底部和设置页提供切换入口。下面介绍它的定位、功能、安装方式和注意事项。

插件定位

@eternalnight/dsh-theme 是 DeepSeek Harness 的主题皮肤插件,用于给 DSH Web GUI 换背景。本文按 npm 包名介绍;仓库地址为:

https://github.com/EternalNight996/dsh-theme

已核实的基本信息如下:

  • 包名:@eternalnight/dsh-theme
  • 维护者:EternalNight996
  • 许可证:MIT
  • 当前 package.json 版本:0.5.1
  • Node 要求:node >=22
  • peerDependencies@deepseek-ai/cordis ^4.0.1
  • dependencies@deepseek-ai/schemastery ^3.18.1
  • 不改 dsh 源码

核心功能

这个插件主要解决一个问题:在不修改 DSH 源码的情况下,给 Web GUI 换背景,并提供基础管理入口。

内置主题

内置主题皮肤包括两部分:

  • 应用配色 4 套:深空暗、石墨、晨光亮、樱粉
  • 背景皮肤

内置主题用于统一选择应用配色和背景。

图片皮肤

支持导入本地图片,常见格式为 pngjpgwebp

导入后的图片会持久化到:

assets/import-images/

图片皮肤以文件名命名,文件名限制为 15 字以内,并支持删除。

视频皮肤

视频皮肤有两类模式:

  • 跟随鼠标:360° 环绕跟随帧
  • 循环播放

默认视频为:

import-videos/default.mp4

导入视频会持久化,并支持删除。

透明与明暗适配

插件提供几个独立可调项:

  • 主题面板透明
  • 对话栏透明
  • 背景压暗滑杆

同时支持明暗自适应。

切换与保存

当前主题会持久化到 dsh-theme 命名空间,重启后保留。

切换入口有两个:

  • 侧边栏底部主题按钮
  • 设置页中的「主题」分区

安装

安装命令如下。

已发布后安装:

dsh plugin --profile web add @eternalnight/dsh-theme

从 GitHub 安装:

dsh plugin --profile web add github:EternalNight996/dsh-theme

本地联调:

dsh plugin --profile web add F:/MyApp/eternal/dsh-theme

安装完成后,需要重启 dsh web

启用与切换

重启后,可以做下面的操作:

  1. 在侧边栏底部打开主题入口。
  2. 或在设置页进入「主题」分区。
  3. 选择内置主题、图片皮肤或视频皮肤。
  4. 调整透明、对话栏透明、背景压暗等滑杆。
  5. 保存后,当前主题会写入 dsh-theme 命名空间。

导入与管理

图片导入后位于:

assets/import-images/

视频导入后位于默认视频路径所在的视频目录,默认文件为:

import-videos/default.mp4

需要注意:

  • 导入图片和导入视频都以文件名命名。
  • 文件名限制为 15 字以内。
  • import-images/default.png 为默认图片皮肤,不可删除。
  • import-videos/default.mp4 为默认视频皮肤,不可删除。

构建

如果你需要重新构建前端资源,可以使用下面的命令:

npm install
npm run build

npm run build 在只改 client 相关代码时需要。

还可以重新生成内置背景图:

npm run gen:bg

适用场景与注意

适合这类使用者:

  • 使用 DSH Web GUI,想换背景。
  • 希望使用内置主题、图片背景或视频背景。
  • 希望在侧边栏和设置页里管理主题。
  • 希望当前主题在重启后保留。
  • 希望不修改 dsh 源码。

安装前需要注意:

  • 插件会以当前 dsh 进程权限运行,安装前应检查源码、依赖和许可证。
  • 本插件许可证为 MIT。
  • 要求 Node 版本不低于 22
  • 依赖关系包含 @deepseek-ai/cordis ^4.0.1@deepseek-ai/schemastery ^3.18.1
  • 背景层使用 pointer-events: none,不拦截交互。
  • prefers-reduced-motion 环境下,跟随帧会停帧。
  • 默认皮肤不可删除,导入文件命名有长度限制。

结尾

@eternalnight/dsh-theme 是一个偏轻量、偏工具向的 DSH 主题插件:它不改变 DSH 的核心流程,只在 Web GUI 背景、主题入口和基础视觉参数上提供扩展。

如果你需要在不改 dsh 源码的情况下给 DSH Web GUI 换背景,可以先从上面的安装命令开始试用。

仓库地址:

https://github.com/EternalNight996/dsh-theme
羽毛球分组比赛记分
小程序二维码

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

小夜