Introduction

The default interface background in DeepSeek Harness (DSH) is fixed. If you need to customize the visual experience, it usually requires modifying the source code or redrawing the interface. The dsh-bg-changer plugin adds a “Background Image” setting, allowing users to upload local images and fine-tune the image layout, opacity, blur, and the interface’s own level of transparency. This plugin does not rely on external build tools or modify the host source code, aiming to provide a non-invasive skinning solution.

Core Features

The plugin mainly provides the following capabilities:

  1. Image Upload and Management

    • Supports click or drag-and-drop upload.
    • Compatible formats: PNG, JPEG, WebP, GIF (animation preserved), BMP, AVIF, SVG.
    • View the file name, size, format, and pixel information. Supports replacing or removing the image.
  2. Layout and Cropping

    • Provides four modes: “Fill”, “Fit”, “Stretch”, and “Tile”.
    • Supports zooming (50%–300%) and horizontal/vertical offset (-100 to 100).
    • The preview box uses the same aspect ratio as the window and supports drag-to-pan and wheel zooming inside the box, providing WYSIWYG preview.
  3. Visual Effects Adjustment

    • Image effects: opacity (0–100%), blur (0–40px), darkening (0–60%).
    • Interface effects: adjusts the interface panel opacity (default 65%). Lowering this value allows the background image to show through, creating a semi-transparent effect.
  4. Technical Features

    • Zero dependencies and zero build.
    • Uses only require('react') (the host’s shared module baseline).
    • Registers through the profile plugin mechanism and does not touch DSH’s src/ directory.

Installation and Enablement

Plugin installation and uninstallation are completed through scripts, supporting remote installation and local link installation.

Method 1: Remote Installation

dsh plugin --profile web add github:GIN0076/dsh-bg-changer

After installation, restart the DSH service and refresh the page. The “Background Image” option can be found at the bottom of “Settings → General”.

git clone https://github.com/GIN0076/dsh-bg-changer.git
cd dsh-bg-changer
node tools/install.cjs

Verification and Uninstall

# verify install (no browser)
node tools/verify-bundle.cjs

# uninstall
node tools/install.cjs --uninstall

Storage and Limitations

  • Storage mechanism: All parameters are stored in localStorage['dsh-bg-changer:config:v1'], and images are stored in the assets['wallpaper'] record of the IndexedDB dsh-bg-changer database. The data remains only in the current browser and site origin and does not change with sessions or workspaces.
  • Known limitations:
    • Interface opacity: You must lower the interface opacity (below 100%) to see the wallpaper.
    • Blur expansion: The blur layer expands outward by three times the blur pixel value to eliminate hard edges.
    • GIF limitations: Animated GIFs larger than 8MB or with a longest side greater than 4096px are not compressed.
    • Single-image support: Only one wallpaper is supported; videos or carousels are not supported.
    • Browser engine limitations: Verified only on Chromium-based browsers; other browser engines have not been tested.

Compatibility Notes

The plugin has been verified to work with DSH v0.1.6-alpha.1 (Windows source build) in Chrome --app mode. If the plugin stops working after upgrading DSH, check whether the settings.general.item slot, the window.__ModuleLoader__ protocol, or the module table baseline has changed.