Preface

Agent tasks in DeepSeek Harness (DSH) are often not completed in a single Q&A interaction. While waiting for long-running tasks, approval confirmations, error handling, or code reviews, developers need a more intuitive way to know which stage the current agent is in.

Below, we introduce hellosz/dsh-pets. It is a Cordis plugin that runs within the DSH Web GUI, bringing the pet companion experience of OpenAI Codex Pets into DSH, using pet animation states to indicate the current task status.

What This Is

hellosz/dsh-pets is maintained by hellosz and is licensed under MIT.

The problem it solves is: within the DSH Web GUI, replacing simple progress indicators with pet behavior states makes it easier for users to see whether the agent is thinking, waiting for confirmation, under review, encountering an error, or idle.

Core Features

Built-in Pets

The plugin includes 10 built-in pets:

  • Pikachu
  • Charmander
  • Bulbasaur
  • Squirtle
  • Jigglypuff
  • Eevee
  • Mew
  • Piplup
  • Rowlet
  • Grookey

Each pet has its own personality, lines, and animation rhythm.

State Animations

The plugin provides 9 state animations:

idle
running
waiting
review
failed
waving
jumping
running-left
running-right

These states are used to represent the current phase of the agent, rather than simply displaying a pet image.

Floating Pet

The pet registers to shell.overlay, residing persistently in the bottom-right corner.

It supports the following operations:

  • Drag and drop
  • Click to open a popup menu
  • One-click hide

Status bubbles and the configuration menu follow the pet’s position.

Settings Page

The settings page entry is:

Settings → Pet Companion

On the settings page, you can:

  • Switch pets
  • Adjust the zoom slider, ranging from 0.6x–2.5x
  • Turn the pet feature on or off

Pet Pack Format

The plugin supports the petdex-compatible pet pack format:

pet.json
8×9 spritesheet

pet.json contains:

{
  "id": "",
  "displayName": "",
  "description": "",
  "spritesheetPath": ""
}

The spritesheet is 8 columns × 9 rows, with a frame size of 192×208.

Impact on DSH Workflow

The plugin only listens to existing DSH events; it does not block or alter any workflows.

It also provides the pet_say tool and exposes the following endpoints via webServer:

GET /pet/state
GET /pet/asset

Installation and Enablement

Prerequisites

First, ensure your machine meets the following requirements:

  • Node.js ≥ 22
  • DeepSeek Harness CLI installed
  • pnpm installed

dsh plugin internally calls pnpm. If it is not enabled, you can run:

corepack enable

To install the DeepSeek Harness CLI:

npm install -g @deepseek-ai/dsh

Installing the Plugin

The official installation command is:

dsh plugin --profile web add @hellosz/dsh-pets

After installation, start the DSH Web GUI:

dsh web

If you use npx to start dsh, the corresponding commands are:

npx @deepseek-ai/dsh plugin --profile web add @hellosz/dsh-pets
npx @deepseek-ai/dsh web

Verification After Installation

You can check whether the plugin appears in the web profile configuration:

dsh --profile web --dump-config | grep -A2 'dsh-pets'

Then open your browser and visit:

http://localhost:3080

Once successfully installed and enabled, the pet will appear in the bottom-right corner of the page.

Uninstalling the Plugin

To remove it, run:

dsh plugin --profile web remove @hellosz/dsh-pets

Typical Usage

Using the Settings Page

Navigate to:

Settings → Pet Companion

You can first switch to a built-in pet, then adjust the size using the zoom slider. The zoom range is:

0.6x–2.5x

If you don’t need the pet reminders temporarily, you can turn off the switch on the settings page.

Using the Floating Pet

The pet resides persistently in the bottom-right corner. You can drag it to change its position, click it to open a popup menu, or choose to hide it with one click.

Using the API

The plugin exposes the following via webServer:

GET /pet/state
GET /pet/asset

The pet_say tool can also be used for pet-related interactions.

Regenerating Pet Packs

If you need to regenerate pet packs, you can run:

node scripts/generate-packs.js

This script depends on ImageMagick 6+.

Dependencies and Asset Sources

The plugin’s peerDependencies include:

{
  "@deepseek-ai/cordis": "^4.0.1",
  "@deepseek-ai/dsh-tools": "*",
  "react": "^18.2.0 || ^19.0.0"
}

Asset sources include:

  • PokeAPI/sprites
  • Pokemon Showdown animated sprites
  • petdex format specification

The license is MIT.

Applicable Scenarios and Notes

This plugin is suitable for developers who are using the DSH Web GUI and want to use animation states to assist in judging the agent’s current status during long tasks.

Before using the plugin, it is recommended to review the source code and license. The plugin runs with the permissions of the current dsh process, so you should confirm it meets local usage requirements before installation.

Links

Directory page:

https://www.skillhub.cn/plugins/hellosz/dsh-pets

GitHub repository:

https://github.com/hellosz/dsh-pets