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.

Ui Task Notify — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-ui-task-notify

Ui Task Notify

Web task-complete alert: raises a Windows notification when an agent finishes while the page is hidden, with a Plugins-settings card

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-ui-task-notify@0.2.0
READMECompatibilityVersions

Compatibility and provenance

Ui Task Notify is published as dsh-ui-task-notify and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/18/2026

Versions

0.2.0stable
9/18/2026
0.1.1stable
8/24/2026
0.1.0stable
8/23/2026
Show 1 more versionCollapse versions
0.1.0-rc.8prerelease
8/23/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
117 kB
Files
16
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/18/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

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-baseRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rPocketdsh-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).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.

README

dsh-ui-task-notify

English | 中文

Install

# from npm (recommended)
dsh plugin --profile web add dsh-ui-task-notify

# from GitHub
dsh plugin --profile web add github:ivvan3016/dsh-ui-task-notify

The npm package ships prebuilt artifacts and installs without any further setup. Git installs fetch the source and rebuild it via prepare; pnpm blocks that build until the package is allowlisted. When a git install fails with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED, copy the exact key pnpm prints into the profile's pnpm-workspace.yaml and re-run the command:

allowBuilds:
  dsh-ui-task-notify@https://codeload.github.com/ivvan3016/dsh-ui-task-notify/tar.gz/<commit-hash>: true

The key is bound to one resolved commit — a bare package name does not match, and it changes only when you update the dependency to a newer commit.

Uninstall

dsh plugin --profile web remove dsh-ui-task-notify

Removing the plugin drops its bundle layer and removes the package from the profile.

Web task-complete alert plugin: when an agent finishes — or starts waiting on you for an approval, question, or plan review — while the page is hidden, it raises a browser (Windows) notification, a system toast that carries its own sound and stays visible even while the whole window is minimized. It renders nothing beyond its settings card and issues no RPC: both triggers are host-authoritative signals already streamed to the browser. The agent idle edge comes from ctx.sessions.list (the Host pushes host/session-status frames from agent/status, and the client runtime folds them into each list row's running bit); the pending-interaction edge comes from ctx.uiSession.pendingInteractions, the map the Session UI adapter publishes for sessions waiting on the user (approval, question, and plan-review domains). Because running spans the driver's whole drain interval, a multi-turn goal alerts exactly once, at true quiescence, rather than once per turn.

The behavior gates are durable preferences in the ui-task-alert settings namespace, registered by the package's node half and bound through ctx.settingsScope:

FieldDefaultMeaning
enabledtrueMaster switch; when off the alert does nothing.
onlyWhenHiddentrueAlert only while document.hidden; a visible page needs no reminder.
includeSubagentsfalseAlso alert when a subagent session finishes; top-level sessions only by default.
interactionAlerttrueAlso alert when a session is waiting on you (approval, question, plan review).

Settings → Plugins → Plugin configuration shows a task-complete alert card. The card's 系统通知 / System notification row is an authorize button, not a setting: click 授权 to ask the browser for notification permission; once granted the button becomes disabled and reads 已授权, and a finished agent (or one waiting on you) raises the Windows toast (with the system notification sound) even with the whole browser window minimized. A denied permission reads 已拒绝 and must be re-granted in the browser's site settings; an environment without the Notification API reads 不支持. The boolean fields below stage save/discard with per-field reset to the composed default and override markers; toggling enabled off takes effect immediately for the running page — the alert checks the section at every idle edge.

An edge observed while the page is visible is consumed without alerting, so returning later never fires a stale reminder; an edge missed during a disconnect alerts on the reconnect resync, which is the "finished while you were away" case. A pending-interaction edge fires once per interaction kind, so a replacement request of the same kind does not re-alert.

Model Experience

None, as this package reacts to host-computed agent status for a human and touches no prompt, message, schema, stream, or tool result.

KV Cache effect

None; the package never assembles or sends provider requests.

Known Limitations and Deferred Work

  • A closed or discarded browser tab cannot alert — the page must be alive for the notification; a fully closed browser or a memory-reclaimed tab stays silent until reopened. The notification additionally needs the browser's notification permission (a denied permission is sticky until changed in the browser's site settings).
  • Subagent completions are quiet by default — the includeSubagents preference exists but defaults to false; flip it in the card (or the settings document) to alert on every child session.
  • Published declarations carry source specifiers — lib/types mirrors src/, so a relative import inside a .d.ts reads ./locales.ts and resolves only in a TypeScript workspace with allowImportingTsExtensions; no .js ships beside them. The dsh runtime reads only lib/index.js and lib/client.js, never these types.

Runtime invariant: No companion is published. The package observes two client-owned sources and raises a browser notification; it owns no event protocol or mutable relation whose independent observations could diverge. The settings registration, the watcher edges, and their disposal are covered by this package's behavior specs.