dsh-herald:DeepSeek Harness 三通道任务通知

在 DeepSeek Harness (DSH) 的开发与使用中,智能体常在后台运行任务、等待人工审批或执行长时间流程。当浏览器标签页隐藏或关闭时,仅依赖浏览器 Notification API 的通知往往无法送达,导致重要任务被遗漏。

dsh-herald 通过让 DSH 宿主进程直接向操作系统发送通知,解决了这一断连问题。无论浏览器处于打开、隐藏还是关闭状态,系统通知中心都能收到推送。

插件定位

dsh-herald 是一个联网工具类插件,原名 dsh-task-notify 的深度定制版。由 bululuburuarua666 维护,采用 MIT 许可证。它为 DSH 提供了三路投递机制,将任务状态推送到前端浮层、浏览器横幅以及宿主系统通知中。

核心功能

三通道投递

插件支持三种独立的通知渠道:
1. 通道 A(页内浮层):在 DSH 工作区页面内渲染的顶部浮层通知,带有提示音,支持悬停暂停。
2. 通道 B(浏览器 OS 横幅):通过浏览器 Notification API 发出的系统级横幅,需用户授权。
3. 通道 C(宿主直发系统通知):由 DSH 宿主进程直接调用的系统通知(Windows 使用 PowerShell WinRT,macOS 使用 osascript,Linux 使用 notify-send)。这是该插件的核心能力,浏览器关闭时仍可送达。

防轰炸机制

为了防止通知频繁触发导致系统卡顿,插件内置了限流逻辑:
* 最小发送间隔:1.2 秒
* 超时机制:5 秒内未发送则丢弃
* 重试策略:仅重试一次

安全与配置

  • 注入安全:文本内容使用 base64(UTF-16LE) 编码传输,标签经过过滤,进程不使用 Shell 启动。
  • 高级面板:提供卡片式的通道设置界面,支持中英文双语切换,包含状态指示灯。
  • 持久历史:本地记录 300 条通知历史,数据存储在 <profile>/data/task-notify/ 目录下,配置与历史记录可跨版本保留。

安装与启用

环境要求

安装前需确保系统已安装 Node.js 和 pnpm。

安装步骤

  1. 在终端执行以下命令安装插件:
    dsh plugin --profile web add dsh-herald
  1. 安装完成后,必须重启 dsh web 进程。
  2. 在浏览器中硬刷新页面(Ctrl+F5)以加载新插件。

使用方法

安装并刷新页面后,点击页面右上角的 🔔 铃铛 图标展开抽屉。在抽屉中可以控制三个通道的开关并测试通知。

  • 宿主直发通知(通道 C):无需额外权限,安装后默认可用。
  • 浏览器横幅(通道 B):需要点击对应的“测试”按钮,由浏览器弹窗请求授权。
  • 通道联动:当通道 C 开启时,通道 B 会进入待机状态(Standby),避免重复通知。

配置与注意事项

环境变量锁定

在宿主环境变量中设置 DSH_TASK_NOTIFY_OS=0 或 1,可以锁定通道 C 的行为。设置后,宿主侧的更改将覆盖客户端的设置。

生效时机

  • 客户端更改:在浏览器中调整开关或设置,需刷新页面才能生效。
  • 宿主更改:修改环境变量或配置文件,需重启 DSH 宿主进程才能生效。

总结

dsh-herald 通过引入宿主进程直接通知能力,解决了 DSH 后台任务与用户交互的信息断层问题。它提供了零运行时依赖的轻量级解决方案,适合需要在长时间运行任务中保持消息触达的开发者。

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

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

小夜