During the development of DeepSeek Harness (DSH), in addition to log output, developers often need intuitive, low-distraction visual feedback to relieve monotony. The dsh-plugin-night-dog plugin provides a tan puppy named “Ye Guan.” It is a pure client-side plugin that does not involve host-side execution, network requests, or model access. It is directly embedded in the DSH web interface and automatically adapts its colors to the current theme.
Core Features¶
Ye Guan’s interaction and behavior logic can be divided into three categories: user interactions, automatic actions, and state responses.
User Interactions¶
- Click Ye Guan: Triggers a happy jumping animation, accompanied by tongue-out and bubble effects. Left-clicking does not hide it.
- Press and drag: Follows the mouse 1:1. The position is persisted (version
dsh.night-dog.state.v6) and remains unchanged after refreshing the page. Window-level listeners and coordinate guards prevent position jumps. - Double-click Ye Guan: Resets its position to the default bottom-right corner.
- Right-click Ye Guan: Hides it into a small dot with a breathing glow in the bottom-right corner (valid only for the current session; refreshing or restarting DSH restores it). Click the dot to wake it.
- Hover over Ye Guan: Its name “Ye Guan” appears above its head.
- Long period of inactivity: Automatically lies down to sleep (sideways, head resting on front paws, eyes closed, snoring Zzz).
Automatic Actions¶
In idle state, Ye Guan periodically triggers a series of non-interrupting actions:
- Open mouth and stick out tongue: About 9 seconds, opening its mouth wide to pant, tongue out, squinted smiling eyes, tail wagging wildly.
- Stand on both feet: About 26 seconds, upright body, front paws in a bow, bouncing entrance.
- Tilt head: About 32 seconds, cute side-to-side head movement.
- Stand and walk: About 52 seconds, pacing left and right, alternating front-paw steps.
- Yawn: About 42 seconds, mouth open wide, squinted eyes.
- Fierce bark: About 45 seconds, angry eyebrows, bared teeth, trembling, and a “Woof!” bubble.
- Chase tail and spin: About 60 seconds, rotating one full turn in place.
- Sad whining: About 78 seconds, watery eyes and a downward-turned mouth.
Agent State Responses¶
Ye Guan can sense the DSH Agent’s running state and respond accordingly:
- Thinking / Tool / Error / Celebration / Sleep: corresponding animated states.
- Connection reset: startles (X eyes + tremble).
- Slash command execution: happy celebration (squinted eyes + tongue out).
Installation and Activation¶
Install this plugin via the DSH CLI:
dsh profile plugin add dsh-plugin-night-dog
After installation, the plugin loads automatically and appears in the web interface. Since it is a pure client-side component, no host environment or network permission configuration is required.
Technical Implementation and Security¶
- Pure client-side: The plugin runs only in the browser and does not touch host execution, network requests, or model access. All side effects (event listeners, timers, local storage) are managed within the
ctx.effectdisposer and can be fully reclaimed upon uninstall. - Theme adaptation: Colors are taken from DSH theme tokens (
--dsw-*), with the main body using an amber color scheme to ensure visual integration across different themes. - Position persistence: Uses
dsh.night-dog.state.v6to store position data, including a version number and viewport validation to prevent position errors caused by out-of-bounds or corrupted data.
Use Cases¶
Suitable for developers who need companionship or simple visual feedback in the DSH interface. It does not consume excessive system resources, and as an open-source project (MIT License), users can review the source code and security themselves.
- Plugin directory: https://www.skillhub.cn/plugins/zzhi191/dsh-plugin-night-dog
- GitHub: https://github.com/zzhi191/dsh-plugin-night-dog