Bundle
@frog755/dsh-wallpaper
Persistent image and locally compressed MP4 wallpaper for DeepSeek Harness with opacity, blur, and a fixed web origin.
- Source
- Frog755
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# dsh-wallpaper [English](README.md) | [简体中文](README.zh-CN.md) Persistent custom wallpaper for the DeepSeek Harness Web profile. `dsh-wallpaper` adds one settings row under **Settings -> General**: - choose a local image or MP4 video; - tune surface opacity and wallpaper blur; - remove the wallpaper at any time. Images are resized in the browser. MP4 videos up to 300 MB are uploaded only to the local DSH Host. When `ffmpeg` and `ffprobe` are available, they are compressed into high-quality H.264 wallpapers with a single fast encoding pass, a target near 18 MB, 1080p maximum resolution, and 30 fps maximum. Audio is removed because a background video is muted. Without those optional tools, the original MP4 is retained so video wallpapers remain usable, although they may take more disk space. Uploads stream directly to a temporary local file rather than being buffered in the DSH Host process. The result is stored under `~/.dsh/wallpapers`, while `localStorage` keeps only its local URL. Replacing or removing a video deletes its prior local file, and startup removes old unreferenced wallpaper videos. Video wallpapers are muted, looped, and auto-played; media is restored on the next launch. Its bundle patch also fixes the Web server to port `9191`: browser storage is scoped to protocol + host + port, so a random port would make saved wallpaper appear to disappear after every restart. ## Requirements Image wallpapers need no extra software. Video wallpapers also work without extra software by retaining the original MP4. Install `ffmpeg` and `ffprobe` on `PATH` for the DSH Host process to enable local compression. ## Screenshots Wallpaper applied to the Web profile (image background with adjusted surface opacity):  The wallpaper settings card under **Settings -> General**:  ## Compatibility - Target: the DeepSeek Harness **Web profile** (`dsh web` or the desktop build's Web UI). The settings card is rendered by the DSH client runtime and needs a modern browser with `localStorage` support. - The bundle patch pins the Web server to `http://127.0.0.1:9191`; see [Fixed origin](#fixed-origin) below for why, and what to do when the port is occupied. - Image wallpapers require no external tools. Video wallpapers accept MP4 files up to 300 MB; without `ffmpeg`/`ffprobe` on `PATH` the original file is kept as-is, otherwise it is compressed locally to H.264 (target ~18 MB, max 1080p, max 30 fps, audio removed). - Peer dependencies: `react ^18.2.0`, `@deepseek-ai/cordis ^4.0.1`, and the DSH client packages listed in `package.json`. They are provided by the DSH host installation; do not install them manually. ## Install Install the public npm package in one command: ```powershell dsh plugin --profile web add -w @frog755/dsh-wallpaper ``` Restart `dsh web` after initial installation so the host loader reads the new bundle patch. Open **Settings -> General -> Wallpaper** to choose your image. For local development from a cloned repository, run this from the repository root instead: ```powershell dsh plugin --profile web add -w . ``` Changing `lib/client.js` later is picked up by the DSH client HMR chain; hard-refresh the page if the browser has an older module active. ## Fixed origin The package patch pins DSH Web to `http://127.0.0.1:9191`. This is intentional: `localStorage` isolates values by origin, including the port. If `9191` is occupied, either stop the process holding it or change the port in `cordis.patch.yml` before starting DSH. Changing the port creates a different browser storage namespace, so the wallpaper must be selected once on that new origin. ## What is persisted All settings remain local to the current browser profile: - `dsh-wallpaper:image` - `dsh-wallpaper:opacity` - `dsh-wallpaper:blur` On its first run, the plugin imports an existing `dsh-skin` wallpaper and its opacity/blur values when no `dsh-wallpaper` value exists. This lets a profile migrate without selecting the background again. No image is sent to a server. Images are stored as compressed data URLs and are reduced to keep the browser storage footprint bounded. ## Development The client bundle uses DSH's `window.__ModuleLoader__.load` format, so no build step is needed. It is served by `dsh-client-modules`; `dsh-client-hmr` watches its content and sends a rebuilt notification to the browser when it changes. ## Attribution This independent wallpaper-focused plugin was derived from, and substantially reworked from, the wallpaper component of [KinGao294/dsh-skin](https://github.com/KinGao294/dsh-skin), which is licensed under MIT. The original copyright notice is retained in [LICENSE](LICENSE).
Install
dsh plugin --profile web add github:Frog755/dsh-wallpaper
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install frog755-dsh-wallpaper from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.