Introduction¶
DeepSeek Harness (DSH) is a core interface tool for agent development and debugging. During long-running agent sessions or debugging sessions, a static interface background can easily cause visual fatigue. The dsh-wallpaper-bg plugin provides a standalone animated wallpaper layer for the DSH Web interface (dsh web) and the 0.2 desktop version, floating the Web UI above a dynamic background.
The plugin supports three wallpaper sources: built-in wallpapers, custom uploads, and the Wallpaper Engine library. It does not parse local scene packages, does not generate cache files, and renders videos in the browser. Under a light theme, it automatically applies a translucent white fog overlay; under a dark theme, it applies a darkening mask to ensure text readability. The “Native Background” toggle on the main chat page can remove these masks and fog with one click, allowing the wallpaper to be fully visible.
Core Features¶
Three Wallpaper Sources¶
- Built-in wallpapers: Provides 10 high-resolution Unsplash images and does not require a local service.
- Custom uploads: Supports local images and videos, stores them in IndexedDB, and keeps them after refresh. The plugin detects files with an empty MIME type by file extension (such as
.mkvor.mov) and renders them as videos instead of showing a black screen. The custom queue supports images and videos only. - WE library: Connects read-only to the local Wallpaper Engine library (default
http://127.0.0.1:8088) and shows only subscribed wallpapers.
Playback Queue and Rendering Modes¶
- Playback queue: Drag wallpapers from the built-in, custom, or WE library grids into the queue to enable loop playback. The queue supports drag-to-reorder, click-to-jump, individual item removal, and clearing all items; its contents are persisted. The WE queue supports videos, scene preview images, Web pages, and images.
- Three rendering modes:
- Static images: Uses cover fit.
- Videos: Uses a
<video>element withobject-fit: cover, composites through the GPU, and avoids black bars or distortion. Supports 4K video optimization. - Scene previews: Displays the WE Workshop
preview.giforpreview.jpg. For the full dynamic effect of a scene, it is recommended to record it as MP4 using the WE screen recording tool and import it through custom upload. - Web wallpapers: Renders
index.htmlnatively in the browser.
Performance and Interaction Optimization¶
- Zero local rendering and caching: The plugin does not parse
scene.pkg, render scene frames, bake videos, or capture the desktop screen. It also has no local cache folder. - Black flash elimination: Uses a 0.42-second crossfade when switching wallpapers. The incoming wallpaper is preloaded and decoded before blending begins, and the old layer is removed only after it has completely faded out. For the video path, it waits for
requestVideoFrameCallbackto ensure the first frame has been drawn before entering, avoiding blank frames. - Next-item prewarming: While the current item is playing, the next item is loaded in the background—downloading and decoding network images, buffering WE videos, and reading from IndexedDB—so no network wait is needed when switching.
- White-frame skipping: For some videos (such as Arknights “Loudness Law”) that begin with pure white frames, the prewarming stage detects the first non-white frame and starts playback from there.
- Decoder management: Pauses decoding while the exiting layer fades out, and releases video resources only after it has been completely removed, preventing FPS drops caused by continuous switching.
Adjustments and Toggles¶
- Four adjustments:
- Fog/mask: Light theme uses a translucent white fog overlay; dark theme uses a darkening mask. It automatically switches with the DSH theme.
- Blur: 0–20px.
- Brightness: 50–150%.
- Safe zoom: 0–10%, used to crop edge black bars.
- Native Background toggle: The toggle on the main chat page can clear the fog, mask, and translucent UI layers with one click, showing the full wallpaper while keeping the chat interface clear. Turning it off restores the previous settings value.
Installation and Usage¶
Installation¶
You can install it through the DSH CLI, or enter the package name on the desktop version’s plugin management page.
Typical Usage¶
- Set up loop playback: In the “Custom Uploads” or “WE Library” tab, drag your preferred wallpapers into the queue at the top and adjust the loop duration (1–10 minutes).
- Adjust display effects: In the Settings panel under the “Wallpaper” tab, adjust blur, brightness, and safe zoom as preferred. In light mode, the fog overlay is applied automatically.
- Clear overlays: On the main chat page, click the “Native Background” toggle to display the full wallpaper while keeping the chat interface clear.
- Use the WE library: Ensure the local Wallpaper Engine API service is running (it is not included in the npm package; the plugin panel provides a prompt), then you can read locally subscribed wallpapers.
Notes¶
- Permissions and resources: The plugin runs with the current DSH process permissions. The WE library source requires the
wallpaper-engine-apiservice to be running locally. - Desktop independence: Wallpaper switching inside DSH does not affect the desktop wallpaper, and changes to the desktop wallpaper are not synchronized back to DSH. The “Sync Desktop Wallpaper” feature mentioned here has been removed in the current version and now only remains as a read-only display.
- License: MIT License.
- Performance: 4K video is handled through GPU compositing, with no CPU per-frame rendering, resulting in minimal performance overhead.
Summary¶
dsh-wallpaper-bg is a plugin that provides a standalone animated background for DeepSeek Harness. With its three wallpaper sources, queue playback, zero-cache rendering, and GPU optimizations, it addresses visual fatigue caused by static backgrounds while preserving interface readability and stability.
- Plugin home: https://www.skillhub.cn/plugins/nishuoyang/dsh-wallpaper-bg
- GitHub repository: https://github.com/nishuoyang/dsh-wallpaper-bg