Preface

DeepSeek Harness (dsh) packages models, tools, sessions, sandboxes and UIs as interchangeable plugins. When writing code, running tests or responding to review comments, most of the chat interface is plain text: the agent says “Tests passed”, and the user replies “Take a look”. The tone fits, but the scene feels like chatting in a ticketing system.

dsh-stickers brings emoji stickers to the WebUI. Users can click the 🐋 selector next to the input box, or type /sticker; the agent calls send_sticker contextually during normal conversations. The same catalog serves all three entry points, and sticker cards are saved to the persistent chat history. This article is compiled after cross-checking the plugin directory page, GitHub repository README, package.json and source code: what it is, where to install it, how to use it, and what features are currently missing.

DeepSeek Harness is still in developer preview, and the official repository notes that there will be breaking changes. The community plugin directory mentioned in this article deepseek-harness-plugin.com is an independent site for discovering plugins and copying installation commands, and has no official affiliation with DeepSeek / HyperGAN. The official recommended way to discover plugins is still the dsh-plugin topic on GitHub.

What it is

dsh-stickers is a UI enhancement plugin maintained by william-jin-cmu, with the npm package name @dsh-external/dsh-stickers. The current package.json version is 0.1.0, and the license is BSD-3-Clause. The repository was created on August 8, 2026; as of the check on August 17, 2026, GitHub shows 20 stars, while the directory page still shows 13 stars, please refer to the real-time data of the repository.

The problem it solves is specific: it allows both users and agents in the WebUI to send stickers, and the stickers should remain in the chat history instead of being transient overlay popups. The README positions it as a pure external DSH plugin that does not modify DSH core. The dsh.client.platform field in package.json is web, which is consistent with the description of “only providing full WebUI support”.

