In the DeepSeek Harness (DSH) plugin ecosystem, DSH’s runtime status needs to be synchronized to the desktop environment. The dsh-yierpet-sentinel plugin solves this problem. It listens to DSH’s session/event event stream and forwards those events to the locally running desktop pet YierPet, providing status feedback through speech bubbles, animations, and notification sounds.

Plugin Overview

  • Name: wusai2333/dsh-yierpet-sentinel
  • Maintainer: wusai2333
  • Category: Network tool
  • Core value: Forwards DSH lifecycle events to YierPet in fire-and-forget mode, without ever blocking DSH.

How It Works

This plugin listens to the same session/event event stream consumed by DSH’s built-in pet and forwards different event types to YierPet’s local listening endpoint. It uses fire-and-forget mode with a 1-second timeout. Any errors are handled silently so the main process is not affected.

The DSH events that can be forwarded include:
* turn/start
* tool/result
* approval/asked
* llm/retry
* turn/end (completed/error)
* session/disposed

Prerequisites and Installation

Before installing, make sure YierPet is running locally and that it has written its listening URL to ~/.yierpet/endpoint. If YierPet is not running, the plugin will skip directly.

  1. Install the plugin:
    dsh plugin --profile web add github:wusai2333/dsh-yierpet-sentinel
  1. Restart dsh to apply the configuration. If you use the TUI interface, also install it into the dsh-tui profile:
    dsh plugin --profile dsh-tui add github:wusai2333/dsh-yierpet-sentinel
  1. Verify that the plugin has been composed:
    dsh --profile web --dump-config | grep yierpet

Verification and Testing

After installation, you can verify it using the following commands:

  • Self-check logic:
    node --test test.js
  • YierPet-side test:
    printf '{"text":"dsh 接入测试"}' | ~/.yierpet/hook.sh dsh Stop

Notes

  • 1-second timeout: Forwarding requests have a 1-second timeout limit.
  • Error handling: All errors are handled silently and will not interrupt DSH.
  • Non-blocking: The plugin is designed to never block DSH.
  • Session isolation: Sub-agent sessions are usually not affected unless an approval event is involved (in which case approval/asked is triggered). The Stop event for the main turn already covers the user-visible completion moment.

  • Uninstall: To remove it, run:

    dsh plugin --profile web remove dsh-yierpet-sentinel

Summary

This plugin provides DSH users with integration capabilities for desktop pets. By monitoring the event stream and forwarding events in fire-and-forget mode, it brings CLI status feedback to the desktop environment without adding system overhead.