Introduction

When running tasks with DeepSeek Harness (hereinafter referred to as DSH), a common annoyance is that tasks run in the background, and you have to switch windows or refresh the page to know if it is waiting for your input, if there is an error, or if it has finished. dsh-nba-pets solves this problem in a different way: it places a basketball-themed desktop pet on the DSH page, using different animations to directly express task status. When input is needed, it waits; when there is an error, it shows a blocked motion; when idle, it practices shooting hoops.

Below is an introduction to the positioning, features, and installation methods of this plugin.

What is this

dsh-nba-pets is a collection of basketball desktop pets maintained by lijian-888, specifically built for DSH, licensed under MIT, with version 0.1.2 as noted in the repository’s package.json. It is an unofficial fan project and has no affiliation or endorsement relationship with the NBA, any team, or the players themselves.

It does not replace DSH’s sessions, sidebar, or input area; it simply adds an interactive floating pet to the web interface that can express task status.

Core Features

  • Two switchable characters: Curry 30 and the original tribute character King 23, switchable with one click.
  • Clear task status: Different animations are used for requiring input, blocked, ready, running, and idle.
  • Click to view tasks: Clicking the pet allows you to view active tasks and directly enter the corresponding DSH session.
  • Basic pet capabilities: Free dragging, memory of character and position, collapse, and wake up.
  • Rich animations: Idle shooting, running, waving, jumping, waiting, blocked, working, reviewing, and 16-directional cursor tracking.
  • Respect system settings: When “Reduce motion” is enabled in the system, static frames are automatically used.
  • Embedded assets at build time: Two sets of 1536×2288 RGBA WebP v2 animation atlases are embedded into the DSH client package at build time. After installation, it does not depend on local asset paths and does not require an additional HTTP service.

Status Rules

The priority of task states follows the status semantics of Codex Pets. When multiple states coexist at the same time, the first one is taken in descending order of priority:

DSH Status Pet Behavior Priority
pendingInteraction Wait for user input 1
lastAgentError Show blocked or error motion 2
completed Show ready or reviewing motion 3
running Show task execution motion 4
No activity Shooting idle or looking at cursor 5

In other words, as long as the task has an error or needs your input, the pet will definitely prioritize showing this and won’t be overshadowed by “running” animations.

Installation and Enablement

Environment requirements: Node.js 22+, DeepSeek Harness 0.1.0-rc.5 to <0.2.0, DSH web profile (automatically created on first installation).

Users who already have the dsh command can execute directly:

dsh plugin --profile web add dsh-nba-pets

This installs the pre-built, tested version from the public npm registry.

If the npm mirror has not yet synchronized this package, you can specify the official source:

dsh plugin --profile web add dsh-nba-pets --registry=https://registry.npmjs.org

Method 2: Install from DSH source directory (suitable for DSH developers)

If you are running directly from the DSH source repository and do not have a global dsh command:

cd /path/to/deepseek-harness
corepack pnpm dsh plugin --profile web add dsh-nba-pets

Method 3: Install latest source code from GitHub

dsh plugin --profile web add github:lijian-888/dsh-nba-pets

GitHub installation will build the source code locally. For pnpm 10 and above, the build might need to be explicitly allowed the first time, you need to add the following to the profile’s pnpm-workspace.yaml:

allowBuilds:
  dsh-nba-pets: true

Then re-execute the installation command. For stable reproduction, it is recommended to pin a trusted commit:

dsh plugin --profile web add github:lijian-888/dsh-nba-pets#<commit-sha>

Launch and Verification

After installation, first restart DSH to let it re-read the profile, then start the Web profile:

dsh --profile web

After refreshing the DSH page, Curry 30 will appear as a floating pet. Clicking the pet allows you to switch characters or view task dynamics.

To confirm the plugin has been written to the configuration, execute:

dsh --profile web --dump-config

The output should include # == dsh-nba-pets and id: nba-pets.

Uninstall

dsh plugin --profile web remove dsh-nba-pets

Local Development

If you want to modify the code or contribute, run it from source:

git clone https://github.com/lijian-888/dsh-nba-pets.git
cd dsh-nba-pets
npm install
npm run check
dsh plugin --profile web add .

Common development commands:

npm run build
npm test
npm run check

Suitable Scenarios and Notes

Suitable scenarios: Users who work on the DSH web interface for long periods, frequently run multiple tasks simultaneously, and want to grasp task progress without switching windows. It is also suitable for developers who want a sense of companionship, but the expression of status is its core value, not just decoration.

Notes before use:

  1. This is a browser extension; the pet can only float within the DSH web application window and cannot create a globally pinned pet across operating system windows.
  2. This is an unofficial fan project and does not contain NBA or team logos; King 23 is an original tribute character, not an accurate portrait of a real person. For details, see THIRD_PARTY_NOTICES.md in the repository.
  3. Like other DSH plugins, the plugin runs with the permissions of the current dsh process. It is recommended to check the source code and license before installation (this project is MIT), and you can pin a trusted commit when installing from GitHub.

Conclusion

dsh-nba-pets does one thing focusedly: translates AI task status into pet animations that are easy to understand at a glance, while adding a touch of basketball flavor to the DSH workspace. If you are already using DSH’s web profile, you can install and try it with one command.

Repository address: https://github.com/lijian-888/dsh-nba-pets