Preface¶
DeepSeek Harness (CLI name dsh) treats models, tools, sessions and interfaces all as plugins. The official repository deepseek-ai/deepseek-harness uses the slogan “Everything is a Plugin”: you change capabilities via configuration, not framework source code. It is currently in developer preview, with the default Web UI running in a local browser.
The web session page already supports viewing conversations and traces, but its title bar is static. When the model is thinking, tools are running, or a round just finished, there is usually no extra feedback on the right side of the title bar. The community plugin dsh-ui-whale was made exactly for this purpose: it places a fully hand-drawn pixel whale permanently on the session title bar, which blinks, wags its tail, spouts water and sleeps in response to session snapshots, without modifying the core code of DeepSeek Harness.
This article is organized after cross-checking against the plugin directory page, GitHub README / INSTALL.md / package.json / LICENSE, and the official DeepSeek Harness repository. The community directory deepseek-harness-plugin.com is an independent site for discovering and installing community plugins, and has no official affiliation with DeepSeek / HyperGAN. Do not treat it as an official app store.
What is this¶
dsh-ui-whale is a UI enhancement plugin maintained by GitHub user lhh010, with the repository address lhh010/dsh-ui-whale. Its npm package name is @dsh-external/dsh-ui-whale, and the current version in package.json is 0.3.3. The main language is TypeScript, and the license is BSD-3-Clause. It was included in the community directory on 2026-08-15 under the “UI Enhancement” category. As of 2026-08-17, GitHub API shows 29 stars for the repository; the directory page listed 30 at the time, so refer to the repository page for the accurate count.
The positioning in the README is very specific: it is a permanent pixel whale companion for the DSH Web UI. The little whale is attached to the session title bar (right side of the title row), and reacts in real time to session snapshots. The repository repeatedly emphasizes zero core modifications. The client metadata in package.json specifies platform: 'web', and injects @deepseek-ai/dsh-client-locale, @deepseek-ai/dsh-client-runtime, and @deepseek-ai/dsh-client-ui-conversation. It uses the slot conversation.session.header.actions declared by the official ui-conversation package, without creating a separate UI system.
It also clearly states its capability boundaries. The “Model Experience” section of the README says “None”: it is purely a browser-side UI presentation, does not participate in model requests, does not add prompt content, and does not modify any tool schemas. The installation instructions further label it as a pure client-side plugin package (the Node half is empty), and installation only does two things: wrap it into the configuration tree, and add one line to the configuration.
Core Features¶
The repository divides the whale’s states into several categories, all derived from session snapshots, rather than having the model “act” as the whale.
- Idle (normal state). Blinks approximately every 5 seconds; wags its tail approximately every 11 seconds, with the frame sequence looping back and forth as
0-1-2-3-4-3-2-1-0; moves its pectoral fins approximately every 7 seconds, with the frame sequence0-1-2-1-0. These actions occur occasionally, not continuously. - Thinking / Running / Working. The tail keeps wagging, the pectoral fins keep flapping, and blinks more frequently. The state comes from
running, partial inference, and running tools in the session snapshot. The animation engine is a pure tick state machine insrc/client/animation.ts. - Round completed. Sprays water from the top of its head to celebrate. The water spray rises and disperses in a one-way sequence
0-1-2-3-4-5-6, with no reverse playback, and ends after the spray finishes. - Click interaction. When the whale is clicked, a pink heart appears in the top-left corner, grows from small to large, then disappears, with a one-way frame sequence
0-1-2-3-0. Other actions continue normally during this period; clicking again will restart the small heart animation. - Sleeping. Falls asleep after 10 consecutive seconds of idleness. A gray “Z” above its head cycles in the sequence
0-1-2-3-4-5-1-2-3-4-5-1-…: stays still at frame 0 once, then rises, shrinks, and fades repeatedly. The fins and tail will still move while sleeping; it will wake up immediately if thinking, working, running, or spraying water is triggered.
The art implementation is also documented in the README, with no extra packaging. The assets are 22 frames of hand-drawn pixel art, on a 25×40 grid canvas, with a 7-color palette (dark blue #203864, body blue #0066FF, light blue #B4C7E7, white #F2F2F2, pink #CC3399, gray #808080 for sleep Zs). Rendering uses layered CSS box-shadow pixel art, with separate layers for the body, eyes, tail, pectoral fins, water spray, heart, and sleep Z; animations are done by switching styles on a fixed DOM tree, without modifying layout frame by frame. The layers are automatically derived from frame data, and the poses are restored pixel by pixel via test pinning. Demo GIFs and full videos are in the docs/ directory of the repository.
Installation and Activation¶
The installation command given on the directory page can be run in the DeepSeek Harness terminal:
dsh plugin add github:lhh010/dsh-ui-whale
The dsh CLI will pull the plugin from GitHub and add it to the current configuration. The directory page also reminds users: for reproducible installations, pin the commit hash using the syntax:
dsh plugin add github:lhh010/dsh-ui-whale#commit
Replace the trailing commit with the actual hash. Do not construct the installation string manually using the plugin name; follow the command as given on the directory page.
The repository README / INSTALL.md supplements the web profile channel for existing users running the dsh web snapshot. The default version v0.3.3 targets snapshot0810 (snapshots/20260810T155924Z), and notes compatibility with snapshots from snapshot0807 through the final snapshot snapshot0812, as well as npm releases @deepseek-ai/dsh@0.0.1-rc.5 (dist-tag next) and @deepseek-ai/dsh@0.0.1-rc.2. Users on snapshots 0806–0809 are advised to pin to #v0.3.2, and users on 0805 should use #v0.1.0 with the old installation method.
The full steps for the profile channel are:
git clone https://github.com/lhh010/dsh-ui-whale.git
cd dsh-ui-whale && pnpm install
dsh plugin --profile web add link:/path/to/dsh-ui-whale
You can also pin the tag directly:
dsh plugin --profile web add '@dsh-external/dsh-ui-whale@github:lhh010/dsh-ui-whale#v0.3.3'
The configuration line should be added to $DSH_HOME/profiles/web/cordis.patch.yml. Profiles starting from 0806 support hot reloading, so you do not need to restart to apply this change:
- insert:
- id: dsh-ui-whale
name: '@dsh-external/dsh-ui-whale'
There is also a registry channel: this requires DSH to have integrated the plugin-registry and for dsh registry to be available. The commands are dsh registry install /path/to/dsh-ui-whale (or the packaged dsh-ui-whale.tgz), followed by dsh registry enable @dsh-external/dsh-ui-whale. The README notes that the registry channel is mutually exclusive with the official profile channel; do not enable both. Users on the old 0805 snapshot should still modify ~/.dsh/config.yaml and run pnpm add -w link:, see the repository INSTALL.md for details.
The prerequisites are also listed in the installation documentation: you must have a built DSH snapshot on your local machine (with ~/.dsh/source/current pointing to a snapshot containing the lib/ build artifacts), and dsh web must be running. This is a Web UI client plugin; installing it on a headless configuration will not display the whale.
Typical Usage¶
After installation, you do not need to issue commands to the model, and there are no extra slash commands. Open the web UI session page and check if the pixel whale appears on the right side of the title bar. The validation criteria given in INSTALL.md are:
- Blinks when idle, occasionally wags its tail and moves its pectoral fins
- Keeps its tail wagging and pectoral fins flapping when the model is thinking or tools are running
- Sprays water from the top of its head when a round completes (one-way sequence 0-1-2-3-4-5-6)
- Shows a pink heart that grows from small to large then disappears when the whale is clicked (one-way sequence 0-1-2-3-0)
- Falls asleep after ~10 consecutive seconds of idleness, with a gray Z appearing above its head; wakes up immediately upon any activity
The README also provides a developer-focused verification path: after starting dsh web, the browser’s window.__DSH_BOOT__ manifest should include @dsh-external/dsh-ui-whale, and /plugins/@dsh-external/dsh-ui-whale/client.js should return 200. The maintainer notes that real-world boot validation was done on the baseline of snapshot0809–0812 and npm rc.5. After modifying the source code locally or upgrading the snapshot, the host starting from 0809 will validate the client build artifacts, and will throw ClientPackageCompositionError and refuse to start dsh web if they are missing, requiring you to run pnpm run build again.
The repository includes development commands to verify that animations and registration work correctly:
pnpm install
pnpm build
pnpm typecheck
pnpm test
pnpm test runs Vitest, covering frame consistency, animation sequences, and plugin registration. The README notes that 34 unit tests pass on the 0811 / final snapshot baseline. These are the test instructions from the repository documentation, not third-party evaluations.
Applicable Scenarios and Notes¶
This is suitable for users already using the DeepSeek Harness Web UI who want more real-time status feedback in the session title bar. It does not provide new tools, modify prompts, or interfere with Agent loops; it only translates existing session snapshot data like running / idle / round complete into pixel animations on the title bar. If you mainly use headless or TUI modes, this plugin has no UI to attach to.
Please note the following points.
1. Platform restriction to Web: package.json’s dsh.client.platform is 'web', and the slot depends on the official ui-conversation package. There are many similar UI enhancement plugins in the directory, such as sidebars, themes, and TUIs, with different positioning; this plugin only handles the whale on the title bar.
2. Version alignment with DSH snapshots: The default v0.3.3 moved the client metadata from the top-level dshClient to the nested dsh.client field, because the 0810 ClientModuleHostService only reads the latter, and the top-level field will be silently discarded, resulting in “successful startup but no plugins loaded”. Older 0805 users still need to use the old installation path. Check the version table in the repository README before installing, and do not assume that the latest version will match your snapshot.
3. The plugin runs with the permissions of the current dsh process, and may execute code during installation. Both the directory page and the skill requirements emphasize: check the source code repository and license before installing; pin the commit hash for reproducible installations. This plugin uses the BSD-3-Clause license, with the copyright notice Copyright (c) 2026, lhh010. package.json marks the package as private: true, so daily installations use GitHub / link paths instead of treating it as a public npm package.
4. The community directory is not an official store. Candidates are sourced from GitHub topics and the ecosystem registry, and the site has no affiliation, endorsement, or sponsorship relationship with DeepSeek / HyperGAN. It also does not host plugin code. Entries marked “Verified” have been manually checked; unmarked entries are automatically filtered, and do not represent endorsement.
Summary¶
dsh-ui-whale adds a 22-frame hand-drawn pixel whale to the title bar of DeepSeek Harness web sessions: it blinks and wags its tail when idle, moves continuously when working, sprays water when a round completes, shows a heart when clicked, and falls asleep after 10 consecutive idle seconds. It does not modify core code, does not participate in model requests, and only consumes session snapshots. The current default version is v0.3.3, maintained by lhh010, with the BSD-3-Clause license.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-ui-whale/
GitHub: https://github.com/lhh010/dsh-ui-whale