dsh-whale-pet
A whale-girl desktop pet plugin for the DeepSeek Harness Web UI.
| Working | Complete |
|---|---|
![]() |
![]() |
Highlights
- Mirrors five Harness states: idle, working, needs input, complete, and blocked.
- Shows privacy-safe activity summaries from Harness presentation metadata.
- Supports dragging, keyboard movement, position reset, collapse/restore, reduced motion, English, and Simplified Chinese.
- Uses the official
shell.overlayslot 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
| Priority | Session condition | Pet state |
|---|---|---|
| 1 | Removed | Blocked |
| 2 | Approval, plan review, or question pending | Needs input |
| 3 | Running | Working |
| 4 | Explicit open, agent, or prompt error | Blocked |
| 5 | A running session stops successfully | Complete for 1600 ms |
| 6 | No session, cold/loading, or settled | Idle |
Development
pnpm install --frozen-lockfile
pnpm check
pnpm test:visual
npm pack
node scripts/smoke-harness.mjs --package ./dsh-whale-pet-*.tgz
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.


No comments yet. Be the first to write one.