Skip to main content
G

dsh-whale-bg

gooosie/dsh-whale-bg

Unofficial DeepSeek Harness Web UI particle-whale background with cursor lighting, idle swimming, and scroll-aware fade.

Install

dsh plugin --profile web add github:gooosie/dsh-whale-bg

README

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.

Animated preview of the dsh-whale-bg particle effect

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

Install the dsh CLI by following the DeepSeek Harness instructions. Then install the published plugin into DSH's Web profile:

dsh plugin --profile web add dsh-whale-bg@0.1.0
dsh web

To install from a source checkout instead:

git clone https://github.com/gooosie/dsh-whale-bg.git
cd dsh-whale-bg
npm ci
npm run check
dsh plugin --profile web add .
dsh web

DSH's web command always boots the profile named web, so the plugin must be installed into that profile. When installing from source, DSH links to the checkout; do not move or delete that directory while the plugin is installed.

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

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:

KnobLocationDefault
Particle densitySAMPLE_SIZE, MODEL_STEP60, 0.18
Whale size / positioncomputeLayout≤720×540, center
Flashlight radiuslightDistance / 77 model units
Idle visibility floorlight = 0.05 + …0.05
Mouse push radiusdistance < 4.94.9 model units
Frame rate1000 / 3030 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.

Related plugins