Bundle
dsh-whale-pet
An unofficial whale-girl desktop pet for the DeepSeek Harness Web UI.
- Source
- Er1c0v0
- stars
- 5 stars
- License
- MIT
- Updated
- Updated 40 minutes ago
Readme
# dsh-whale-pet [简体中文](./README.zh-CN.md) A whale-girl desktop pet plugin for the [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) Web UI. | Idle | Hover wave | Working | Complete | |:---:|:---:|:---:|:---:| |  |  |  |  | ## 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. ```bash 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: ```bash 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 ```bash 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](./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](./LICENSE). Artwork is licensed under [CC BY 4.0](./LICENSES/CC-BY-4.0.txt); provenance and hashes are recorded in [ASSET_ATTRIBUTION.md](./ASSET_ATTRIBUTION.md).
Install
dsh plugin --profile web add github:Er1c0v0/dsh-whale-pet
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-whale-pet from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.