Introduction¶
The philosophy of DSH is “Everything is a plugin”. If you use the DeepSeek Harness Web GUI and want to change the background without modifying the DSH source code, @eternalnight/dsh-theme is a theme skin plugin.
It offers three types of background styles: built-in themes, local images, and dynamic videos, with switching options located at the bottom of the sidebar and in the settings page. Below, we introduce its positioning, features, installation methods, and precautions.
Plugin Positioning¶
@eternalnight/dsh-theme is a theme skin plugin for DeepSeek Harness, used to change the background of the DSH Web GUI. This article introduces the plugin by its npm package name; the repository address is:
https://github.com/EternalNight996/dsh-theme
The verified basic information is as follows:
- Package Name:
@eternalnight/dsh-theme - Maintainer:
EternalNight996 - License: MIT
- Current
package.jsonversion:0.5.1 - Node Requirement:
node >=22 peerDependencies:@deepseek-ai/cordis ^4.0.1dependencies:@deepseek-ai/schemastery ^3.18.1- No modification of DSH source code
Core Features¶
This plugin primarily solves one issue: changing the background of the Web GUI without modifying the DSH source code, while providing a basic management interface.
Built-in Themes¶
Built-in theme skins consist of two parts:
- 4 sets of application color schemes: Deep Space Dark, Graphite, Morning Glow, Cherry Pink
- Background skins
Built-in themes are used to unify the selection of application color schemes and backgrounds.
Image Skins¶
It supports importing local images, with common formats being png, jpg, and webp.
Imported images are persisted to:
assets/import-images/
Image skins are named after the file name, with a filename limit of 15 characters, and support deletion.
Video Skins¶
Video skins have two modes:
- Follow Mouse: 360° follow frame
- Loop playback
The default video is:
import-videos/default.mp4
Imported videos are persisted and support deletion.
Transparency and Light/Dark Adaptation¶
The plugin provides several independently adjustable settings:
- Theme panel transparency
- Chat bar transparency
- Background dimming slider
It also supports light/dark mode adaptation.
Switching and Saving¶
The current theme is persisted to the dsh-theme namespace and retained after a restart.
There are two switching entries:
- Theme button at the bottom of the sidebar
- “Theme” section in the settings page
Installation¶
The installation commands are as follows.
Install after published:
dsh plugin --profile web add @eternalnight/dsh-theme
Install from GitHub:
dsh plugin --profile web add github:EternalNight996/dsh-theme
Local debugging:
dsh plugin --profile web add F:/MyApp/eternal/dsh-theme
After installation is complete, you need to restart dsh web.
Enabling and Switching¶
After restarting, you can perform the following actions:
- Open the theme entry at the bottom of the sidebar.
- Or enter the “Theme” section in the settings page.
- Select a built-in theme, image skin, or video skin.
- Adjust sliders for transparency, chat bar transparency, and background dimming.
- After saving, the current theme will be written to the
dsh-themenamespace.
Importing and Management¶
Imported images are located at:
assets/import-images/
Imported videos are located in the video directory where the default video path is; the default file is:
import-videos/default.mp4
Please note:
- Imported images and videos are both named after the file name.
- Filename limit is 15 characters or less.
import-images/default.pngis the default image skin and cannot be deleted.import-videos/default.mp4is the default video skin and cannot be deleted.
Building¶
If you need to rebuild frontend resources, you can use the following commands:
npm install
npm run build
npm run build is required when only modifying client-related code.
You can also regenerate built-in background images:
npm run gen:bg
Use Cases and Precautions¶
Suitable for users who:
- Use DSH Web GUI and want to change the background.
- Wish to use built-in themes, image backgrounds, or video backgrounds.
- Want to manage themes in the sidebar and settings page.
- Want the current theme to be retained after a restart.
- Want to avoid modifying the DSH source code.
Precautions before installation:
- The plugin runs with the current
dshprocess permissions; check the source code, dependencies, and license before installing. - This plugin’s license is MIT.
- Requires Node version no lower than
22. - Dependencies include
@deepseek-ai/cordis ^4.0.1and@deepseek-ai/schemastery ^3.18.1. - The background layer uses
pointer-events: noneand does not intercept interactions. - In a
prefers-reduced-motionenvironment, the follow frame will stop. - Default skins cannot be deleted, and imported files have naming length limits.
Conclusion¶
@eternalnight/dsh-theme is a lightweight, tool-oriented DSH theme plugin: it does not alter DSH’s core workflow, but only provides extensions for the Web GUI background, theme entry points, and basic visual parameters.
If you need to change the background of the DSH Web GUI without modifying the source code, you can start by trying the installation commands above.
Repository address:
https://github.com/EternalNight996/dsh-theme