Introduction¶
When using the dsh Web interface for an extended period, the background style is usually relatively fixed. If you want to put your own images or videos on the dsh application background and do not want the panel to obstruct the background too much, dsh-wallpaper-skin provides a plugin entry point: it replaces the application background with a static image or a silent looping video, while making the panel semi-transparent to reduce obstruction.
It is not a temporary style script, but a persistent plugin containing a real Cordis plugin and webserver routes. It takes effect continuously after being installed once.
Plugin Positioning¶
dsh-wallpaper-skin is a dsh wallpaper skin plugin maintained by ddbj-hub. Its goal is specific: to add a wallpaper background to the DeepSeek Harness (dsh) Web interface while preserving interface usability.
The plugin supports two types of backgrounds: static images and silent looping videos. A floating panel is provided in the bottom-right corner, allowing you to modify the wallpaper path directly on the settings page. It uses the MIT license. The repository does not contain wallpaper assets; you need to provide the image or video files yourself.
Core Features¶
Below are the verified capabilities:
- Static Wallpaper: Supports
jpg/png/webp. - Video Wallpaper: Supports
mp4/webm, plays in a silent loop, acts as a decoration layer, and does not consume audio. - Bottom-Right Floating Panel: Can open/close the wallpaper, preview, and select the currently configured wallpaper.
- Configurable Path: Modify the path in
Settings → Plugins → dsh-wallpaper-skin; changes take effect immediately. - Compatible with Dark/Light Mode: The panel is semi-transparent.
- Persistent Plugin: Real Cordis plugin + webserver route; valid continuously after being installed once.
Installation and Activation¶
Method 1: Using the dsh plugin command¶
It is recommended to install it first using the dsh plugin command:
dsh plugin --profile web add github:ddbj-hub/dsh-wallpaper-skin
This step adds the plugin to the current web profile. After installation, the plugin line will appear in the profile’s cordis.patch.yml. Subsequently, restart dsh web, and the plugin will take effect.
Method 2: Manual patch¶
If you do not have a git environment, you can manually add it to the plugin list in <profile>/cordis.patch.yml:
- insert:
- id: dsh-wallpaper-skin
name: dsh-wallpaper-skin
config:
path: /absolute/path/to/your/wallpaper.mp4
Here, the path points to the absolute path of the local wallpaper file. Both images and videos are supported; forward slashes or backslashes are accepted. If left empty, the default background will be used.
Method 3: Local development / Internal distribution¶
When developing locally or distributing within a local area network, you can first clone the repository locally:
git clone https://github.com/ddbj-hub/dsh-wallpaper-skin.git <local_directory>
Then, add it to the dependencies in the profile’s package.json:
"dsh-wallpaper-skin": "file:<local_directory>"
And execute:
corepack pnpm --dir <profile> install
Here is a note: The file: dependency has content caching. After modifying the source code, you need to run pnpm remove + pnpm add to refresh; --force is ineffective.
Typical Usage¶
After installing and restarting dsh web, you can use it as follows:
-
A floating panel appears in the bottom-right corner. Clicking it allows you to open/close the wallpaper, preview, and select the currently configured wallpaper, or jump to
Settings → Pluginsto modify the path. -
If you only want to configure the path, you can go directly to:
Settings → Plugins → dsh-wallpaper-skin
Fill in the wallpaper file path in the configuration item. Changes take effect immediately; no need to restart every time.
Wallpaper File Suggestions¶
The repository does not contain wallpaper assets; please use your own image or video files. The suggestions given in the README are:
- Images: Recommended to be 1080p or higher, and preferably smaller than 10MB.
- Videos: Recommended to be
mp4 (H.264)orwebm, silent, and recommended to be smaller than 50MB; if it is too long, please trim it yourself. - The
pathmust be the absolute path of the local wallpaper file; forward slashes or backslashes are supported; if left empty, the default background will be used.
Implementation and Configuration Details¶
Based on the gathered information, the plugin’s package structure is quite straightforward:
dsh-wallpaper-skin/
├── package.json # Plugin declaration: exports ./client + dsh.client { platform: web, immediately }
├── lib/
│ ├── index.js # Host: webserver routes (info/media/config) + settings namespace
│ └── client.js # Client: bottom-right floating panel, polls info to refresh
package.json exposes the ./client entry and declares dsh.client:
"dsh": {
"client": {
"platform": "web",
"immediately": true
},
"bundle": {
"patch": "./cordis.patch.yml"
}
}
The client loading method is via:
window.__ModuleLoader__.load({ id, factory: (require) => {...} })
Inside, you can require("react"). The bundle is exposed via exports["./client"] and provided by the webserver at:
/plugins/<package_name>/client.js
Regarding the implementation of the theme, the wallpaper is hung on the main frame .pI_x6G_frame as a decoration layer, using !important to override the inline tokens of the theme presenter; the panel’s semi-transparency is controlled by CSS variables.
There is a common pitfall in reading the configuration: In Cordis 4, when reading configuration, you should use the second parameter of:
apply(ctx, config = {})
Do not read ctx.config. Otherwise, you might get the error:
cannot get property "config" without inject
Applicable Scenarios and Notes¶
This plugin is suitable for developers who want to replace the dsh Web interface background with their own wallpaper. It is quite suitable for local environments, internal network environments, or occasions where you want the interface to look less “default” during a demonstration.
Before use, you need to clarify one point: The plugin will run with the permissions of the current dsh process. Before installation, it is recommended to check the source code, dependencies, and license to confirm that you can accept its behavioral boundaries.
Additionally, note:
- The license is MIT.
- The repository does not contain wallpaper assets; please prepare your own images or videos.
- The
pathconfiguration points to a local absolute path; if left empty, the default background will be used. - Local
file:dependencies have content caching. After modifying the source code, you need to usepnpm remove+pnpm addto refresh;--forceis ineffective. - When reading plugin configuration in Cordis 4, use the second parameter of
apply(ctx, config = {}), do not readctx.config.
Conclusion¶
dsh-wallpaper-skin solves a small but specific problem: it allows the dsh Web interface to be replaced with your own static image or silent looping video, while keeping the panel semi-transparent, the path modifiable, and the panel previewable.
Related Links:
- GitHub: https://github.com/ddbj-hub/dsh-wallpaper-skin
- Community Directory Page: https://www.skillhub.cn/plugins/ddbj-hub/dsh-wallpaper-skin