Skip to content

cakeni/harness-pet

51Last commit Aug 14, 2026

harness-pet DSH plugin

Harness Pet is an open-source, native DSH web plugin that renders a pixel whale inside the Harness page. It responds to structured session signals, displaying visual states like thinking, working, searching, and more. The plugin also includes a conversation card, drag-and-drop positioning, and an optional always-on-top desktop window.

How to install the harness-pet DSH plugin

dsh plugin --profile web add github:cakeni/harness-pet

Copying does not run this command. Review the repository and version before installing the harness-pet DSH plugin.

harness-pet DSH plugin data source

harness-pet DSH plugin snapshot date: Aug 16, 2026

discovered

What the harness-pet DSH plugin can do

  • Nine visual states: idle, thinking, working, searching, bash, editing, waiting, error, success.
  • Conversation card showing latest user prompt, live/final Harness reply, and progress.
  • Draggable, viewport-clamped position saved in localStorage with size, opacity, and reduced-motion controls.
  • Optional Chromium desktop-window mode using Document Picture-in-Picture.
  • Instant language switching between English, Simplified Chinese, Japanese, and Korean.
  • Debug state override and automatic state cycling for testing.

Where the harness-pet DSH plugin fits

  • Enhancing the visual experience of DeepSeek Harness with a companion pet that reacts to session state.
  • Quick visual feedback on the assistant's current activity (thinking, searching, editing, etc.).
  • Keeping the pet visible in a separate always-on-top window while focusing on other tasks.
  • Easy follow-up prompts via the conversation card's input without switching tabs.
  • Learning DSH plugin development patterns from the open-source codebase.

Who the harness-pet DSH plugin is for

  • DeepSeek Harness users who want a fun, non-intrusive visual companion.
  • Developers interested in understanding how to build and structure DSH web plugins.
  • Users who prefer visual feedback on session state rather than relying solely on text logs.

harness-pet DSH plugin limitations

  • Only verified to work with Harness 0.1.0-rc.6; later 0.1.x prereleases are unverified and the client API may change.
  • Browser extension mode is unsupported; the plugin is a native DSH plugin and requires the Harness web client.
  • Desktop window mode requires Chromium 116+ with Document Picture-in-Picture support; unsupported browsers disable the control.
  • Pre-1.0 Harness releases may rename tools, causing unknown tool names to degrade to the 'working' state instead of a specific state.
  • The plugin is an unofficial community project, not affiliated with, endorsed by, or maintained by DeepSeek.

harness-pet DSH plugin: from the repository README

Quoted from the cakeni/harness-pet README, the upstream source of the harness-pet DSH plugin. Copyright remains with the original authors.

> A tiny whale that lives inside DeepSeek Harness. **This is an unofficial community project. Not affiliated with, endorsed by, or maintained by DeepSeek. DeepSeek and related marks belong to their respective owners.** ![Harness Pet animation states](./assets/whale/whale-animation-v6-contact-sheet.png) ```sh dsh plugin --profile web add github:cakeni/harness-pet ``` [中文说明](./README.zh.md) Harness Pet is an open-source, native DSH web plugin—not a browser extension. It renders an original pixel whale inside the Harness page and reacts to structured session signals exposed by the official client runtime. ## Features - Nine visual states: idle, thinking, working, searching, bash, editing, waiting, error, and success. - A QA-validated 8×9 atlas with fixed 192×208 cells: calm idle, directional drag movement, wave/click, connected water-spout success, red-hot fault/error, waiting, active work, and magnifying-glass search animations. - A Codex Pet-style card above the whale showing the latest local user prompt, live/final Harness reply, and progress; long streams follow the newest text while remaining scrollable, and displayed text is never persisted. - Dragging uses dedicated left

Read the full READMERepository license: MIT

harness-pet DSH plugin questions

How do I install Harness Pet?

Make sure you have Harness 0.1.0-rc.6 and pnpm on your PATH. Then run `dsh plugin --profile web add github:cakeni/harness-pet`. After installation, restart the `dsh web` process so the plugin roster is updated. You can also use a local link installation for development: run `dsh plugin --profile web add link:../harness-pet` from the parent directory of the repository.

Does Harness Pet collect my data or send telemetry?

No. Harness Pet makes no independent fetch, analytics, telemetry, cloud-sync, or third-party requests. It reads only the minimum structured fields needed to display the latest user prompt and Harness reply. Conversation text is never persisted. Only settings are stored in browser localStorage, and no browser permissions are requested.

How do I switch the language of the plugin interface?

Open the settings panel (double-click, long-press, or gear button). Choose 'Language' from the settings menu. The plugin supports English (default), Simplified Chinese, Japanese, and Korean. The change is instant and persisted across sessions.

Can I use the desktop window mode to keep the pet visible while minimizing Harness?

Yes, if you are using Chromium 116+ and the browser supports Document Picture-in-Picture. Enable 'Open Floating Pet' in the settings. The pet will appear in an always-on-top window. The main Harness window can be minimized, but the Harness tab and browser process must remain open. On unsupported browsers, the control is disabled.

How does Harness Pet detect the current session state?

The plugin subscribes to the structured `ctx.sessions` list and `SessionFace` snapshot. It also observes `ctx.connection.hostDescription` to detect reconnection. It never matches translated UI text or scrapes the DOM. The state priority is: error > success > waiting > searching/bash/editing > working > thinking > idle. Unrecognized tool names degrade to the 'working' state.