DSH Marketplace

dsh-notification

omdsh-dev/dsh-notification

Desktop notifications for turn completions, with per-outcome controls and keyword rules.

586JavaScriptMITSource

Install

Add dsh-notification to DeepSeek Harness

via GitHub · GitHub source

Installing from GitHub runs the project's build script, which pnpm blocks until you allowlist it — run the command once and pnpm prints the exact key to add under `allowBuilds` in ~/.dsh/profiles/web/pnpm-workspace.yaml.

What happened when we ran it

Installed cleanly when we ran it

Every command here is run in a throwaway container against a clean profile, and the result is whatever the harness recorded — not a guess from the source. Last run 2d ago.

Due diligence

Before you install dsh-notification

  • Source of record: omdsh-dev/dsh-notification — present in the community registry that DSH's own plugin market installs from.
  • Licensed under MIT.
  • Detected: terminal surface. Read the source before granting these.
  • A listing here is not a security review. Plugins run with your agent's permissions.

The AI take

What it is — DeepSeek Harness session completions trigger browser desktop notifications

Who it is for — Users performing sessions in the DeepSeek Harness web GUI need to know when they complete even after switching tabs. Users who only run locally should not install it since it is a browser client plugin.

Watch out — Sandbox test passed: installed into fresh profile and registered by harness. Notifications require browser Notification permission and the page to remain open. Notifications only match the last turn content and use flat text body.

The verdict — I would install it because it provides UI-only notifications without affecting the model, with the premise that browser Notification permission must be granted and the page kept open.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.

What dsh-notification does

Layered log fragments pass through filters and converge into desktop notification shapes.

dsh-notification is a DeepSeek Harness plugin that shows desktop notifications when a session finishes a turn. DeepSeek Harness provides a bounded session projection containing the last turn’s reason, reply text and tool names; the browser client watches the session list’s live completion reminder, applies persisted preferences, and calls the browser Notification API. The host reads the existing session log without adding events, while preferences are stored in browser localStorage.

DeepSeek Harness loads the host and client parts through the web profile. Settings under Settings > Notifications control outcome toggles, literal or regular-expression keyword rules, manual dismissal, visibility filtering and a test notification. The host-side maxBodyChars setting in cordis.yml bounds the projected reply text; the default is 400.

This suits developers who keep the DeepSeek Harness web page open but work in another tab, session or workspace. It is not suitable for notifications after the page is closed, or for reconnect recovery: completions that occur while the page is disconnected are not re-notified. The plugin reaches the existing session log through a read-only projection and reaches the browser’s notification surface to display completion status; it adds no model-facing tool, prompt content or log event.

dsh-notification documentation

Configuring dsh-notification

DeepSeek Harness reads the host configuration for dsh-notification from cordis.yml:

Key Default Behaviour
maxBodyChars 400 Maximum size of the projected reply snippet; longer text is ellipsised by the host.

The web client stores preferences in browser localStorage. Under Settings > Notifications, Enable notifications is the master switch. Outcome controls default to notifications for completed and error, with aborted, blocked and token limit disabled. Keyword rules match the session title, the latest reply text and the latest tool names. Include rules require at least one match; an exclude match suppresses the notification. Rules can use literal or regular-expression matching and may be case-sensitive.

Commands and web profile

DeepSeek Harness installs the plugin with dsh plugin --profile web add. After installation, restart the web server so DeepSeek Harness loads both the host portion and the served client bundle. The default dsh web profile supplies the session list, settings shell and locale required by the client composition. The settings section can grant browser notification permission and send a test notification.

How dsh-notification behaves

DeepSeek Harness computes a session-list completion reminder for a live running-to-idle transition. The client deduplicates that reminder, checks notification permission and the current-session visibility gate, then creates a notification titled DSH finished. With Only notify when the task is out of view enabled, the current session is suppressed, while hidden pages and other sessions or workspaces can still notify. Notifications for one session replace one another. Require manual dismiss keeps a notification visible until dismissed.

The plugin does not change prompts or session logs, register tools, or add token usage. The model receives no new capability.

Known limits of dsh-notification

The page must remain open, and browser Notification permission must be granted. A denied site permission cannot be overridden inside the page. Notifications fire once per finished turn; disconnected completions are not replayed. Rules inspect only the title and latest turn, and clicking focuses the window without linking to the turn.

Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub

Same category

Alternatives to dsh-notification

dsh-pocket

shaobeichen

80

Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.

Installed cleanly when we ran it

npm packageJavaScript2d ago

AI review

dsh-pocket

What it is — DSH Pocket plugin provides remote phone access to the DeepSeek Harness Web UI. It supports scanning QR codes for LAN or public cloudflared tunnel access with real-time sync, and includes a mobile-adaptive layout.

Who it is for — When you need to check agent tasks running on your computer while out of the office or use the Harness to look up information outdoors without a remote desktop, you can install this plugin.
If you mainly operate the DeepSeek Harness on the same computer and do not need remote access, you do not need to install it.

Watch out — The sandbox test passed: it was installed in a fresh profile and registered into the harness profile. No obvious issues were found.

The verdict — I would install it because the plugin is available as a single npm package and the sandbox test confirmed successful registration in a fresh profile.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
Details

Open DSH workspace directories in VS Code directly from the web GUI.

Did not install when we ran it

