DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Herald — DSH Plugin for DeepSeek Harness
← Plugins
H

dsh-herald

Herald

Herald — tri-channel task notifications for DeepSeek Harness (DSH): approval requests, awaited replies, and finished jobs / subagents / workflows delivered through three independently switchable channels — in-page toasts with chimes, browser-raised OS banners, and host-direct OS toasts that keep wor

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:bululuburuarua666/dsh-herald#f9eefc418a663181306a89c40420d8a0d2408d1f
READMECompatibilityVersions
channel A — in-page toastchannel B — browser OS bannerchannel C — host-direct OS toast
panel pair
panel light

Description

Herald — tri-channel task notifications for DeepSeek Harness (DSH): approval requests, awaited replies, and finished jobs / subagents / workflows delivered through three independently switchable channels — in-page toasts with chimes, browser-raised OS banners, and host-direct OS toasts that keep working with the browser closed. Premium bell panel, persistent history, incremental adaptive polling.

Compatibility and provenance

Herald is published as dsh-herald and currently resolves to version 1.0.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/6/2026

Versions

1.0.1stable
9/6/2026

Related plugins

Loading related plugins…

Latest
1.0.1
DSH
*
HMR
Process restart
Tree shaking
Declares side effects by file
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/6/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseIm@xmanrui/dsh-im把十一种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect eleven IM channels and a public AI Office to a local DeepSeek Harness.Pocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).Chat Importdsh-chat-importImport conversation history from 25+ AI coding agents into DeepSeek Harness as resumable sessions — tool calls, reasoning and results kept intact, with reverse export and sync. | 把 25+ AI 编程 Agent 的聊天记录导入 DeepSeek Harness 继续对话,保留工具调用、推理与结果,支持反向导出与同步。

README

Herald · 传令官 — dsh-herald

English | 中文

Task notifications for DeepSeek Harness (DSH) — delivered even when the browser is closed. Approval requests · awaiting-your-reply · finished background jobs / subagents / workflows — pushed to your desktop through three independently switchable channels, with in-page toasts & chimes, a premium bell panel, and persistent history.

Herald, the medieval messenger who crossed the city walls — because that is literally what this plugin does: the DSH host process raises the OS notification itself (PowerShell WinRT on Windows, osascript on macOS, notify-send on Linux). Browser open, hidden, or fully closed — the toast still lands.

real OS toast

A real host-direct toast on Windows — no browser involved.

panel pair panel light

The bell panel in dark (follows the DSH theme) and light — card-based channel settings, per-channel test buttons, segmented theme control. Bilingual 中/EN UI.

in-page toast

The in-page toast channel in the real GUI (top-right, 6s, hover to pause).

Why Herald

DSH runs long agent turns, background jobs, subagents and workflows. You step away for two minutes and miss the approval prompt. Notification plugins that rely on the browser's Notification API die silently when the page is hidden (background tabs pause polling), throttled, or the browser is closed. Herald fixes the delivery architecture itself — the host is the notifier.

Search-friendly summary: DSH plugin · agent task notifications · approval alerts · desktop notifications · system notification center · Windows toast · macOS notification · background job alerts · subagent / workflow completion · in-page toasts · bell panel · notification history.

The three channels

ChannelWhat it isSwitch lives inDelivers when
A · In-browser alertsToast overlays + chimes rendered by the pageper-browser (localStorage)switch on
B · Browser OS bannersBanners the page requests via the browser Notification APIper-browser (localStorage)switch on and host not delivering (stands by — never double banners)
C · Host-direct OS toastsThe DSH host process raises OS-center toasts itselfhost-side (settings.json, cross-browser, works headless)switch on + platform adapter
C hostB browserOS banner sourceBrowser closed?
ONONhost only (B stands by)✅ still notified
ONOFFhost only✅ still notified
OFFONbrowser, only while browsing❌
OFFOFFnone (bell still records)❌

C off + B on is a real preference Herald makes expressible — browser-branded banners while you're at the page, silence when you're not (also right for remote GUI access: host toasts land on the server machine, browser banners on yours). DSH_TASK_NOTIFY_OS=0|1 in the host environment overrides and locks channel C for headless operations.

