Introduction

The Web GUI architecture of DeepSeek Harness (DSH) emphasizes plugin-based and lightweight design. For developers, a visual interactive object can serve not only as feedback for status monitoring, but also provide a sense of intuitive companionship when running Agent tasks for extended periods. totoro-pet is a DSH plugin designed for this purpose. It provides a persistent chibi-style Totoro in the Web interface, enhancing the visual liveliness of the UI through interactive pet raising and status feedback.

Plugin Overview

totoro-pet is a desktop pet plugin for the DeepSeek Harness Web GUI. It provides a floating chibi-style Totoro and supports interactive pet-raising features such as feeding, petting, playing, and sleeping. The plugin is maintained by Lucasli2018 and is released under the MIT License.

Core Features

The plugin mainly includes the following feature modules:

  • Four-pose SVG animation: Supports smooth transitions among four states: idle breathing and blinking, happy jumping, sleeping with floating Zzz, and eating/chewing.
  • Four interaction modes: Provides four core interactions—feeding, petting, playing, and sleeping—with corresponding stat changes and speech-bubble lines.
  • Pet-raising system: Manages three status dimensions—fullness, mood, and energy—linearly decaying over time (decay is reduced by half during sleep), and includes an experience-point and level-up mechanism.
  • Totoro line library: Built-in line library with five speech styles, supporting fallback to local lines when the network is unavailable.
  • Personalization: Supports dragging to reposition, resizing (0.5×–2.0×), opacity adjustment (30%–100%), auto-hiding when idle, and one-click disabling.
  • Codex pop card: Displays the trigger conditions for the four poses and a short Totoro biography.
  • HTTP API: Provides status query and interaction endpoints. The API is reachable only on the loopback address 127.0.0.1, with a request body limit of 64 KB and standardized error codes in responses.
  • Reliable persistence: State writes to disk use atomic tmp+rename operations. Corrupted stores can automatically fall back to default values and continue serving.
  • Zero build: The browser side uses a single-file architecture with embedded SVG/CSS, requiring no bundling tools or third-party runtime dependencies.

Installation and Enablement

The installation process requires only one step and needs no additional configuration.

  1. Run the following command in the terminal to add the plugin to the Web profile:
    dsh plugin --profile web add totoro-pet
  1. After installation, restart the dsh web service and refresh the http://127.0.0.1:3080 page in the browser.
  2. After refreshing, the Totoro “Rongrong” will appear in the bottom-right corner of the page.

Usage Guide

The basic usage flow is as follows:

  1. Appearance and interaction: After restarting and refreshing the page, the Totoro remains in the bottom-right corner. Hover the mouse over its body to reveal an interaction bar (containing Feeding, Petting, Playing, Sleeping, Codex, and Settings buttons).
  2. Status feedback: Click an interaction button, and the Totoro will perform the corresponding action (such as eating/chewing), displaying a speech-bubble line and the three-dimension status bar (fullness/mood/energy) at the top.
  3. Drag layout: Press and hold the Totoro body to drag it to any corner of the screen. Its position will be remembered.
  4. API operations: Interact with the plugin by sending HTTP requests. For example, send a GET request to query status, and send a POST request to perform an interaction.

Development and Debugging

If you need to modify the plugin source code and apply changes in real time, you should use HMR (Hot Module Replacement).

  • Enable hot reloading: Run npm run link in the plugin source directory (equivalent to dsh plugin --profile web add link:.). After the first run, you must completely exit and restart the dsh service. After that, when you modify the source code (such as lib/client.js), the page will automatically update about 1 second after saving, without restarting the service or refreshing the page.
  • Exit hot reloading: Run npm run unlink (equivalent to dsh plugin --profile web remove totoro-pet) to restore the normal installation mode.

Notes

  • API security: The HTTP API allows access only from the loopback address 127.0.0.1.
  • Uninstall and disable: When uninstalling the plugin with the remove command, you must completely exit and restart the dsh service to clear residual references. If you only need to temporarily disable it, add disabled: true to the profile’s cordis.patch.yml. Refreshing the page will take effect, without restarting.
  • License: The project follows the MIT License.

Conclusion

totoro-pet adds visual fun to the DSH Web GUI through a minimal architecture and rich SVG animations. It can be used as a status-feedback component during development, as well as a daily desktop pet. Complete documentation and source code are available on the project’s directory page and GitHub repository.