Preface¶
DeepSeek Harness (abbreviated as DSH) is an open-source agent runtime developed by DeepSeek. The official repository sums up its core philosophy in one sentence: Everything is a Plugin. Model adapters, tools, sessions, and interfaces can all be attached or detached via plugins. The community has already developed capability plugins such as long-term memory, visual tools, and sidebar enhancements. Another lighter demand is that users may watch agents run for long periods in the web GUI and want some lively elements on their desktop without having to overhaul the entire page skin or modify the layout.
This is exactly what DSKIN does. It does not add frames, modify backgrounds, or alter the original layout of the Web GUI. Instead, it only places 1 to 4 pixel-art kittens at the bottom of the page: they will walk, blink, meet and play with each other, and can also be dragged around. This article verifies the information against the community plugin directory and the GitHub repository, explaining what DSKIN is, how to install and use it, and what to note before installation.
It needs to be clarified first: https://deepseek-harness-plugin.com is a community-maintained plugin directory for discovering and comparing plugins, and is not the official app store of DeepSeek / Horizon Robotics. Inclusion in the directory does not represent official endorsement.
What is DSKIN¶
DSKIN is a cartoon pixel skin plugin for the DeepSeek Harness Web GUI. Its GitHub repository is dancingmemory/dskin, maintained by dancingmemory, licensed under the MIT License, and primarily written in TypeScript. The community directory categorizes it under “Themes & Appearance”. As of 2026-08-17, the GitHub repository has 7 stars; it was added to the directory page on 2026-08-15.
The problem it solves is very specific: users want a desktop pet on the DSH web interface without having the skin modify buttons, fonts, scrollbars, and the overall layout. The repository README positions it as a “pure skin plugin”: it does not inject services, emit events, or touch model requests. It follows the official dsh.client client plugin contract and supports hot swapping; after uninstallation and restart, the page should be fully restored.
package.json declares dsh.bundle (uses cordis.patch.yml to insert plugin entries into the web dependency graph) and dsh.client (with platform set to web). This means it runs on the web client, not for TUI or headless processes without a UI. The current package version is 1.0.13. The loaded plugin entry ID is ui-skin-dskin, and its styles are attached to body[data-dsh-dskin] to avoid polluting the entire page.
Core Features¶
The following capabilities come from the repository README and match the state machine in the client source code.
- 1 to 4 pixel-art kittens: 1 to 4 kittens will spawn randomly on each refresh, with breeds including orange tabby, white cat, black cat, and calico cat. The quantity can be manually adjusted in the panel, and the breed of a single selected kitten can be changed individually.
- Activity confined to the bottom of the screen: Kittens will walk and blink along the bottom edge, turning around when reaching the screen edge. When two kittens get close, they will stop, face each other, bounce playfully, then disperse. The activity area is limited to the bottom strip to minimize obstruction of the main content.
- Drag, hang, click, and pet: Hold down a kitten to drag it anywhere; it will sway in mid-air and pop up a “!” bubble. Dragging it to the top edge of the screen will make it hang upside down, and it will not fall off immediately after releasing; you need to grab it again and pull it down to return it to the bottom. Hovering the mouse over a kitten will make it bounce and pop up heart bubbles; a single click (without dragging) will make it jump.
- Paw panel in the bottom-right corner: There is a 🐾 button in the bottom-right corner of the page:
− N +is used to adjust the number of kittens. First click a kitten to select it (a ★ will appear above its head, disappearing after about 10 seconds), then click the breed button to only change that selected kitten’s breed. Configuration is written to thelocalStorageof the current DSH page, and will persist after refresh. - No changes to the original interface: No frames are added, backgrounds are not modified, and layouts are not altered. The kitten sprites are inline SVGs, not external image resources. After uninstalling the plugin, the DOM, favicon, and title written by
apply()will all be reverted.
The repository also specifies the security boundaries: DSKIN only runs within your own DSH Web application page (the default address in the README is http://127.0.0.1:3080), it is not a browser extension and will not execute on other websites. It states that it does not collect data, has no statistics, and does not include third-party scripts. The only network request is a read-only check for new versions on GitHub approximately every 6 hours; the upgrade entry will only open the GitHub page when the user clicks it.
Installation and Activation¶
First make sure you have installed the dsh CLI for DeepSeek Harness, or you can use npx @deepseek-ai/dskin. This is a Web GUI skin, and requires a profile with a web interface.
The installation command given on the community directory page is as follows, run it in the DeepSeek Harness terminal:
dsh plugin add github:dancingmemory/dskin
The plugin repository README provides more specific instructions, recommending installation into the web profile so that the kittens will appear in the web interface:
dsh plugin --profile web add github:dancingmemory/dskin
Installing from GitHub pulls the source code. The official documentation for “Packaging and Installing Plugins” states that git installation will not automatically run the author’s build script, and you need to rely on the prepare script in the package to compile TypeScript into lib/ during installation. DSKIN’s prepare script calls tsdown. If your local pnpm version is 10 or higher, the first installation may refuse to execute the build script. dsh will usually prompt you to add the following content to the pnpm-workspace.yaml of that profile (the path given in the README is ~/.dsh/profiles/web/pnpm-workspace.yaml), then re-run the above add command:
allowBuilds:
dskin: true
The official documentation clearly explains the meaning of this authorization: it allows the package’s code to execute on your machine during installation, and it will not run in the agent’s sandbox. Only enable this for packages whose source code you have reviewed and trust.
For a reproducible installation, the directory page recommends pinning the commit hash, using the syntax:
dsh plugin add github:dancingmemory/dskin#commit
Replace commit with the actual commit hash from the repository. Subsequent upstream pushes will not silently alter the version you are running.
You can also install from local source code:
git clone https://github.com/dancingmemory/dskin.git
cd dskin && pnpm install
dsh plugin --profile web add .
After installation is complete, you need to restart the web service for the new plugin entry to enter the loading dependency graph:
dsh web
Open http://127.0.0.1:3080. Follow the verification method in the README: you should see dskin (corresponding to ui-skin-dskin) in Settings → Plugins, the 🐾 button will appear in the bottom-right corner of the page, and kittens will be walking along the bottom of the screen.
To uninstall:
dsh plugin --profile web remove dskin
Then restart dsh web once more.
Typical Usage¶
After installing and opening the web page, no additional model configuration or tool addition to the agent is required. All interactions are completed on the page.
- Watch them play on their own: Kittens will walk along the bottom edge and blink; when two get close, they will face each other, bounce playfully, then disperse. This is the default behavior without needing to click any buttons.
- Adjust quantity and breed: Click the 🐾 button in the bottom-right corner to open the paw panel, and use
−/+to limit the number of kittens between 1 and 4. To change the breed of a specific kitten: first click that cat (a ★ will appear above its head), then click the breed button on the panel. Only the selected kitten’s breed will be changed, while the others remain unchanged. - Drag and hang: Hold down a kitten to drag it to the editing area or sidebar; dragging it to the top edge and releasing will make it hang upside down. To bring it back from the top, grab it again and pull it down. A single click (without dragging) will make it jump; hovering the mouse over the cat will pop up heart bubbles.
These operations do not go through the model and will not modify the conversation content. In the source code, the pet states include idle, walk, climb, drag, hang, return, etc., all of which are frontend state machines, not agent tool calls.
Applicable Scenarios and Notes¶
It is suitable for users who are already using the DSH web interface, want some desktop pet elements, and do not want to replace the entire skin. There are other plugins in the same directory that overhaul the entire page skin, include whale-girl skins, or adopt QQ Pet-style desktop pets; DSKIN’s tradeoff is that it leaves the original interface unchanged and only adds kittens along the bottom edge.
It is not suitable for the following situations:
- Users who only use the terminal TUI or headless profiles without a Web GUI. The dsh.client.platform is marked as web.
- Users who need the skin to modify colors, fonts, or sidebar structures. DSKIN explicitly does not make these changes.
- Users who want to treat the desktop pet as an agent capability (feeding, memory, conversation). It does not register tools for the model.
Please review the source code and license agreement yourself before installing. There is a fixed reminder on the directory page: plugins run with the permissions of the current dsh process, and may execute code during installation. GitHub installation will also run the prepare build script. The MIT License allows use and modification, but provides no warranties. The directory site has no affiliation with DeepSeek official, and inclusion does not equal a security audit.
In addition, the version check will access GitHub’s releases API; if the request fails, it will fall back to reading package.json in the repository. If your environment cannot access GitHub, the skin itself can still run locally, only the update check will fail; this will not affect the normal function of the kittens.
Summary¶
DSKIN is a web-side pixel skin for DSH maintained by dancingmemory: 1 to 4 kittens walk along the bottom edge, can be dragged, and have customizable breeds, while the original interface remains unchanged. It follows the official client plugin contract and will restore the page after uninstallation. Use the command dsh plugin add github:dancingmemory/dskin from the community directory to install, and add --profile web as specified in the repository to attach it to the web interface, then restart dsh web after installation. Before installing, review the source code and license, and pin the commit hash if needed.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dskin/
GitHub: https://github.com/dancingmemory/dskin
DeepSeek Harness official repository: https://github.com/deepseek-ai/deepseek-harness