DeepSeek Harness 任务状态通知插件 dsh-notify

DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在实际开发中,当任务运行时间较长或涉及多轮 Agent 交互时,频繁刷新页面或检查 UI 状态会消耗额外精力。dsh-notify 插件通过系统通知、浏览器 Tab 标题和左侧会话列表,为任务的运行、完成或异常提供明确的状态提示。

这是什么

dsh-notify 是一个标准的 DSH Host/Client 插件,不修改 DeepSeek Harness 核心逻辑。它通过监听 Session 事件、Agent 与 Job 生命周期,在任务收敛时通过多种渠道分发状态。

  • 维护者:weekitmo
  • 许可:MIT
  • 定位:任务状态通知

核心功能

插件提供以下状态反馈机制:

  1. 系统通知:仅在顶层任务全部收敛后发送完成、错误、中止、阻塞或 Token 限制结果。可在设置中单独关闭某一类通知。
  2. 钉钉机器人:配置 Access Token 与 Signing Secret 后,可独立选择发送“成功/完成”或“失败/中止”消息。支持免打扰模式(默认 23:00-08:00)以及结束后错过消息的汇总功能。
  3. Tab 状态:
    • 空闲时显示最近工作区会话标题。
    • 运行中显示 spinner 和会话数。
    • 完成或异常后显示未读结果计数。
  4. 侧栏状态灯:
    • 绿点:会话完成且尚未查看。
    • 红点:错误、中止、阻塞或 Token 限制。
    • 打开会话后清除状态灯。
  5. 可配置:在 WebUI 的 设置 > 通知 中控制通知权限、Tab 动效、favicon、spinner 和侧栏状态灯。

安装与启用

前置条件

安装前需确保 pnpm 已在 PATH 环境变量中。

安装命令

macOS、Linux 或其他 POSIX 系统使用以下命令安装最新稳定版:

curl -fsSL https://github.com/weekitmo/dsh-notify/releases/latest/download/install.sh | sh

Windows 用户可克隆仓库后运行批处理安装器:

git clone --depth 1 https://github.com/weekitmo/dsh-notify.git
cd dsh-notify
install.bat

安装后刷新 WebUI。若插件未自动加载,请重启对应的 dsh web 进程。

启用与配置

  1. 打开 WebUI,进入 设置 > 通知。
  2. 开启需要的通知功能。
  3. 如需系统通知,点击 请求授权,并在浏览器提示中允许通知。
  4. 如需钉钉通知,在钉钉配置组打开官方文档创建自定义机器人,填写 Access Token 与 Signing Secret,选择需要发送的结果类型后保存。

注意事项

  1. 迁移状态:本仓库已迁移至 weekitmo/oh-my-dsh-plugins,本仓库不再维护。后续开发、Issue 和 Release 请使用 monorepo 中的 @weekit/dsh-notify。
  2. 钉钉配置路径:钉钉凭据保存在 $DSH_HOME/dsh-notify/settings.json,不会写入浏览器 localStorage。
  3. 子代理通知:子代理独立完成通知固定为关闭,仅跟随父会话显示运行计数。
  4. 安全限制:钉钉凭据管理接口仅接受本机回环地址上的同源 WebUI 请求。通过局域网或公网地址访问 WebUI 时不能修改钉钉配置。

结语

dsh-notify 通过多渠道的状态反馈,降低了长时间运行任务的管理成本。配合 DSH 的插件化架构,它为智能体开发者提供了一个轻量级的状态监控方案。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