Introduction

DSH’s extension model allows splitting Web UI capabilities into independent plugins. dsh-appearance is used to adjust the appearance settings of DeepSeek Harness Web, including theme, accent color, fonts, and background wallpapers, persisting the configuration locally.

What is this

levi52/dsh-appearance is a DSH Web appearance settings plugin, repository owner levi52, license MIT. The version declared in package.json is 0.1.0.

This plugin depends on @deepseek-ai/schemastery ^3.18.1, and declares react ^18.2.0 in peerDependencies.

Core Features

Theme

Supports three modes: Light, Dark, and System Default, and provides 9 preset themes: Claude, GitHub, Neo-Brutalism, Terminal, Dracula, Tokyo Night, Gruvbox, Solarized, Material. The plugin also supports custom themes.

Accent Color

Provides 8 preset colors and a custom color picker. The accent color can be applied to any theme and automatically calculates contrasting text colors according to WCAG standards.

Fonts

Interface and code fonts can be selected from Default, Sans-serif, Serif, Monospace, or Custom. The plugin supports a system font picker and supports three levels of font size scaling.

Background Wallpapers

Supports local upload or pasting a URL. The history wallpaper gallery allows one-click switching or deletion. Both opacity and blur levels can be adjusted.

Configuration Management

  • Supports exporting/importing the entire appearance configuration as JSON.
  • A “Appearance” button is provided at the bottom of the sidebar for instant switching of themes and accent colors.
  • All settings are saved to $DSH_HOME/settings.yaml and automatically restored after refresh.
  • Modifications enter a draft state first; they take effect after clicking “Save and Apply”, or can be discarded at any time.

Installation and Activation

First, confirm the environment meets the following conditions:

  • DeepSeek Harness (dsh CLI) is installed and the Web profile has been run.
  • Node.js ≥ 18 (v22 for development environment).

After entering the plugin directory, execute one-click installation:

npm run install-plugin

After installation, restart dsh web:

dsh web

You can also manually add the current directory to the web profile:

dsh plugin --profile web add <current-directory-path>

If you need to specify another profile, you can use --profile <name>:

dsh plugin --profile <name> add <current-directory-path>

Typical Usage

Open the appearance settings in the dsh web interface and adjust the theme, accent color, fonts, or background image. Modifications enter a draft state; after confirmation, you can:

  • Save and Apply
  • Discard Changes
  • Restore Defaults
  • Export JSON
  • Import JSON

If you are only adjusting client-side content like theme colors, fonts, or wallpaper settings, a hard refresh of the browser will show the changes; if changes involve the host-side schema or routing, you need to restart dsh web.

Data and Uninstallation

Appearance settings are saved in:

$DSH_HOME/settings.yaml

The configuration is saved within the ui-appearance section. Uploaded wallpaper images are saved in:

$DSH_HOME/wallpapers/

The plugin states that all data is stored locally, nothing is uploaded, and no keys or credentials are collected. The wallpaper upload interface only accepts image formats and performs a whitelist check on filenames to prevent path traversal.

Execute the following command to uninstall the plugin:

npm run uninstall-plugin

Uninstalling removes the plugin bundle but retains user data. To completely clear it, manually delete the ui-appearance section of settings.yaml and the wallpapers/ directory.

Local Development

When modifying the source code, you can use the following scripts:

npm run typecheck

Execute type checking.

npm run build

Build the lib/ artifacts.

npm run watch

Listen for changes in src/ and build automatically.

Use Cases and Notes

Suitable for users who need to uniformly adjust themes, fonts, and wallpapers in DSH Web, as well as back up or migrate appearance configurations. Since the plugin runs with the permissions of the current dsh process, it is recommended to check the source code and license before installation and confirm the running environment is trusted.

Links