packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
一个为 DSH 打造的自定义视频开屏插件,支持播放你自己的本地视频,完美兼容桌面端。
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

%USERPROFILE%\.dsh\startup-video\boot.mp4 (or ~/.dsh/startup-video/boot.mp4),
or point the setting at any absolute path (file or directory).<head> and the
black overlay is the first child of <body>, so the app never paints before the video./dsh-startup/media/<file> supports 206, HEAD and
seeking, and is served with Cache-Control: no-store.Esc, or click (after 0.9 s).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.
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
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
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.
session with the tab already visited. On Desktop, quit from the tray./dsh-startup/* — expected: those routes only trust loopback requests
carrying the host's trust marker.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)
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
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.