Passer au contenu principal
E

dsh-whale-pet

er1c0v0/dsh-whale-pet

An unofficial whale-girl desktop pet for the DeepSeek Harness Web UI.

Installer

dsh plugin --profile web add github:er1c0v0/dsh-whale-pet

README

dsh-whale-pet

简体中文

A whale-girl desktop pet plugin for the DeepSeek Harness Web UI.

IdleHover waveWorkingComplete
Idle animationHover waveWorking animationReady animation

Highlights

  • Mirrors five Harness states: idle, working, needs input, complete, and blocked.
  • Hugs a DeepSeek-whale-inspired pillow while idle, falls asleep after 40 seconds, startles awake, and plays one friendly three-pose wave when hovered or focused.
  • Shows privacy-safe activity summaries from Harness presentation metadata in bubbles that choose an on-screen position around the pet without covering the character.
  • Supports dragging, keyboard movement, position reset, collapse/restore, reduced motion, English, and Simplified Chinese.
  • Uses the official shell.overlay slot without patching Harness or scraping UI text.

Install

Requires Node.js 22.19+ or 24+ and DeepSeek Harness 0.1.0-rc.6.

dsh plugin --profile web add dsh-whale-pet@0.1.0
dsh --profile web --dump-config
dsh --profile web

The dump should contain exactly one dsh-whale-pet entry. The pet appears at the bottom-right of the Web UI.

To uninstall:

dsh plugin --profile web remove dsh-whale-pet
dsh --profile web --dump-config

State mapping

PrioritySession conditionPet state
1RemovedBlocked
2Approval, plan review, or question pendingNeeds input
3RunningWorking
4Explicit open, agent, or prompt errorBlocked
5A running session stops successfullyComplete for 1600 ms
6No session, cold/loading, or settledIdle

Development

pnpm install --frozen-lockfile
pnpm check
pnpm test:visual
npm pack
node scripts/smoke-harness.mjs --package ./dsh-whale-pet-*.tgz

Idle assets, frame order, and interaction timing have one source of truth in src/client/idle-animation.json. pnpm assets:check enforces the 700,000-byte runtime WebP budget; the current set uses 679,044 bytes, so review asset size before adding more artwork.

See CONTRIBUTING.md for artwork and verification rules.

Privacy and licenses

The plugin reads only current-session status and provider-declared presentation metadata. It does not read tool arguments, prompts, model reasoning, or conversation text, and it makes no analytics requests. Preferences stay in browser-local storage.

Code is licensed under MIT. Artwork is licensed under CC BY 4.0; provenance and hashes are recorded in ASSET_ATTRIBUTION.md.

Plugins associés