DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

dsh-custom-splash

Custom Splash

DeepSeek Harness startup screen: play your own video fullscreen on launch, then fade into the main interface when it ends. Includes a six-scene animation that can be switched to at any time. Replace the video by placing it at a fixed path. Supports skipping, muted fallback, volume control, and displ

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:diexianxiang/dsh-custom-splash#a43e6b88568b8d10684612227e484452171bae6d
READMECompatibilityVersions
video splash

Description

DeepSeek Harness startup screen: play your own video fullscreen on launch, then fade into the main interface when it ends. Includes a six-scene animation that can be switched to at any time. Replace the video by placing it at a fixed path. Supports skipping, muted fallback, volume control, and display adaptation. Compatible with web profiles and DeepSeek Harness Desktop.

Compatibility and provenance

Custom Splash is published as dsh-custom-splash and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/21/2026

Versions

1.0.0stable
10/21/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/21/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundleRefresh session titles as new human prompts arrive.Personalized Recommendations@deepseek-ai/dsh-personalized-recommendationsPersonalized pages and built-in plugin recommendations offered as cards below answersExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI plugins

README

dsh-custom-splash

A startup-screen plugin for DeepSeek Harness (DSH): play your own video full-screen while DSH boots, then fade into the app.

中文详细说明:README.zh.md

video splash


Features

  • Video mode (default) — a local MP4 covering the window, auto-fading into the app when it ends.
  • Swap the video without reinstalling — drop any MP4 at %USERPROFILE%\.dsh\startup-video\boot.mp4 (or ~/.dsh/startup-video/boot.mp4), or point the setting at any absolute path (file or directory).
  • No first-frame flash — the lock class is added synchronously in <head> and the black overlay is the first child of <body>, so the app never paints before the video.
  • Streams with HTTP Range — /dsh-startup/media/<file> supports 206, HEAD and seeking, and is served with Cache-Control: no-store.
  • Never hangs the boot — autoplay rejection falls back to muted + an "unmute" button; decode errors, a 25 s watchdog and script failures all release the page immediately.
  • Skippable — bottom-right skip button, Esc, or click (after 0.9 s).
  • Per-session by default — a refresh in the same tab does not replay it; always / daily are also available.

Note: The built-in six-act interactive sequence from the upstream project is currently disabled in this v1.0.0 fork due to a DOM mounting compatibility issue. It will be restored in a future update.


Install

dsh plugin --profile web add ./dsh-custom-splash-1.0.0.tgz

On Windows, unzip the release and double-click 安装.cmd.

For DeepSeek Harness Desktop, install the .tgz through its plugin manager (the desktop profile cannot be managed from the CLI), then fully quit from the tray and relaunch — closing the window is not enough.

Requirements: DSH web profile or Desktop, Node >= 20, no runtime dependencies.

Uninstall:

dsh plugin --profile web remove dsh-custom-splash

Use your own video

Fastest path — overwrite one file:

%USERPROFILE%\.dsh\startup-video\boot.mp4

If that file is missing the plugin falls back to its own lib/assets/video/boot.mp4, so deleting it never leaves you with a black screen.

Prefer another location? Settings → Startup screen → Video absolute path accepts a file or a directory (relative paths are rejected). Leave it empty to use the bundled clip.

Encode for the browser (H.264 + yuv420p + AAC, faststart):

ffmpeg -i source.mov -vf scale=1920:1080:flags=lanczos \
  -c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p \
  -c:a aac -b:a 192k -movflags +faststart boot.mp4

Settings

DSH Settings → "Startup screen" (labels are in Chinese).

Playback: enabled · source (video / builtin) · video absolute path · video file name · fit (cover / contain) · muted · volume · mode (session / always / daily) · allow skip.

Builtin sequence only: theme · speed · require confirmation · identity name/id/clearance · voice (on/off, source, voice, rate, pitch, volume, cue sound, intro delay) · UI sounds · accent and glitch colors · all copy fields.

The builtin-only fields are hidden automatically in video mode.


FAQ

  • Nothing shows up — check that the "Startup screen" section exists in Settings (otherwise the bundle is not mounted), that "Enabled" is on, and that mode is not session with the tab already visited. On Desktop, quit from the tray.
  • Video does not play — verify H.264/yuv420p/AAC, or enable "Muted" (muted autoplay is exempt from browser autoplay policies). Failures release the page instead of hanging it.
  • No sound — browsers require a user gesture before audio; a muted fallback with an "unmute" button is provided.
  • 401 from /dsh-startup/* — expected: those routes only trust loopback requests carrying the host's trust marker.

How it works

Host (lib/index.js)
  tapIndex → <head>: critical CSS + config + EARLY_LOCK_JS
           → <body>: #dsh-startup-root overlay + BOOTSTRAP_JS (mode checks, 9 s fallback)
  routes (/dsh-startup): splash.css · splash.js · boot-video.js · media/<file> · asset/<file>.mp3 · config
Browser
  lib/boot-video.js  overlay + <video> + skip/unmute + watchdog
  lib/client.js      settings panel (self-boots the overlay if the host did not inject it)

Development

npm test               # four smoke suites (254 assertions)
npm run pack:release   # npm pack into release/

Repo layout:

lib/index.js       host half: config, injection, six routes
lib/boot-video.js  video runtime (zero deps, all styles inline)
lib/splash.js      builtin six-act runtime
lib/splash.css     builtin six-act styles
lib/client.js      settings panel
lib/assets/        audio + video assets
test/              smoke suites
preview/           offline preview page (not published)
docs/              screenshots and publishing notes

License & credits

MIT. Based on [6shenhonghong9/dsh-startup-screen] (MIT) — the builtin six-act sequence, its styles, audio assets and copy come from there. This fork adds the video mode, replaceable video path, first-frame flash fix and the related settings.