dsh-whale-companion
Whale Companion
以本地优先为核心的 DSH 鲸鱼世界,配有 ImageGen 栅格伙伴、动态目标、收藏品、远征和注重隐私的分享功能
插件会安装到这里;不确定时保持 web。
npx -y @deepseek-ai/dsh plugin --profile web add github:LeemanCheung/dsh-whale-companion#6b5152ec68136e486d4fc86558d386173fff1044


dsh-whale-companion
以本地优先为核心的 DSH 鲸鱼世界,配有 ImageGen 栅格伙伴、动态目标、收藏品、远征和注重隐私的分享功能
插件会安装到这里;不确定时保持 web。
npx -y @deepseek-ai/dsh plugin --profile web add github:LeemanCheung/dsh-whale-companion#6b5152ec68136e486d4fc86558d386173fff1044



Whale Companion 以 dsh-whale-companion 发布,当前版本为 2.6.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。
English | 中文
A local-first DSH whale world. Privacy-safe session metadata becomes a draggable companion, 20 unlockable whale spirits, visible tides, a personal sea cove, gentle expeditions, and opt-in local whale-circle cards.
Version 2.6.0 targets DSH 0.1.2-rc.1. It retains the existing name, appearance, position, progress, collectibles, room presets and ImageGen species atlas. Background write failures cannot interrupt the DSH session; the affected progress update may be missed, and later updates remain accepted. Explicit user saves still report failure. Session flush and plugin shutdown wait for already accepted writes before the domain closes.
The selected minke now breaches through a fixed ink waterline, arches and dives back under it. The white-bellied silhouette uses 24 selected ImageGen drawings and 72 raster in-betweens: 96 frames at 40 fps in a 2.4-second loop. Both system and in-product reduced motion select the matching PNG still. The original Dive/Classic status animations are not replaced. See the design, full prompts and source record.
White-bellied ink whale breach preview
The GIF is a compatibility preview; format and browser timing limits apply. The plugin and native WebP use uniform 25 ms frame timing.
| Whale Home | Whale atlas |
|---|---|
| Whale Companion overview | Whale Companion atlas |
Whale Companion skins, achievements, and local backup
Unedited captures from a live local DSH Web session. Progress reflects that session; appearance follows the active DSH theme and viewport.
shell.overlay whale supports pointer drag, keyboard movement, edge snapping, persisted viewport-safe placement, and one shared five-second local refresh. New tide moments appear in a bounded visible bubble; only milestones are announced to screen readers.session/created, user/message, and tool/result metadata drives bounded local tide moments. Repeated tool results still count toward legacy XP, but cannot farm tide moments, collectibles, or expedition progress.Turns grant 10 XP, tool results grant 5 XP, and session starts grant 20 XP. Only user/message counts as a turn. Levels derive from XP, and streaks use UTC session-start dates. Missing days never remove progress or collectibles.
The Host reads only session id, event sequence, event type, and timestamp. It never reads, stores, exports, or renders prompt text, assistant output, code, paths, tool arguments, or tool results.
New in-memory receipt digests use an HMAC key that never leaves the Host process. The durable receipt window is capped at 4,096 records, so it prevents recent duplicate live delivery, not permanent replay across Host restarts. Backups intentionally contain no receipt digests, session ids, or event data. PNG postcards and community cards are generated locally and contain only the documented safe fields.
Install directly from GitHub into the DSH Web profile:
dsh plugin --profile web add github:LeemanCheung/dsh-whale-companion
Restart the existing DSH Web process and refresh its page.
This plugin adds no model prompt, tools, messages, token usage, or KV-cache content. It observes committed session event metadata on the Host and exposes browser UI only.
Progress lives in one DSH storage backend and does not synchronize across devices. The overlay polls every five seconds because the current host Remote event allowlist has no package-local whale-state push route. Whale-circle cards are intentionally local import/export only; a hosted community requires a separately owned, authenticated, and moderated transport provider.
From the repository root run:
python -m pip install -r requirements-art.txt
corepack pnpm typecheck
corepack pnpm verify:minke:rebuild
corepack pnpm verify:minke
corepack pnpm verify:species:rebuild
corepack pnpm test
corepack pnpm build
corepack pnpm pack:check
The art pipeline is pinned to Python 3.12, NumPy 2.3.3, and Pillow 12.3.0. corepack pnpm art:minke rebuilds the transparent sprite; corepack pnpm art:species normalizes the checked-in ImageGen 20-species atlas. The production client embeds both raster assets and contains no runtime vector whale drawing.
Visual snapshot baselines are maintained on Ubuntu in CI. Other platforms still run the interaction, motion, reduced-motion, and narrow-layout assertions, but do not create release-candidate screenshot baselines.
MIT. See LICENSE.