gooosie
dsh-whale-bg
Unofficial DeepSeek Harness particle-whale background plugin with cursor lighting and theme support.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-whale-bg
English | 简体中文
An unofficial DeepSeek Harness Web UI background that rebuilds the DeepSeek fish silhouette as a swarm of varied-size particle tiles.
This is a community project. It is not affiliated with, maintained by, or endorsed by DeepSeek. The fish geometry is reused from the MIT-licensed DeepSeek Harness repository; see THIRD_PARTY_NOTICES.md.
Features:
- Entrance — particles assemble from a scattered state into the whale
- Idle swimming — edges stay loose, the tail carries a travelling wave
- Hover — a radial mouse push with cubic falloff + per-tile angle noise
- Flashlight lighting — the light hugs the cursor: the whale is nearly invisible until the mouse comes near, then brightens inside a small radius
- Themes — light (multiply blend, deep blue) and dark (screen blend, glow)
- 30 FPS rendering to keep the decorative layer inexpensive
Compatibility
Developed and tested against @deepseek-ai/dsh@0.1.0-rc.6 on its Web profile.
DeepSeek Harness is still in developer preview, so future releases may require
plugin changes.
Install
Requires a DSH installation with the dsh CLI. DSH's web command always
boots the profile named web, so install this plugin into that profile.
# from a local checkout
dsh plugin --profile web add /absolute/path/to/dsh-whale-bg
# from npm once published
dsh plugin --profile web add dsh-whale-bg
Then start or restart the Web UI:
dsh web
The dsh.bundle patch inserts the whale-bg row and the dsh.client
declaration mounts the browser half as /plugins/dsh-whale-bg/client.js.
Verify the composed configuration with dsh web --dump-config.
Remove:
dsh plugin --profile web remove dsh-whale-bg
Development
npm ci
npm run build # tsdown -> lib/index.js (ESM host) + wrapped lib/client.js
npm test # validate manifests, entries, DSH handoff, injection, and theme API
npm run check # strict types + clean build + package verification
npm run watch
Publish
npm run check
npm publish
The prepare script builds from source for npm packaging and git installs.
Structure
dsh-whale-bg/
├── package.json # dsh.bundle (patch) + dsh.client (web module) manifests
├── cordis.patch.yml # inserts the whale-bg composition row
├── tsdown.config.ts # ESM host bundle + CJS client bundle
├── scripts/ # package-level regression verification
├── README.zh.md # Simplified Chinese documentation
├── THIRD_PARTY_NOTICES.md
└── src/
├── index.ts # no-op host entry (enables the Loader entry / scan)
└── client.ts # the whole whale background plugin
Tuning
All knobs live in src/client.ts:
| Knob | Location | Default |
|---|---|---|
| Particle density | SAMPLE_SIZE, MODEL_STEP | 60, 0.18 |
| Whale size / position | computeLayout | ≤720×540, center |
| Flashlight radius | lightDistance / 7 | 7 model units |
| Idle visibility floor | light = 0.05 + … | 0.05 |
| Mouse push radius | distance < 4.9 | 4.9 model units |
| Frame rate | 1000 / 30 | 30 FPS |
Contributing and license
Contributions are welcome; see CONTRIBUTING.md. Project code is available under the MIT License. Third-party notices and the non-affiliation statement are in THIRD_PARTY_NOTICES.md.