Adds selectable animated skins to the "Deep diving..." status row, with configurable size and optional status-text replacement.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/skymecode/dsh-deep-diving/releases/download/v0.1.0/dsh-deep-dive-skins-0.1.0.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:skymecode/dsh-deep-diving
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
An animated blue whale maid for the DeepSeek Harness Web GUI's Deep diving… status row. She thinks, runs, builds a snowman and more, changing actions throughout the same turn. Four vector skins remain available.
Preview

Real sprite frames, not a browser screenshot. Run pnpm preview for a live
preview with the release bundle and actual settings card over a simulated
Host scope. Start/end a turn, change settings and test plugin unloading there.
Features
- Default
whale-maid: eight transparent, 100-frame animations, 10fps each. - Continuous rotation within one turn: think → run → snow → wave → code → bubbles → dance → idle. Default interval: 10 seconds (adjustable to 60).
- Turn rotation off to loop one action.
randomchanges the skin at each interval without repeating the previous skin. - Existing
whale,dafeiyu,catgirl, andmermaidvector skins retained. - Live settings: enable/disable, skin, size (14–96px), first action, rotation, interval and optional localized status text.
- Handles both
Deep diving...and the current Chinese深度求索中...row. - Reduced motion stops animation/rotation; hidden tabs pause. Turn completion and unloading clean up timers, observers, listeners and changed text.
- Reuses dsh-pet's working-whale marker to avoid stacked ornaments, restoring displaced ornaments on disable. No Harness source patch or pet server needed.
- Sprites are bundled locally: no runtime requests to GitHub/CDNs.
Install / upgrade
Install the GitHub Release tarball (npm publication is not required):
dsh plugin --profile web add https://github.com/skymecode/dsh-deep-diving/releases/download/v0.2.1/dsh-deep-dive-skins-0.2.1.tgz
Use your own profile name if it is not web. Restart dsh web and refresh the
page after upgrading. Existing settings are preserved: choose Blue whale
maid, enable Continuous rotation, and set 48–64px if you previously
saved a vector skin or a smaller size.
Development install:
git clone https://github.com/skymecode/dsh-deep-diving.git
cd dsh-deep-diving
pnpm install --frozen-lockfile
pnpm build
dsh plugin --profile web add link:$(pwd)
Compatibility
Current SDK/type-check baseline: official
dsh-v0.1.5-rc.2,
the newest release checked on 2026-09-13. Peer ranges accept the 0.1.5
alpha/RC line, including 0.1.5-rc.1 (the npm latest channel at that time),
and retain 0.1.3-alpha.2, 0.1.2-rc.1, 0.1.1-rc.2, 0.1.1-rc.1,
0.1.0-rc.8 and 0.1.0-rc.7.
- Settings cards register using
key: 'deep-dive-skins'onsettings.plugin.item; no list-slotid/order. - No dependency on the removed
dsh-client-runtimebrowser module or the removed hostinstallSettingsSection/settingsNamespaceexports. - Host registers through
ctx.settings.register; the client uses the shared scopeset/unsetcontract with read-back. It does not confuse legacy{field}batch operations with modern{path}operations. - Uses
settingsScopenormally, with the legacywebUiSettingsbinder when installed. Existing settings continue to work; new fields have defaults.
Automated checks exercise the built factory, both binder contracts, the real React form, current SDK host registration and DOM lifecycle. The 28 unit tests also check the installed SDK version, the turn's one-second elapsed-clock updates and conversation switching. Host registration/unload was rechecked with the published 0.1.1-rc.2 provider module.
The release-bundle preview is browser-tested with Tabbit (simulated Host storage), including animation, settings and lifecycle behavior. This is not a full end-to-end conversation test on every historical Harness version.
Settings
| Field | Values / default |
|---|---|
| Enable plugin | On |
| Skin | whale-maid / whale / dafeiyu / catgirl / mermaid / random |
| Ornament size | 14–96px, default 48 |
| Starting action | think / run / snow / wave / code / bubbles / dance / idle |
| Continuous rotation | On; off still loops the selected animation |
| Rotation interval | 10–60 seconds, default 10 |
| Replace status text | Off; when on, follows the UI language |
Development
pnpm typecheck
pnpm test # behavior, settings writes, keyed registration, peer ranges
pnpm build # declarations + host ESM + lazy browser factory
pnpm test:bundle # shipped bundle + React settings + real Host SDK provider
pnpm test:assets # alpha, frame dimensions, animation and size budget
pnpm preview # local interactive release-bundle preview
scripts/import-whale-maid.mjs reproduces sprites from pinned upstream videos
(requires ffmpeg with libvpx-vp9 and PNG support; existing outputs are skipped).
node scripts/build-asset-preview.mjs regenerates the frame contact sheet.
Sprites use CSS steps(100) and a single rotation timer per mounted plugin.
The ~4MB browser factory includes all eight sprites to work with old and new
loaders without static-asset URL assumptions.
Asset source and licenses
The matching blue-haired whale-maid animations were found in
PC2005-cloud/dsh-pet
and converted from transparent VP9 videos into compact WebP sprite strips.
No user-uploaded screenshot is distributed in the plugin.
Important: upstream assets allow open-source use but prohibit commercial use. This restriction applies to the bundled whale-maid images and embedded copies; they are not Apache-2.0 assets. See asset attribution and terms and contact the upstream author for commercial permission.
Plugin code is Apache-2.0. Vendored build/card files retain their dsh-web-ui provenance; see file headers and LICENSE.
Links
More in this category
Small-tailqwq/dsh-deep-whale#maid-atelier★ 2433
Whale-girl skin series for the DSH Web UI (maid-atelier).
elysia395/dsh-wallpaper-engine★ 683
Requires DeepSeek Harness 0.1.5-rc.1+ (DSH Desktop >= 2.0.7) and dsh-better-sidebar >= 0.19.0 - update both before installing or updating this plugin. Plays local Wallpaper Engine Video/Web wallpapers behind the chat, renders Scene wallpapers as extracted static frames, and adds content-rating/type filters, custom uploads and an iOS-style liquid-glass settings window.
d-dev0101/open-sea-skin★ 387
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 237
Adaptive reasoning slider skin that maps each model's available reasoning efforts onto a 0–30 visual intensity scale, with synchronized portraits, background, and interface colors.
RevolutionLA/dsh-dream-skin★ 208
One-command skin plugin: 8 original themes, translucent wallpaper with opacity/blur, per-user accent, and shareable theme-pack import/export, favorites and surprise-me — purely native on DSH's token system.
ymh0000123/dsh-theme-endfield★ 127
Arknights: Endfield industrial-editorial theme for the DSH Web UI: cream paper, ink text, zero border radius, two switchable accent palettes (signal yellow / teal-cyan), plus optional marching-squares contour background, ENDFIELD watermark and boot progress plate.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.