Introduction

DeepSeek Harness (DSH) uses a plugin-based architecture that allows developers to extend functionality. dsh-image-skin is a Web plugin designed to address UI customization needs. It allows users to set a background image and automatically adapts the UI’s text, background, brand, and border colors based on the image’s palette.

Plugin Overview

  • Name: dsh-image-skin
  • Maintainer: YouHui1
  • Category: Fun reskinning
  • License: MIT
  • Purpose: Automatically generate theme tokens by analyzing image colors to change the appearance of the DSH Web interface.

Core Capabilities

  • Background Image: Supports image upload; the system automatically scales it to a 1600px JPEG for storage.
  • Palette Adaptation: Extracts the average and dominant colors from the image and uses them to generate a complete set of theme tokens (including background, primary and secondary labels, brand color, borders, etc.).
  • Contrast Assurance: Based on WCAG relative luminance checks, ensures that the generated text color meets contrast requirements against the background (primary/secondary levels >= 4.5:1, tertiary text >= 3:1).
  • Opacity Control: Provides a slider to control primary surface opacity; for layered surfaces (menus, popups), opacity is kept at >= 80%.
  • Image Fit Modes: Supports cover, contain, and stretch modes.
  • Tint Overlay: Adds a tint overlay on the background image to improve text readability.
  • Automatic Light/Dark Mode: Includes an optional “Follow Image” toggle that automatically switches between light and dark themes based on the image’s brightness.
  • Persistence: The image and settings are stored in the browser’s localStorage and are automatically restored after a page refresh.
  • Settings Entry: Registers a “Skin” page in DSH settings.

Installation and Enablement

Use the following command to install the plugin:

dsh plugin --profile web add link:<absolute path to this repo>

After installation, restart DeepSeek Harness and force-refresh the page in the browser (Ctrl/Cmd+Shift+R) to apply changes.

Technical Details and Limitations

  • Storage Mechanism: The image is stored in localStorage under the dsh-image-skin.v1 key in data:image/jpeg format.
  • Color Constraints: High-saturation images strongly tint surfaces; background saturation is limited to 45 or below. Layered surfaces (menus/popups) must maintain opacity of at least 80%.
  • Reload Rules: Client-side changes require a force refresh; host-side changes require restarting DSH.
  • GitHub repository: https://github.com/YouHui1/dsh-image-skin
  • Community directory: https://www.skillhub.cn/plugins/YouHui1/dsh-image-skin