npm packageJavaScript3d ago

AI review

dsh-open-in-vscode

What it is — Adds an Open in VS Code menu to workspace rows in the DeepSeek Harness web GUI sidebar.

Who it is for — When managing workspaces in the DeepSeek Harness web GUI and needing to open a directory in VS Code, this plugin is suitable. Users who manage workspaces solely with command line tools without the web GUI do not need it.

Watch out — Sandbox test failed: after installation, Harness did not register the plugin into the profile. No other obvious pitfalls were found.

The verdict — Because the sandbox test shows it fails to register into the profile after installation, I would not install it until Harness can register it successfully.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
1Details

dsh-im

xmanrui

41

Connect IM bots to DeepSeek Harness by scanning QR codes (supports Feishu, Weixin, DingTalk, and more).

Installed cleanly when we ran it

npm packageJavaScript2d ago

AI review

dsh-im

What it is — dsh-im plugin connects IM bots to DeepSeek Harness by scanning QR codes or entering existing bot credentials, providing unified management for Feishu, WeChat, DingTalk, WeCom, QQ, Telegram, Discord, and WhatsApp bots.

Who it is for — When an AI assistant needs to be integrated into enterprise IM tools such as WeCom or DingTalk using DeepSeek Harness for user query handling and message exchange via persistent connections, this plugin supplies the required capabilities. If only a single IM platform is used with independent credentials and no need to manage multiple channels uniformly, another approach can be chosen.

Watch out — The plugin registers successfully in a fresh profile during sandbox testing. No obvious issues were observed.

The verdict — If unified management of multiple IM platform bots with existing QR code or credential setup is required, this plugin provides the necessary functionality; otherwise, it is not needed.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
Source

plugin-notify

whyihaveyou

37

IM webhook and local notifications on turn completion, errors, or approval (Feishu/WeCom/DingTalk/Slack/Discord/custom).

No one-line install — this plugin lives inside a larger repository and publishes no npm package.

GitHub sourceHTML2d ago

AI review

plugin-notify

What it is — Sends notifications via IM webhooks and local systems when turns complete, errors occur, or approvals are pending.

Who it is for — When using DeepSeek Harness for turn completion, errors, or approval notifications, users needing instant results should install this plugin. If not involving external IM integration, users can skip this plugin.

Watch out — This is a subdirectory plugin with no single command install. Manual allowance of shell script execution is required from source builds. It executes shell commands and requires API key or token. No sandbox testing was conducted.

The verdict — I would install it because it handles notifications for turn completion and errors in agent workflows, but only if external IM integration is necessary.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
2Source

dsh-notifier

THEWOLFWALKER

35

Unified notification & remote control for DSH: one `notify()` API, 25+ channels (Telegram / DingTalk / Feishu / WeCom / QQ bot / WxPusher / PushPlus / ServerChan / Bark / Discord / Slack / ntfy / webhook...), level routing (timeSensitive / active / passive) with tiered retry, multi-channel inbound approval (Telegram buttons, Feishu cards, QQ, WxPusher, WeChat iLink), official QR login for QQ/DingTalk/Feishu, a local web admin console, multi-agent routing, desktop notifications — and a mobile command center: `!status` / `!stop` / `!retry` agent control from your phone plus actionable notifications (view result / retry / logs buttons that call back into the agent). Secrets redacted, tool rate-limited, zero runtime deps — plus an open event source: other plugins can inject the notifier service (ctx.notifier) and subscribe to dsh-notifier/sent events, reusing notification without coupling.

Installs, but needs a build approved first

npm packageJavaScript2d ago

AI review

dsh-notifier

What it is — DSH plugin providing notify() API and mobile remote command center.

Who it is for — When using DSH agent for notification push and remote control, this plugin applies. If you do not wish to integrate multi-channel inbound approval, this plugin is unnecessary.

Watch out — Sandbox test shows the plugin can be installed, but the protobufjs@7.6.5 build script is blocked by pnpm, users need to manually allow it to complete registration. No other obvious issues found.

The verdict — I would install it because it provides mobile command center and multi-channel notifications, but the build script must be manually allowed when installing from source.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
1Source

dsh-lark

omdsh-dev

30

Lark/Feishu bot channel for DeepSeek Harness: each chat drives its own agent, and tool approvals, model questions, and plan reviews return as cards answered by a button or a reply. Switch workspace and model from the chat (`/cd`, `/model`, `/new`), and run several bots that keep separate sessions and can hand turns to each other in one group.

Installs, but needs a build approved first

npm packageTypeScript2d ago

AI review

dsh-lark

What it is — Integrates DeepSeek Harness into Feishu/Lark bot channel.

Who it is for — If you need to drive multiple DeepSeek Harness agents in Feishu or Lark group chats and switch workspaces or models from the chat.

If you do not use Feishu or Lark tenants, you can skip this plugin.

Watch out — Sandbox test shows it installs successfully but pnpm blocks the protobufjs@ 7.6.5 build script, requiring manual approval for harness registration. No other obvious issues found.

The verdict — I would install it, because sandbox test confirms registration completes when manually allowing the protobufjs@ 7.6.5 build script.

Generated by grok-4.6, and a starting point rather than a verdict. Where it says a plugin installs or does not, that is from a real run in a clean profile — everything else is read off the repository. Trust the source over this.Read the source
Source