THEWOLFWALKER/dsh-notifier
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 — and an identity system (v0.7): pairing codes (/pair in any DM, first redeemer becomes owner), composite-key bindings, member roles, and a guided bootstrap state when the whitelist is empty.
Puts your agent in your pocket: pushes DSH events (turn/end, approval/asked, agent/error) to 27 messaging channels — Telegram, Slack, Discord, Feishu, DingTalk, WeCom, QQ bot, OneBot, Teams, Mattermost, Google Chat, Bark, Pushover, PushDeer, Chanify, ntfy, Gotify, iGot, WxPusher and more — and gives the model its own notify({message, channel, title}) tool. Long tasks send heartbeats and stall alerts out of the box, and you can stop a runaway turn directly from the notification card.
Install
dsh plugin add dsh-notifier --profile webdsh plugin add dsh-notifier --profile <profile-name> (npm package dsh-notifier 0.9.0, verified on npm 2026-08-29), then add channel config to the profile's cordis.patch.yml under an insert: block with id: dsh-notifier + a channels: list (telegram botToken/chatId, dingtalk webhook/secret, bark key, etc.). Zero runtime deps; Node.js 22+.
Compatibility
DSH web profile; Cordis plugin with zero deps. Node.js 22+. Bilingual EN/简体中文 README.
Details
- Repo: THEWOLFWALKER/dsh-notifier
- Category: Notifications & Integrations
- Stars: 79
- Version: npm dsh-notifier 0.9.0
- Last push: 2026-08-27
- First seen: 2026-08-14
Recent updates
27 channels; dual trigger lines (auto status push + model-facing notify tool); heartbeat + stall alerts; remote stop for runaway turns; zero deps.
FAQ
- Which channels does dsh-notifier support?
- 27 channels including Telegram, Slack, Discord, Feishu, DingTalk, WeCom, WeCom App, QQ bot, OneBot, Teams, Mattermost, Google Chat, Bark, Pushover, PushDeer, Chanify, ntfy, Gotify, iGot, WxPusher and more.
- Can the model send notifications itself?
- Yes — the plugin registers a model-facing notify({message, channel, title}) tool, so the agent can push updates on its own.
- Does it need DSH core changes?
- No — it is a standard Cordis plugin installed via dsh plugin add; only per-channel config in the profile's cordis.patch.yml is required.
Alternatives
omdsh-dev/dsh-notification · dingyi222666/dsh-session-notification · Alan2Z/dsh-speak