The mounting method is also documented in the repository. On the Node side, the plugin with ID dsh-stickers is inserted via cordis.patch.yml, and the following are registered:
- send_sticker Agent tool
- /sticker user command
- A system prompt that guides the agent on when to send stickers
- PNG route /api/dsh-stickers/* (enabled only when webServer exists)

On the Browser side, it is automatically discovered via the client manifest, and three official slots are registered: conversation.input.right (selector), conversation.chat.commandview/sticker (user sticker card), conversation.chat.toolview/send_sticker (agent sticker card).

Core features

One catalog, three entry points

Sticker definitions are centralized in src/shared/catalog.ts. The user selector, /sticker command and agent’s send_sticker all read from the same list. When adding a new sticker, you only need to modify the catalog once, without writing the same content three times.

There are two ways for users to send stickers:
1. Click the 🐋 icon on the right side of the WebUI input box, and select from the public sticker library. The top of the selector can switch between the Blue Whale Girl and Black Whale Girl modes, with Blue Whale Girl as the default.
2. Directly input /sticker <id>, add an optional black parameter for Black Whale Girl mode.

The agent does not wait for the user to say “send a sticker”. The plugin registers send_sticker as a tool, and specifies in the system prompt: send at most one sticker per turn, only use it to complement the tone, and never replace substantive responses. The parameter is { id, variant? }, where variant defaults to blue, and can be passed as 'black' after switching to Black Whale Girl mode.

Sticker PNGs do not use external links. The plugin provides the /api/dsh-stickers/* route itself, and both user sticker cards and agent sticker cards are saved to the persistent chat history.

14 public stickers, 4 for workflow

The following 14 stickers will appear in the 🐋 selector, can be sent by humans via /sticker, and can also be called by agents using the same ID. The copy is subject to the repository README.

ID Copy
daily-chat Suitable for daily conversations, instant response
human-questions Why do humans have so many weird questions…
use-ai-for-this You use AI for this?
fish-philosophy Live fish have worries, dead fish are at peace
enough That’s enough
server-busy Server is busy, please try again later
thinking-stopped Thinking has stopped
great-question Wow, that’s a really great question!
deep-thought Deep thinking in progress
no-thanks No thanks I use DeepSeek
tests-passed Tests passed!
root-cause Root cause identified
running-tests Running tests
fixed-review Changes made, take a look

The last four are marked as workflow reactions in the README: test pass, root cause identification, test running, and post-review submission. They fit both casual chat and coding scenarios.

10 easter eggs only agents can send

Another 10 stickers have a visibility value of agent. They only appear in the send_sticker tool schema, are not visible in the selector, and /sticker will reject sending them. In the source code, the user path uses publicStickerById(), while the agent path allows hidden IDs.

ID Copy
self-destruct Lately when I’m self-hosting, the suicide frequency is a bit high
restart-myself I’m restarting myself
hot-update Hot update successful, process exited
restore-session Restoring session… see ungrouped
browser-left Session too long, browser took its leave first
not-stuck I’m not stuck, I’m deep in thought
memory-alive Memory is trying its best to stay alive
subagents-down Subagents summoned, all interrupted
plugins Plugins installed well, don’t install them next time
session-locked Session isn’t broken, it just won’t open

The README states: some stickers reuse official DeepSeek Harness stickers; another part of the ideas comes from real user feedback in the “[Official] DSH Internal Test Group”, such as process exit after hot update, session failure to open, browser disconnection in long sessions, and collective interruption of subagents. The full set of 24 Black Whale Girl stickers was drawn by 少女阿原 (@ayuanwong), and the dual-character switching interaction also comes from her proposal.

Current TUI not supported

The repository specifically explains why the terminal interface is not supported. The existing third-party extension surface of turtle-ui only has a temporary tui.openOverlay() method, and there is no interface to insert plugin components into the persistent transcript. Overlays disappear when closed, and cannot be restored after scrolling or reopening the session, which does not match the semantics of “sticker messages in chat history”.

This version therefore only releases full WebUI support, and does not use transient overlays to impersonate TUI. The README’s expectation is: wait until turtle-ui provides a universal, replayable transcript renderer API, then add TUI support without adding dedicated sticker core code.

Installation and activation

The installation command given on the directory page is as follows, execute it in a running DeepSeek Harness terminal:

dsh plugin add github:william-jin-cmu/dsh-stickers

The plugin runs with the permissions of the current dsh process, and may execute code during installation. The directory page recommends checking the source code and license before installation; for reproducible installations, pin the commit hash. As of August 17, 2026, the latest commit on main is 1703f09915db1058b6031b31e52fd404560e0a78 (2026-08-13, the commit message mentions adapting to dsh 0812 final beta and moving the PNG route from the renamed httpServer to webServer):

dsh plugin add github:william-jin-cmu/dsh-stickers#1703f09915db1058b6031b31e52fd404560e0a78

The general steps on the directory site are: first have the CLI (such as npx @deepseek-ai/dsh web), then run dsh plugin add ..., and finally confirm that the plugin is loaded with dsh plugins list. This plugin declares platform: "web" in its client manifest, and the README also requires mounting it to the web profile when installing from source locally:

pnpm install
pnpm run typecheck
pnpm test
pnpm run build

export DSH_HOME=/absolute/path/to/an/isolated-dsh-home
dsh plugin --profile web add /absolute/path/to/dsh-stickers
dsh web

The repository requires Node 22 and a working DSH checkout. The engines field in package.json specifies ^22.19.0 || >=24.0.0. Harness is still rapidly iterating on its APIs, and the August 13, 2026 commit in this repository was an adaptation to a core rename; after installation, if the selector appears but images return 404, first check whether the current dsh still provides webServer, and whether the PNG route is properly registered.

Typical usage

The following examples can be directly reproduced from the README and src/index.ts, without relying on additional configuration items.

1. Send a public sticker using the selector

Open dsh web to enter the web chat interface, click the 🐋 icon on the right side of the input box. The popup title is “DSH Stickers”, and the top can switch between “Blue Whale Girl” and “Black Whale Girl”. Click tests-passed, and the selector will fill the draft as /sticker tests-passed (or /sticker tests-passed black for Black Whale Girl mode) and submit it. A user sticker card will appear in the chat, with an image address in the format /api/dsh-stickers/21-tests-passed.png.

2. Specify the ID using the slash command

If you don’t want to click, you can directly input:

/sticker root-cause
/sticker fixed-review black

The command hint shows the list of public IDs plus the optional [black] parameter. If you pass an easter egg ID that does not exist in the selector, the system will return “Sticker does not exist or cannot be sent by users”. The role parameter can only be blue or black, and other values will trigger an “unknown sticker role” error.

3. Let the agent send a sticker contextually

The agent calling format is specified in the README:

send_sticker({ id: "running-tests" })
send_sticker({ id: "hot-update", variant: "black" })

running-tests can be sent by both users and agents; hot-update is only available in the agent schema. The injected guidance requires: at most one sticker per turn, only used to complement tone, and never replace substantive responses. The tool result will be rendered as an agent sticker card, also using the /api/dsh-stickers/* route and saved to the chat history.

Applicable scenarios and notes

It is suitable for users who are already using the DeepSeek Harness web interface and want to add more reactions to the chat area and reduce the ticketing-system feel. In coding scenarios, the four public stickers for test pass, root cause identification, test running and post-review submission can be directly used as status markers; the common issues of hot update, session and subagents that frequently appear in the internal test group are reserved for the agent’s easter eggs.

Before using, you need to accept the following boundaries:
- Only covers WebUI. TUI currently lacks a persistent transcript plugin interface, and this version intentionally does not support it.
- Sticker images are served by the local dsh process. The route is mounted on webServer; PNGs will not be registered without a running web service.
- The plugin runs with the permissions of the current dsh process. Installation may execute build scripts. Check the repository, license and recent commits before installing, only install trusted sources; for reproducible deployments, pin the commit hash.
- License is BSD-3-Clause. The source code is public and can be installed and used for free. The material sources mix official stickers and community-drawn Black Whale Girl variants, and redistribution should comply with the repository license and the original author’s instructions.
- Harness is in developer preview. Core plugins and APIs are still subject to change. This repository has already made one adaptation for renames such as webServer and @deepseek-ai/cordis, and further adaptations cannot be ruled out in the future.

Summary

dsh-stickers does not modify DSH core, but uses official slots, slash commands and Agent tools to connect the same sticker catalog to the web chat. Users can click the 🐋 icon or type /sticker, and the agent can send stickers at appropriate times; there are 14 public stickers and 10 easter eggs, with sets for both Blue Whale Girl and Black Whale Girl, and sticker cards are saved to the chat history.

Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-stickers/

GitHub: https://github.com/william-jin-cmu/dsh-stickers