When developing agents in DeepSeek Harness Web GUI (dsh --profile web), the Agent is often visually static while thinking or waiting. The dakeshui123/dsh-pet-frieren plugin adds a chibi-style Frieren: Beyond Journey’s End desktop pet to the screen. It responds to Agent state changes with corresponding animations and speech bubbles, providing intuitive visual feedback during development.
Plugin Introduction¶
dakeshui123/dsh-pet-frieren is a desktop pet plugin for DeepSeek Harness Web GUI. It integrates through the dsh.bundle.patch and dsh.client mechanisms and can run without complex build steps. The plugin includes a prebuilt client package and an asset server responsible for rendering sprite animations in the browser.
Core Features¶
This plugin mainly provides the following features:
-
State Tracking
The pet switches animations and expressions based on the Agent’s runtime state:- Idle: default standby state.
- Thinking: the Agent is reasoning.
- Tool invocation: the Agent is executing a tool.
- Streaming output: the Agent is generating a response.
- Waiting: waiting for user approval or input.
- Error: when the Agent reports an error, the pet freezes on the last failed frame until the error is cleared.
-
Automatic Interaction
While idle, the pet performs actions automatically:- Waves every 12–30 seconds.
- Occasionally jumps every 45–90 seconds.
- Randomly shows speech bubbles (approximately every 20–40 seconds).
-
User Interaction
- Click: make the pet wave once.
- Double click: make the pet jump once.
- Drag: move the pet’s position. The position is saved automatically, and the pet runs left and right while being dragged.
- Hover: hovering the cursor over the pet shows a close button in the upper-right corner; clicking it hides the pet.
- After hiding: click or drag the hidden marker to bring the pet back.
-
Compatibility
- Accessibility: respects the system
prefers-reduced-motionsetting. In this mode, only a static frame is shown and no animations are played. - Asset serving: all assets are served through the HTTP route
/dsh-plugin-assets/dsh-pet-frieren, with no path traversal risk.
- Accessibility: respects the system
Installation and Enabling¶
Installing this plugin requires the DeepSeek Harness Web GUI (dsh --profile web) environment.
- Run the installation command:
dsh plugin --profile web add github:dakeshui123/dsh-pet-frieren
The plugin is installed as a standard dsh bundle in the `web` configuration.
- Start DeepSeek Harness Web GUI:
dsh --profile web
After startup, Frieren appears on the screen.
Common Commands¶
After installation, you can manage the plugin with the following commands:
- Update the plugin:
dsh plugin --profile web update dsh-pet-frieren
- Pin a version:
dsh plugin --profile web add github:dakeshui123/dsh-pet-frieren#v0.1.0
- Remove the plugin:
dsh plugin --profile web remove dsh-pet-frieren
- Install from Git:
dsh plugin --profile web add git+https://github.com/dakeshui123/dsh-pet-frieren.git
Technical and Copyright Notes¶
- Build method: the plugin client package is prebuilt, so no
prepareorbuildsteps are required. It is compatible with any version of pnpm. - Asset paths: follows the dsh bundle host-serves / client-reads pattern. Assets are read over HTTP and are not embedded in the bundle file.
- Copyright: the plugin is open source under the MIT license. The “Frieren” character used originates from Frieren: Beyond Journey’s End and is a personal, non-commercial fan-art rendition.
References¶
- Plugin directory: https://www.skillhub.cn/plugins/dakeshui123/dsh-pet-frieren
- Source repository: https://github.com/dakeshui123/dsh-pet-frieren