用 DSH Notifier 推送任务状态并处理远程审批

在 DeepSeek Harness(DSH)中安装 Notifier,配置 Telegram、飞书等通知、远程审批和会话控制,并保护 Bot 凭据。

社区整理已复核原始来源
DSH
0.1.1-rc.2
系统
Windows / macOS / Linux
风险
high
对应插件dsh-notifier

先查看功能、兼容性、权限和同类选择,再按本文操作。

查看插件详情 →

把 DSH 的任务完成、审批、提问、错误和 Agent 状态推送到多种消息渠道,并允许已配对用户在 Telegram、飞书、QQ、微信等入口远程审批、继续会话或停止任务。

如果你的目标是把 DSH 完成、审批、提问和错误推送到多个消息渠道,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-notifier。本文锁定作者仓库提交 cc4781e99392;已复核固定提交的原始资料,未进行运行实测。

对应插件:查看 dsh-notifier 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。

先确认是否适合你

  • 分类:通知远程
  • 风险等级:high
  • 核验证据:source_reviewed
  • 兼容性边界:插件版本 0.8.4,要求 Node.js 22 或更高,作者说明面向 DSH 0.1.0-rc.6;本站完成固定提交静态审阅,未使用真实消息平台账号、长轮询、Webhook 或远程审批进行端到端测试
  • 主要权限关注:持有多个消息平台的 Bot Token、App Secret、Webhook 和用户标识,可读取 DSH 事件、问题与会话结果并发送到外部平台;配对后的远程用户还能回答审批、追问、注入消息、转向或取消任务

如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。

安装前准备

  1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认 pnpm 可用。
  2. 使用独立的 web Profile 和可丢弃测试工作区,不直接连接生产目录。
  3. 备份当前 Profile 配置,并记录安装前的 --dump-config 输出。
  4. 核对固定来源中的外部服务、账号、运行时和平台限制。
  5. 作者资料未显示明确的插件专属环境变量;如果运行时要求凭据,不要根据同类插件猜测变量名。

安装 dsh-notifier

52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:

npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:THEWOLFWALKER/dsh-notifier#cc4781e99392

GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。

作者文档还出现了以下命令。它们用于核对功能或开发流程,不应替换上面的锁定安装命令,也不要一次全部执行:

  • DSH Agent ─notify() 工具───────┐
  • DSH 会话事件 ─自动推送──────────┘ 分级路由 · 分档重试 · 长消息分段 · 防打扰 · 账本
  • dsh plugin add dsh-notifier --profile <profile-name>
  • DSH agent ──notify() tool─────────┐

插件专属配置

作者资料把该插件描述为零配置或可直接启动;这里的“零配置”不等于零权限,仍需检查 Profile、工作目录和外部数据流。

**本类插件的最小权限设置:**使用测试账号或私有频道,限制允许的用户、群组、工作目录和命令权限。

作者配置片段(README.zh-CN.md)

来源:固定提交中的 README.zh-CN.md外部链接,在新标签页打开。复制前先替换占位符并删除不需要的权限。

insert:
  - id: dsh-notifier
    name: dsh-notifier
    config:
      channels:
        - type: telegram
          botToken: "123456:ABC-DEF..."
          chatId: "987654321"
        - type: dingtalk
          webhook: "https://oapi.dingtalk.com/robot/send?access_token=..."
          secret: "SEC..."
        - type: bark
          key: "your-device-key"

作者配置片段(README.zh-CN.md)

来源:固定提交中的 README.zh-CN.md外部链接,在新标签页打开。复制前先替换占位符并删除不需要的权限。

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..."

配置验证与成功结果

  1. 确认 Bundle 已加载

    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
    

    期望结果:组合配置中出现 dsh-notifier 或仓库声明的 Bundle 名称。

  2. 启动 Web Profile

    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
    

    期望结果:DSH Web 正常启动,浏览器控制台和终端没有持续重复的插件加载错误。

  3. 执行插件专属最小任务

    从允许账号发送一条只读请求,再从未授权账号尝试访问。

    期望结果:允许账号收到结果,未授权账号无法进入 Session 或工作区。

第一次使用

  • 从测试账号请求列出独立工作区文件,不允许修改或执行脚本。
  • 只验证一个核心能力,保存输入、输出和日志;确认无异常后再扩大权限或数据范围。

数据、权限与凭据

**数据流:**DSH 任务事件、审批问题与结果 → 路由和模板 → 已启用的外部消息平台;远程回复、审批或停止指令 → 配对身份、角色与签名校验 → DSH approval/followup/inject/steer/cancel;操作台账以 JSONL 保存在本机。

**权限关注:**持有多个消息平台的 Bot Token、App Secret、Webhook 和用户标识,可读取 DSH 事件、问题与会话结果并发送到外部平台;配对后的远程用户还能回答审批、追问、注入消息、转向或取消任务

**数据存储:**作者资料没有形成统一存储结论。测试时检查 web Profile、工作区、用户目录以及所连接的外部服务,并记录新增文件或远端数据。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

卸载、回退与清理

  1. 停止正在运行的 DSH Web。

  2. 从同一个 Profile 移除插件:

    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-notifier
    
  3. 再次运行 --dump-config,确认对应 Bundle 已消失。

  4. 检查测试工作区、插件声明的数据目录和外部服务,手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。

常见问题

安装成功但页面或命令没有出现

先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时,应先停止 DSH、保留日志并回退插件。

固定来源证据

以下资料是本文配置结论的依据:

继续查看:返回 dsh-notifier 插件详情页,重新核对兼容性、权限、同类插件和来源状态。

来源与维护信息

本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。