DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-notify

L

dsh-notify

Manifest valid

Push notifications for DeepSeek Harness: agent-callable notify_send tool + external delivery for schedule reminders (Telegram/Slack/Discord/Feishu/DingTalk/Bark/ntfy/webhook). DSH plugin.

hasBundlePatch

dsh-notify

English | 中文

Push notifications for DeepSeek Harness. Two capabilities in one plugin:

  1. notify_send tool — the agent can push a message to your phone / chat at any time: long build finished, approval needed, nightly job done, error hit.
  2. Schedule companion — the official @deepseek-ai/dsh-schedule package delivers reminders only inside the conversation (by design, "no email, SMS, or push notification"). dsh-notify watches the same schedule/change event stream and mirrors every dispatch to your channels, so a reminder also reaches you outside the session.

Channels

ChannelFieldsNotes
telegrambotToken, chatId, apiBase?Bot API sendMessage; apiBase for self-hosted bot API servers
slackurlIncoming webhook
discordurlWebhook
feishu 飞书url, secret?Custom bot; HMAC signing supported
dingtalk 钉钉url, secret?Custom bot; HMAC signing supported
barkdeviceKey, barkServer?iOS push; server defaults to https://api.day.app
ntfytopic, server?, token?Server defaults to https://ntfy.sh
webhookurl, headers?Generic POST of { title, message, level, source, timestamp }

Configure any number of channels; every notification fans out to all of them concurrently. One broken channel never blocks the others — the tool reports a per-channel receipt.

Install

dsh plugin --profile web add dsh-notify        # from npm once published
dsh plugin --profile web add github:Lubaoshuai/dsh-notify   # straight from GitHub

Then restart your dsh web session. The notify_send tool appears in the conversation.

Configure

Create ~/.dsh/dsh-notify/config.json (respects $DSH_HOME):

{
  "channels": [
    { "type": "feishu", "url": "https://open.feishu.cn/open-apis/bot/v2/hook/xxx", "secret": "optional" },
    { "type": "telegram", "botToken": "123456:ABC", "chatId": "42" },
    { "type": "bark", "deviceKey": "your-device-key" }
  ],
  "scheduleNotifications": true,
  "timeoutMs": 15000
}

The plugin also registers the dsh-notify settings namespace, so when a settings provider is mounted its document layers on top of the file. Changes are picked up live; no restart needed.

Restart dsh after editing the file, then ask the agent: "notify me when the tests finish" — or schedule a reminder and watch it arrive on your phone.

How it works

  • notify_send is a normal registered tool: typed JSON-Schema arguments, canonical { delivered, failed, results } output, cooperative timeoutMs, concurrency-safe.
  • The schedule companion folds version-1 schedule/change events (create → delete → dispatch) per session, exactly like the official package, so the notification can quote the original reminder prompt (dispatch events carry only the id).
  • Every listener body is failure-contained: a malformed event, a dead endpoint, or a timeout is reported, never thrown into the host.
  • Cold sessions: dsh must be running for a notification to fire (any in-process plugin has this limit). A reminder that fires while dsh is closed is delivered by schedule on next resume, and dsh-notify mirrors it then.

Security

  • Webhook URLs and bot tokens are secrets. The config file lives under your DSH_HOME; keep it file-mode 0600 if the machine is shared.
  • The webhook channel posts to whatever URL you configure — use HTTPS and treat it as an outbound integration, not an inbound API.

Development

npm install
npm run check        # typecheck + tests + build + pack dry-run
  • npm run typecheck — two tsc passes (sources, sources+tests)
  • npm test — vitest: fold protocol, per-channel HTTP payloads (local node:http server), signing schemes, config normalization
  • npm run build — tsc emit to lib/ (JS to lib/, declarations to lib/types/)

Peer dependencies track the published @deepseek-ai/* packages; the plugin loads against the real harness (dsh.bundle patch row in cordis.patch.yml, row name = package name).

Roadmap

  • v0.2: browser settings card on the Web UI Plugins page
  • v0.2: SMTP email channel
  • v0.3: per-channel quiet hours and retry with backoff

License

MIT

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 156/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 8.6k

↓ 6.1k/wk

MIT

TypeScript

Oct 10, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.2k

MIT

Python

Oct 7, 2026

Index only — not installable

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 6.1k

↓ 112.4k/wk

MIT

TypeScript

Oct 10, 2026

dsh plugin --profile web add dshmarket

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 5k

NOASSERTION

Python

Oct 11, 2026

dsh plugin --profile web add treg-dsh