Preface¶
The DSH ecosystem emphasizes “everything is a plugin,” and the community directory is an independent site with no official affiliation to DeepSeek / Huanfuan. For developers who frequently use DeepSeek Harness, plugins are not just about extending model capabilities; they can also extend the work interface and task feedback. dsh-nailong-desktop-pet is such a lightweight interface plugin: it puts Harness task status, custom characters, and desktop companionship into a configurable pet form.
What is this¶
dsh-nailong-desktop-pet is an unofficial, customizable Nailong (Milk Dragon) desktop pet community plugin for DeepSeek Harness. The maintainer is 2002yxy, and the code license is MIT. The project materials describe it as an early Alpha, released for feedback and iteration.
It primarily solves two problems: first, providing a displayable, adjustable, and customizable desktop pet; second, summarizing Harness task status into more intuitive states such as Waiting, Running, Unread Complete, or Idle.
Core Features¶
Platform Performance¶
On macOS, the plugin launches a transparent, borderless AppKit companion that can move across apps and Spaces. This native pet is purely for visual display, featuring no square cards, focus rings, title bars, or window shadows. The pet can be dragged, and clicking it brings Harness to the foreground.
Other platforms fall back to a transparent pet inside the Harness window. This fallback can open the most relevant Session and display the activity tray, but cannot move the pet outside the Harness window.
Presets and Status¶
The plugin comes with Nailong (Milk Dragon) built-in and offers four additional presets: DeepSeek whale, Naihuang, Jinglong, and Naijing.
Each preset is provided as a transparent Hatch v1 atlas, containing nine semantic states and 57 active frames. The plugin supports independent size settings, motion settings, animation preview, directional drag animations, and position saving for each character.
It can also aggregate Harness task status, displaying it as Waiting for Input, Unread Complete, Running, or Idle.
Custom Pets¶
The plugin supports creating custom pets from PNG, JPEG, WebP, GIF, AVIF, or BMP. The default path allows building a multi-state 2.5D atlas locally. If optional image generation credentials are configured, a consistent 3D-toy pose sheet can be generated and compiled into a Hatch v1 atlas.
The customization process bundles the /create-desktop-pet Skill, along with three host tools: inspect_desktop_pet_draft, hatch_desktop_pet_draft, and install_desktop_pet.
Installation and Enablement¶
It is recommended to check the source code, license, and release files before installing. This Alpha comes with pre-built runtime files and includes source code for review, but it is not yet a standalone development workspace.
Install using a local archive:
dsh plugin --profile web add ./dsh-desktop-pet-0.1.0-alpha.2.tgz
If installing from GitHub, it is recommended to use a fixed tag:
dsh plugin --profile web add github:2002yxy/dsh-nailong-desktop-pet#v0.1.0-alpha.2
After installation, if the plugin does not appear immediately, restart Harness.
To remove:
dsh plugin --profile web remove dsh-desktop-pet
Typical Usage¶
-
Go to
Settings > Pluginsand open theDesktop Petpage. -
Use the frequently used controls at the top of the plugin page to show or hide the desktop pet.
-
Select a preset, adjust size, motion, animation preview, directional drag animation, and save the position.
-
On
macOS, drag the pet to a suitable position; clicking the pet brings Harness to the foreground. -
On other platforms, use the fallback inside the Harness window to open the most relevant Session or display the activity tray.
When creating a custom pet, first select Custom pet, choose an image, and click Create pet. Then review and manually send the pre-filled /create-desktop-pet request. The Skill will invoke inspect_desktop_pet_draft, hatch_desktop_pet_draft, and install_desktop_pet. After installation, the animated character returns to the pet library, where you can select and adjust size or motion just like with presets.
Applicable Scenarios and Notes¶
Suitable for developers who want lightweight desktop companionship, need to keep Harness status in a visible location, or wish to generate character animations from their own images.
Please note:
- The project is in early Alpha, released for feedback and iteration.
- The macOS native companion is designed for
macOS 13+Apple Silicon and Intel, and is not yet signed or notarized. - Other platforms use a fallback inside the Harness window and cannot move the pet outside the Harness window.
- Clicking the macOS native pet activates Harness, but it cannot deep link to a specific Session yet.
- Preferences are not synced across devices.
- Generating 3D rendering requires separately configured image generation credentials; otherwise, it automatically generates local 2.5D results. Optional image generation credentials are only used for the generated 3D path.
- Normal display, movement, selection, and configuration do not add model input or tokens; custom pet tasks only add requests and tool calls when the user explicitly sends them.
- The images themselves do not enter the model context; custom characters and preferences are stored in the current Harness browser profile.
- The plugin runs with the current
dshprocess permissions; you should check the source code and license before installing. This is an independent community project, not an official DeepSeek release; the source of preset artwork and rights to redistribute need to be confirmed before public release.
Conclusion¶
dsh-nailong-desktop-pet puts desktop pets, preset animations, task status, and the custom character workflow into a single DSH plugin. It is suitable for testing in a small-scale environment first and for continuous verification based on the macOS native experience, custom pet workflow, and the current Harness version.
GitHub: https://github.com/2002yxy/dsh-nailong-desktop-pet
Community Directory Link: https://www.skillhub.cn/plugins/2002yxy/dsh-nailong-desktop-pet (This directory address is from a lead and has not been confirmed as an ascertained fact)