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
localStorageand 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
localStorageunder thedsh-image-skin.v1key indata:image/jpegformat. - 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.
Ecosystem Links¶
- GitHub repository: https://github.com/YouHui1/dsh-image-skin
- Community directory: https://www.skillhub.cn/plugins/YouHui1/dsh-image-skin