dsh-client-ui-wallpaper: Local Images/Videos as the DSH Desktop Client Wallpaper

Introduction

The default background of the DeepSeek Harness (DSH) desktop client is usually rather plain. If you want to use local images or videos as a dynamic wallpaper during development or work breaks while keeping the interface clear and readable, the dsh-client-ui-wallpaper plugin provides a direct solution. It fills the window, supports background blur, allows independent adjustment of panel and sidebar transparency, and switches text color automatically based on wallpaper brightness, resolving the conflict between the background and content readability.

Core Features

Background and Layout

  • Fill the Entire Window: Images or videos fill the window using object-fit: cover, while modals remain opaque.
  • Blur and Veil: Background blur is adjustable from 0 to 60px, with an optional veil for light/dark appearance.
  • Independent Transparency: Panel and right sidebar transparency can be adjusted separately (0–100%).

Intelligent Display

  • Ink Mode: Automatically switches between dark or light text based on wallpaper brightness.
  • Code Block Adaptation: Code blocks only follow appearance adjustments and are not affected by the transparent background of pre.shiki.

Asset Management

  • Static/Dynamic Separation: Static images and same-name videos are managed separately, and can be switched with one click in the grid.
  • Rotation Control: Supports rotation (interval from 15 seconds to 24 hours) and random rotation, and allows manual selection without interrupting rotation.
  • Automatic Import: New assets are automatically added to the rotation list.

Stability Assurance

  • Layer Self-Healing: Audits the wallpaper layer every 10 seconds and cleans up residual nodes.
  • Probe Reporting: Reports status in real time via the /_probe route.
  • Large File Handling: Assets larger than 50MB are not preloaded.
  • Error Reporting: Load failures and selector failures are logged quietly via the probe rather than producing silent errors.

Installation and Enablement

This plugin requires host DSH version >= 0.2.0-rc.2.

Desktop Client Installation

The desktop profile in DSH is exclusively managed by the Electron application, and the command line refuses direct installation. Search for and install dsh-client-ui-wallpaper in Settings → Plugin Marketplace.

Web Profile / CLI Installation

For a web profile or a custom profile, use the following command:

dsh plugin --profile web add dsh-client-ui-wallpaper

Note: The command requires pnpm to be available in PATH.

Manual Installation

If the environment is restricted, you can install it manually:

npm i dsh-client-ui-wallpaper
node node_modules/dsh-client-ui-wallpaper/scripts/install.mjs --profile desktop

Note: Manual configuration changes may be overwritten by DSH.

Typical Usage

Using Dynamic Wallpaper.app Assets

Under the default configuration, the plugin reads directly from the Dynamic Wallpaper.app asset library:
~/Library/Containers/whbalzac.Dongtaizhuomian/Data/Documents/{Wallpaper,Videos}

Using a Custom Directory

Specify absolute paths in the configuration file (the plugin does not support expanding ~):

imageDir: /Users/you/.dsh/wallpapers
videoDir: /Users/you/.dsh/videos

Synchronizing Playlist

Use the script to synchronize the Dynamic Wallpaper.app playlist:

./sync-wallpaper-playlist.sh

Notes

  • Permission Requirements: Reading the synced directory requires granting DSH Full Disk Access permission.
  • Path Restrictions: Configured paths must be absolute paths.
  • CLI Dependency: CLI commands require pnpm to be in PATH.
  • Upgrade Limitations: When using dsh plugin add, specify a version number to avoid the 24-hour limit in pnpm 11.
  • Manual Installation Risks: Manually installed configurations may be overwritten by the plugin manager.

Conclusion

The plugin enables deep customization of the DSH desktop client background through fine-grained layer control and probe monitoring. See the GitHub repository for more details.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye