DeepSeek Harness (DSH) adopts a modular design, and its Web GUI is relatively minimal. When developing or debugging an Agent, real-time feedback on its runtime state is a common requirement. The dsh-whale-pet plugin injects a React component through the official shell.overlay slot and displays a whale girl in the bottom-right corner of the interface, switching animations according to Agent states and playing voice lines.

Features

The plugin manages the whale girl’s behavior with a state machine to ensure accurate feedback and engaging interaction.

  • State-machine driven: Supports five states—working (working), waiting (waiting for interaction), completed (task completed), celebrate (celebrating), and idle (idle)—switching animations in real time according to the Agent’s runtime state.
  • Task-completion edge detection: Plays a celebratory voice line when a task completes; logic control ensures it plays only once, avoiding repeated spam (selected from 10 random voice lines).
  • Interactive feedback: Plays a “Xiaoi” voice greeting on first appearance; clicking the whale girl plays a random cute voice line.
  • Zero-intrusion integration: Uses the official global standard useSessions hook and the shell.overlay slot, without modifying the application DOM.
  • Practical utilities: The whale girl can be dragged to reposition; a mute/unmute toggle is located in the upper-right corner.
  • Local assets and accessibility: All assets are loaded locally through the host’s static routes, with no external requests and no telemetry. It also respects prefers-reduced-motion and reduces animations.

Installation and Activation

Installing the plugin requires manual handling of file paths and configuration files. It takes effect after restarting the Web service.

  1. Copy the plugin directory to the host-configured out-of-tree plugin directory:
    $DSH_HOME/profiles/node_modules/dsh-whale-pet/
  1. Edit the current Profile’s package.json and append "dsh-whale-pet" to the end of the dsh.profile.bundles array:
    {
      "dsh": {
        "profile": {
          "bundles": [
            "@deepseek-ai/dsh-base",
            "@deepseek-ai/dsh-web-app",
            "dsh-whale-pet"
          ]
        }
      }
    }
  1. Restart the dsh web service. Changes to the plugin set usually require a service restart to be loaded; after restarting, refresh the page to see the whale girl in the bottom-right corner.

Assets and Licensing

This plugin does not include self-designed artwork or voice materials. All assets are sourced from community open-source projects.

  • Character art: Sourced from the DeepSeek community open-source project dsh-whale-musume (MIT License).
  • Voice: Sourced from the community project aceice01/dsh-whale-pet, including “Xiaoi” neural network voice clips. This asset is licensed for non-commercial use only and is limited to local non-commercial demonstrations.

Use Cases

This plugin is suitable for developers who want richer visual feedback in the DSH Web GUI. With simple configuration, it visualizes an Agent’s runtime state as a tangible interactive object, making it suitable for everyday development companionship or demo scenarios.

Conclusion

dsh-whale-pet demonstrates the extensibility of plugin development in the DSH ecosystem. Through standardized Hook and Slot interfaces, it enables non-invasive UI enhancement. For more details and source code, refer to the plugin directory or GitHub repository.