DSH Plugins Marketplace

DSH Plugins

Plugins

/

Notifications & Integrations

/

dsh-notify

d

dsh-notify

Manifest valid

System-level desktop notifications: turn-completion and workflow-end banners, plus a modal alert when an approval is needed (macOS osascript / Linux notify-send).

hasBundlePatch

dsh-notify

English | 中文

DSH server-side plugin: pops operating-system-level notifications to alert you to important events happening in DSH, so you don't need to keep staring at the browser page.

Notification triggers

EventPopup typeDefault
Main session task reply finished (turn/end completed, non-subagent session)System banner "Session name · Task finished"On
Main session task failed (turn/end reason=error)Modal popup "Session name · Task failed" + soundOn
Main session task interrupted (turn/end reason=aborted / max-tokens / blocked)System banner "Session name · Task interrupted"On
Single tool call failed (tools/result isError)System banner "Session name · Tool failed"On
Goal completed (goal/changed phase=complete)System banner "Session name · Goal completed"On
Goal blocked (goal/changed phase=blocked)Modal popup "Session name · Goal blocked"On
Workflow run finished (tool-workflow/run-end)System banner "Session name · Workflow finished"On
Manual approval needed: tool permission request (approval/asked)Modal popup "Session name · Approval needed" + soundOn
Permission request auto-rejected (policy is never)System banner "Session name · Permission request (auto-rejected)"On (follows the item above)
Subagent (background subtask) turn ended (turn/end, subagent session)System banner "Session name · Subtask finished"Off

Notes:

  • Titles carry the session name: every popup title uses the corresponding session's name (taken from the session's session/title event), truncated automatically when too long (18 characters + …); when there is no title, it falls back to the first 8 characters of the session ID.
  • Tool-failure throttling: within the same session, two tool-failure notifications are separated by at least 60 seconds by default (toolErrorCooldownMs); you can also use toolErrorAllowlist to only notify for critical tools (e.g. ["bash", "ssh_exec"]).
  • Severity levels: real failures (errors), blocked goals, and manual approval requests → modal popup (must be clicked to dismiss) with a sound; completions, interruptions, auto-rejections, etc. → notification-center banner (non-intrusive).
  • macOS: modals use osascript display alert ... as critical, banners use display notification; Linux: unified notify-send, with -u critical (urgent level, stays until clicked) for modal scenarios; other platforms: logs only.
  • When the approval policy is ask, an approval request pops a modal dialog reminding you to approve it in the DSH UI; when the policy is never, requests are auto-rejected and only a banner tells you it was auto-rejected, without popping a modal to disturb you.
  • Popups run detached from the process and do not block the DSH server.

Installation

Standard DSH plugin package installation (any one of the following); after installing, restart dsh web for it to take effect:

# Local development (link mode, pointing at this repository path)
dsh plugin --profile web add link:/Users/zhengjunyao/Documents/DSH-test/dsh-notify

# After publishing to GitHub (the repository must have the dsh-plugin topic)
dsh plugin --profile web add github:<your-account>/dsh-notify

Alternative: the repository ships with scripts/install.mjs (copies the package to ~/.dsh/profiles/node_modules/dsh-notify), but the standard method above is recommended.

Configuration

The plugin's cordis.patch.yml provides default configuration; after installing, you can override it at the profile's patch layer (e.g. ~/.dsh/profiles/web/cordis.patch.yml):

- patch:
    - id: notify
      config:
        notifyTurnEnd: true      # main session task finished banner
        notifyTurnError: true    # main session task failed: error→modal popup, aborted/over-limit/blocked→banner
        notifySubagentEnd: false # subtask finished banner (off by default to avoid noise)
        notifyWorkflowEnd: true  # workflow finished banner
        notifyApproval: true     # approval-needed popup / auto-rejected banner
        notifyToolError: true    # single tool call failed banner (per-session cooldown + optional allowlist against noise)
        toolErrorAllowlist: []   # only notify for these tool names, empty = all (e.g. ["bash", "ssh_exec"])
        toolErrorCooldownMs: 60000 # minimum interval between two tool-failure notifications in the same session (ms)
        notifyGoalComplete: true # goal completed banner
        notifyGoalBlocked: true  # goal blocked modal popup
        sound: true              # play a sound on popup

After changing the configuration, restart dsh web as well.

Manual verification

You can verify that popups work without restarting:

osascript -e 'display notification "测试" with title "DSH" sound name "Glass"'
osascript -e 'display alert "DSH" message "测试" as critical'

Publishing to the community

  1. Push this repository to your GitHub (remember to change the repository.url in package.json to the actual address).
  2. Add the dsh-plugin topic in the repository settings → Topics, so DSH users around the world can find it and install it with one command.
  3. (Optional) Register it in community marketplaces/lists, e.g. dsh-market, awesome-dsh-plugin.
  4. (Optional) The official plugin scaffolding is still under discussion; you can leave feedback at deepseek-ai/deepseek-harness Discussion #1629 to help push forward an official publishing channel.

Compatibility

DSH 0.1.7-rc.2: failedDSH 0.2.0-rc.1: failedDSH 0.2.0-rc.2: failed

Versions

Latest versionPublishedSize
0.1.1——
0.1.2——
0.1.3——
0.1.4——
0.1.5——
0.1.6——
0.1.7——

Comments

Loading…

Similar plugins

dsh-notifier

System-native notifications when a task finishes or needs your confirmation: Windows toast, macOS osascript, and Linux notify-send.

Notifications & IntegrationsManifest valid

★ 0

↓ 681/wk

dsh plugin --profile web add dsh-notifier

by AnCoSONG

DSH task-completion notifier: system notifications for turn/subagent/workflow/goal/question events. Cross-platform (macOS osascript / Linux notify-send / Windows toast).

Manifest valid

★ 0

↓ 11/wk

JavaScript

Aug 15, 2026

dsh plugin --profile web add @anco-dsh/dsh-task-notifier

Desktop and webhook alerts on macOS, Linux and Windows when an agent finishes a turn, errors, or waits for approval — zero-dependency native notifications (osascript / notify-send / PowerShell toast)

Notifications & IntegrationsManifest valid

★ 2

↓ 562/wk

MIT

JavaScript

dsh plugin --profile web add dsh-notification

by bitterSmilezzz

Native desktop notifications for DSH — approvals, questions, turn completion, session end and errors — with click-to-session, per-event toggles, quiet hours, a privacy switch that keeps message text o

Notifications & IntegrationsTerminal & ClientsManifest valid

★ 3

↓ 135/wk

MIT

TypeScript

Oct 20, 2026

dsh plugin --profile web add @bittersmilezzz/dsh-notify

OS-level system notifications for the dsh web GUI: popups when a turn finishes or the agent needs your approval, answer, or plan review while the page is in the background.

Notifications & IntegrationsManifest valid

★ 0

dsh plugin --profile web add @deepseek-ai/dsh-client-ui-notifications

by knownothing114

Native desktop alerts when dsh needs the human — approvals, questions, plan reviews, turn completion, goals, errors and workflow runs — plus a Settings tab for every option, hot-applied.

Notifications & IntegrationsManifest valid

★ 0

MIT

JavaScript

Aug 28, 2026

dsh plugin --profile web add dsh-notify