DjangoAILab/dsh-plugins--plugins-manual-dsh-notifier ↗★ 1

dsh-notifier

DSH 统一通知推送插件:一个 notify() API 打天下 + 多渠道 adapter;远程审批/远程会话支持 telegram/feishu/qq/wxpusher/wechat/dingtalk 六通道双向回传;移动指挥中心(长任务心跳 / 疑似卡住提醒 / 通知按钮停止任务);开放事件源(其他插件经 notifier 服务推送 + dsh-notifier/sent 事件订阅);QQ/钉钉/飞书官方扫码授权;本机 Web 管理台(凭证/路由/扫码授权网页可管,移动端适配)。零运行时依赖(只用 fetch + node:crypto + 原生 WebSocket)。 适合想把任务通知推送到即时通讯并远程审批的用户,需配置渠道。

パッケージ
dsh-notifier
互換性
未検証
Cordis ピア範囲
^4.0.1
バージョン
0.7.3
ライセンス
MIT
最終更新
2026/09/01

同名パッケージの別リポジトリ

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DjangoAILab/dsh-plugins#18ae7e5df085d28e7a573d1e3ef0286bda1ea793&path:plugins/manual/dsh-notifier

ドキュメント

README 全文を読む ↗

Configuration

All channels live under config.channels. Key example:

insert:
  - id: dsh-notifier
    config:
      channels:
        - type: telegram
          botToken: "123456:ABC-DEF..."
          chatId: "987654321"
        - type: feishu
          webhook: "https://open.feishu.cn/open-apis/bot/v2/hook/..."
        - type: wxpusher
          appToken: "AT_..."
          uids: ["UID_..."]
        - type: serverchan
          sct: "SCT..."

Optional blocks each opt in under their own key:

BlockPurposeKey
inboundRemote approval + conversationallowUsers: [...] (first-import only since v0.7; manage members at runtime via the admin console or /pair)
approvalTimeout, numbered reply, escalationmode: answer
conversationMerge window, steer prefixmergeWindowMs: 1500
routeMulti-agent routingsessionTtlHours: 24
adminWeb consoleenabled: true, port: 8104
events / keywords / graceSecondsAnti-disturb gatesexclude: ["heartbeat"]
events.turnStart / longRunning / stallv0.5 status linelongRunning: { firstAfterMs: 900000 }
digestLedger + daily summaryenabled: true

v0.5 status line defaults: longRunning and stall are on (15min first heartbeat, then every 15min; stall after 10min of silence) — zero-config long tasks are no longer a black box. turnStart is off by default (one message per turn is noise at the desk; turn it on when you fire a task and walk away). All timings clamp to a 60s floor; disable any of them with enabled: false.