Features

  • 🔔 Tri-channel delivery — per-channel switches with per-channel test buttons and instant switch feedback
  • 🖥️ Host-direct OS toasts — PowerShell WinRT (zero dependencies) / osascript / notify-send, graceful degradation when no adapter exists
  • 🛡️ Anti-bombardment — serialized spawns, 1.2s min gap, bursts fold into summary toasts (approvals are exempt), 5s timeout kill, one retry
  • 🔒 Injection-safe — text travels base64(UTF-16LE); tags sanitized; spawns without a shell
  • 🎨 Premium panel — status-dot health strip, segmented theme control, custom slider/switches, entrance animations (reduced-motion safe), 中/EN
  • 🔊 Direction-encoded chimes — approvals double-tap, replies ascend, failures descend
  • 💾 Persistent history — 300 records, atomic writes, corrupt-file recovery; channel settings and history live under <profile>/data/task-notify/, surviving reinstalls and the rename from upstream
  • ⚡ Incremental sync — pullSince change feed, adaptive polling 1.5→5s, legacy-host fallback
  • 🧪 108 tests, zero runtime dependencies beyond DSH's own packages

Install

Requires Node.js + pnpm. After installing: restart dsh web, then hard-refresh the page (Ctrl+F5).

npm (recommended)

dsh plugin --profile web add dsh-herald

From GitHub

dsh plugin --profile web add git+https://github.com/bululuburuarua666/dsh-herald.git

Manual (offline)

Download dsh-herald-1.0.1.zip from the releases, extract, and copy lib/, package.json, cordis.patch.yml into ~/.dsh/profiles/<name>/node_modules/dsh-herald/. Then append to ~/.dsh/profiles/<name>/cordis.patch.yml:

- insert:
    - id: herald
      name: 'dsh-herald'

Upgrading from upstream dsh-task-notify

Remove the old package and its composition row, then install Herald. History (records.json), channel settings (settings.json) and per-browser preferences carry over — the data directory resolves independently of the package name, and localStorage keys are unchanged from upstream.

First run

Click the 🔔 bell → expand the drawer (▸) → 通知通道 holds all three switches with test buttons. Host-direct toasts need no permission; channel B asks for the browser grant via its own test button.

How it works

events (approval/request · agent/turn-stopping · subagent/end ·
        workflow/end · jobs.onJobDone)
   │
   ▼
push() ── new record ──► queue (persistent, cap 300) ──► pullSince polling
   │                                                        │
   └─► osnotify adapter ──► OS notification center          ▼
       (settings.json gate,                          browser page
        win32/darwin/linux)                    ├─ A: toasts + chimes
                                              └─ B: browser banners (standby
                                                   while the host delivers)

The host half (lib/index.js · lib/osnotify.js · lib/settings.js · lib/store.js · lib/typert.js) listens across all sessions, persists records, raises host-direct toasts for genuinely new records (key-touch dedupe), and serves the taskNotify Remote service plus the ntfy_status agent tool. The client half (lib/client.js) is a zero-build module loader entry — incremental polling, bell/panel/toasts UI, channel gating. Client↔host RPC rides the raw connection seam (/api/taskNotify/…) — a deliberate design avoiding the self-mounting-namespace inject deadlock.

Client-only changes take effect on page refresh; host-side changes need a DSH restart (typert manifests are cached per package name).

Tests

npm test

Node's built-in runner, no extra dependencies: client logic against mocked window/React/Notification, host queue + persistence + RPC wire-shape contracts, the OS adapter under a virtual clock, and the settings store. Host tests need the peer packages resolvable — a junction/symlink to an installed DSH profile's node_modules suffices.

Relation to upstream

Herald began as kaotusi/dsh-task-notify (MIT) and grew a reworked delivery architecture, tri-channel model, and UI system. Upstream bugs found and fixed along the way (see CHANGELOG.md): the web-composition inject deadlock, and a gateway parameter-dispatch mismatch that silently degraded incremental pulls, cross-tab acks, and settings writes. Herald is an independent community project compatible with DeepSeek Harness; it is not an official DeepSeek product.

License

MIT — © 2026 kaotusi (upstream), bululuburuarua666 & contributors.