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.json version: 0.5.1
  • Node Requirement: node >=22
  • peerDependencies: @deepseek-ai/cordis ^4.0.1
  • dependencies: @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:

  1. Open the theme entry at the bottom of the sidebar.
  2. Or enter the “Theme” section in the settings page.
  3. Select a built-in theme, image skin, or video skin.
  4. Adjust sliders for transparency, chat bar transparency, and background dimming.
  5. After saving, the current theme will be written to the dsh-theme namespace.

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.png is the default image skin and cannot be deleted.
  • import-videos/default.mp4 is 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 dsh process 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.1 and @deepseek-ai/schemastery ^3.18.1.
  • The background layer uses pointer-events: none and does not intercept interactions.
  • In a prefers-reduced-motion environment, 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