Introduction

When running Agents in DeepSeek Harness (DSH), you often encounter states requiring user intervention: request approval, waiting for an answer to a question, or waiting for a plan review. If the web interface is not focused at that moment, or if you step away temporarily, these states are easily missed, requiring constant switching back to the page to check.

Frost-Reed/blocker-notify addresses this scenario: it provides real-time web notifications when an Agent gets stuck during work and requires user intervention, allowing you to avoid staring at the screen waiting for an action.

What is it

Frost-Reed/blocker-notify is a plugin for DSH, maintained by Frost-Reed, licensed under MIT, with a package.json version of 0.3.0.

It mainly handles “actionable blockers”: when an Agent needs user intervention such as approval, asking a question, or plan review, it provides a web reminder; for sandbox rejections (FS_SANDBOX_DENIED), it only records to the Host log and does not disturb the user.

Core Features

Below are the verified main capabilities of the plugin.

Global Banner

When there is a blocked session, a global banner appears on the web interface listing the blocked sessions. Clicking an entry jumps to that session and removes that reminder.

Workspace Item Flashing

A yellow status dot will flash on the workspace session item to indicate that the session requires attention. The flashing stops automatically once the block is resolved.

Sound

A short Web Audio beep plays on the page when a new actionable blocker appears. The beep does not depend on an audio file; if the browser blocks autoplay or the current environment does not support it, it silently degrades.

OS-level Notifications

When a new actionable blocker appears, the plugin pops up an OS-level notification via the Notification API. Clicking the notification focuses the DSH page.

System notifications rely on the browser Notification API permissions. When permissions are not enabled or denied, the banner provides options to enable or fix it.

Host-side Behavior

Host-side behavior captures approval requests, tool results, and maintains in-process alert logs.

For sandbox rejections FS_SANDBOX_DENIED, the plugin only records to the Host log and does not trigger the banner, sound, or system notifications.

Installation and Enablement

The plugin supports dynamic plugin methods for quick enablement, as well as formal bundle installation for persistent effect.

Dynamic Enablement

The dynamic method is suitable for trying it out first. The steps are as follows:

  1. Get the source code:
git clone https://github.com/Frost-Reed/blocker-notify
  1. In a session, let the Agent read dynamic/host.js and dynamic/client.js, call cordis_define and cordis_run, and approve the Client runtime request on the web interface.

Dynamic plugins are in-process memory state. DSH needs to be re-enabled after a restart.

Formal Installation

The formal installation commands are as follows:

dsh plugin --profile web add github:Frost-Reed/blocker-notify

If installing from local source code, you can use:

dsh plugin --profile web add file:<local_clone_path>

Restart after installation:

dsh web

After formal installation, if new dependencies or layers are added, dsh web needs to be restarted.

If dsh is not in PATH, you can replace dsh with pnpm dsh or npx @deepseek-ai/dsh in the command.

When installing from git, the prepare build script may run. If the current environment uses pnpm, you might need to authorize it all at once in allowBuilds; alternatively, you can use the npm package or install pre-built artifacts via pnpm pack tarball.

Typical Usage

After installation or dynamic enablement, you can self-test using the following scenarios.

Self-test Question

Let the Agent call ask_user_question once.

Expected result: Banner, sound, and system notification appear.

Self-test Approval

Set the approval strategy to ask, the sandbox to read-only, and let the Agent try to write with sandbox_permissions.

Expected result: Actionable approval blocker reminder appears.

Self-test Sandbox Denial

Let the Agent write to a denied file without privilege escalation parameters.

Expected result: Silent, does not trigger banner, sound, or system notifications.

Suitable Scenarios and Notes

This plugin is suitable for the following scenarios:

  • Running Agents on the DSH web interface;
  • Frequently encountering events requiring user intervention, such as approval, questions, or plan reviews;
  • Wanting to receive reminders even if the page is not focused or is temporarily left;
  • Wanting to distinguish “actionable events” from “completed sandbox rejections.”

Notes before use:

  • The plugin runs with the current dsh process permissions. Check the source code, license, and dependencies before installing.
  • The plugin only reminds of actionable events like approval, questions, and plan reviews; sandbox rejections remain silent.
  • The sound uses Web Audio. It silently degrades if the browser blocks autoplay or the environment is unsupported.
  • OS-level notifications rely on Notification API permissions. If not enabled or denied, the banner provides options to enable or fix it.
  • Dynamic plugins are in-process memory state; DSH needs to be re-enabled after a restart.
  • After formal installation, new dependencies or layers require restarting dsh web.
  • The package.json declares peerDependencies including @deepseek-ai/cordis, @deepseek-ai/dsh-client-runtime, and react.

Links

Community directory page:

https://www.skillhub.cn/plugins/Frost-Reed/blocker-notify

GitHub repository:

https://github.com/Frost-Reed/blocker-notify