Introduction

DeepSeek Harness (DSH) Agent tasks typically run on remote servers or in terminal environments such as Kali. When developers access the system through an SSH tunnel or a remote browser session, they cannot hear the sounds played by the local server’s audio device. This makes it difficult to notice during long-running tasks whether the Agent is stuck, finished, or has encountered an error.

The dsh-dudulu plugin moves all “detection + audible notification” logic to the browser side. It listens to DSH session state edges and plays a notification directly in the opened web page, allowing users to stay aware of Agent progress at all times.

Core Features

  1. Trigger时机

    • Task completed.
    • Task paused (awaiting approval / question).
    • Task error.
  2. Detection and playback

    • All processing is completed in the browser, independent of the machine and operating system where the DSH server runs.
    • Uses the sessions store from @deepseek-ai/dsh-client-connection to directly listen for state edges (pendingInteraction, running), which is more accurate than inferring from turn/end.
  3. Audio support

    • The default notification sound is built-in dudulu01.mp3 (Base64 embedded, no external hosting required).
    • If audio decoding fails, it automatically falls back to a built-in synthesized tone “dudulu” (three short ascending tones, generated purely by oscillators).
  4. Settings panel

    • Master switch.
    • Independent switches for three notification types: completion, pause, and error.
    • Volume slider (0–100, with real-time preview support).
    • Custom notification audio upload (with support for restoring the default and clearing it).

Installation and Enablement

Make sure you are using DeepSeek Harness’s web profile.

  1. Run the installation command:
    dsh plugin --profile web add github:Cmjingahaha/dsh-dudulu
  1. Restart the dsh web service.
  2. Open the browser settings page and locate the dudulu · Beep Once configuration item.

Configuration and Usage

  1. Unlock auto-play
    Browsers usually block audio auto-play. On first use, perform a click or key press on the web page to unlock AudioContext.

  2. Adjust parameters
    In the settings panel, adjust the master switch, individual notification switches, and volume as needed. Custom audio files smaller than 1MB can be uploaded.

  3. Save preferences
    Settings are stored in the browser’s localStorage under the key dsh-dudulu.v1, so they remain valid after refreshing the page or restarting.

Limitations and Troubleshooting

  1. Subagents do not make sound
    Currently, the plugin only plays notification sounds for main Agent turn events; sounds for subagent operations are excluded.

  2. The web page must remain open
    The plugin relies on the browser environment. Once the web page is closed, the audible notification feature stops working.

  3. Hard refresh
    After modifying plugin source code or configuration, be sure to perform a hard refresh in the browser (Ctrl + Shift + R) to clear the front-end cache.

  4. Common error troubleshooting

    • If the “dudulu · Beep Once” entry does not appear in the settings panel, check the browser console (F12) for a failed to apply loader entry (dsh-dudulu) error.
    • Check whether the plugin symbolic link exists: ~/.dsh/profiles/web/node_modules/dsh-dudulu → ~/.dsh/plugins-local/dsh-dudulu.

Summary

dsh-dudulu addresses the pain point of inaudible status updates in remote development scenarios. Through a lightweight browser-side implementation, it provides a clear status feedback mechanism for DSH Agent tasks. All configuration is stored locally in the browser and requires no additional server-side setup.