dsh-notifier
THEWOLFWALKER/dsh-notifier
DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。
安装
把 dsh-notifier 装进 DeepSeek Harness
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
我们跑过之后
我们跑过,装得上
这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 昨天.
安装前须知
装 dsh-notifier 之前,先看这几条
- 源码在这里: THEWOLFWALKER/dsh-notifier——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
- 开源协议:MIT。
- 自动识别到:终端执行。授权之前请先读一遍源码。
- 被收录在这里不代表通过了安全审计。插件是带着你 agent 的权限在跑。
AI 锐评
是什么 — DSH 插件,提供 notify() API 和手机远程命令中心。
谁该装 — 在使用 DeepSeek Harness 的 agent 进行通知推送和远程控制时,此插件适用。 如果您不希望集成多渠道 inbound 审批,此插件不必要。
注意 — 沙箱实测,该插件能被安装,但 protobufjs@7.6.5 的构建脚本被 pnpm 拦下,用户需手动允许才能完成注册。未发现其他明显坑。
锐评 — 我会装它,因为它提供了手机命令中心和多渠道通知,但从源码安装时必须手动允许构建脚本通过。
grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。
dsh-notifier 是做什么的

dsh-notifier 是一个 DeepSeek Harness 插件,用统一的 notify() API 把 agent 和会话事件发送到 Telegram、钉钉、飞书、Discord、Slack、Bark、ntfy、webhook 等通知渠道。DeepSeek Harness 会自动处理 turn/end、approval/asked 和 agent/error,模型也能调用 notify tool 主动推送。消息按 timeSensitive、active、passive 分级路由,经过多 agent 绑定、渠道适配器和分层重试后发送;配置写在 cordis.patch.yml 中。
它还支持反向操作:通过 Telegram 按钮、飞书卡片、QQ、WxPusher 和微信 iLink 处理审批,并从手机发送 follow-up、inject、steer,或使用 !status、!stop、!retry 控制 agent。长任务可发送 heartbeat,停滞时发出告警,Telegram 和飞书通知还可附带停止操作。admin.enabled: true 会开启仅监听 loopback 的本地 Web 管理台。其他插件可注入 ctx.notifier,并订阅 dsh-notifier/sent 事件。
DeepSeek Harness 插件适合需要跨渠道通知、远程审批和手机控制的运行环境。如果不希望 agent 接收远程操作,或只需要现有会话通知,不应安装它。检测到的 terminal surface 风险来自远程 steer 和 stop 操作;这些操作沿用 agent 已有权限。README 要求 Node.js 22+,并说明无 runtime dependencies。
dsh-notifier 的文档
dsh-notifier 的配置
DeepSeek Harness 将插件加载到指定 profile。配置写入 cordis.patch.yml,使用 config.channels 列表;每项包含 type 和渠道凭据,例如 telegram 的 botToken、chatId,dingtalk 的 webhook、secret,以及 bark 的 key。README 列出 27 种渠道,包括 Telegram、Slack、Discord、飞书、钉钉、企业微信、QQ bot、Bark、ntfy、WxPusher、PushPlus、Server酱、webhook、bell 和 desktop。
设置 admin.enabled: true 可开启本地管理台。它只监听 loopback,包含状态、通知、成员、绑定、会话和渠道页面;凭据显示为掩码,并支持测试发送和 QR 扫码。
dsh-notifier 的命令与行为
DeepSeek Harness 自动转发 turn/end、approval/asked、agent/error;模型可调用 notify tool,传入 message、channel、title。消息按 timeSensitive、active、passive 路由,支持去抖、去重、分层重试和限流。!status、!stop、!retry 可从手机控制 agent;普通文本可作为 followup 或 inject,! 前缀用于 steer,/quiet 与 /unquiet 控制会话推送。长任务默认在 15 分钟后发送 heartbeat,连续 10 分钟无事件则产生 stall alert。
dsh-notifier 的集成与要求
其他插件可通过 ctx.inject(['notifier'], …) 使用服务,并订阅 ctx.on('dsh-notifier/sent')。每个来源每分钟最多 10 次,内容限制为 20,000 code points。README 要求 Node.js 22+;DeepSeek Harness 0.1.0-rc.6+ 才支持 profile 目标安装。插件无 runtime dependencies。
根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README
同一分类
dsh-notifier 的同类插件
plugin-notify
whyihaveyou
回合完成、错误或待审批时推送 IM webhook(飞书/企微/钉钉/Slack/Discord/自定义)与本地通知。
没有一行式安装命令——这个插件在一个大仓库的子目录里,也没发 npm 包。
dsh-lark
omdsh-dev
DeepSeek Harness 的飞书/Lark 机器人渠道:每个会话驱动独立 agent,工具审批、模型提问与计划审阅都以卡片回到聊天,点按钮或直接回复即可作答;聊天里用 `/cd`、`/model`、`/new` 切工作区、换模型、重开会话,多个机器人各自独立并可在同群交接回合。
我们跑过,装得上