前言¶
在使用 DeepSeek Harness(DSH)运行长任务或复杂工作流时,Agent 执行过程往往需要较长时间。开发者可能需要离开屏幕去处理其他事务,导致错过子任务的完成节点,或无法及时响应整轮任务结束后的指令。
dsh-plugin-task-notify 旨在解决这一痛点。它通过浏览器端的音频提示,在子任务完成时发出短促的“嘟”声,在整轮任务超时结束时发出“叮”声,提醒开发者返回操作。
功能概览¶
该插件基于 Web Audio API 实现,无需加载外部音频资源,且与后端 AI 模型无关。
- 子任务完成响“嘟”:监听子代理工具调用(如
subagent、subagent_fork等)的结算状态。当子任务完成时播放短促提示音,支持合并窗口以避免快速连续完成的噪音。 - 整轮任务响“叮”:在整轮任务开始时启动计时器。若任务持续时间超过配置的阈值(默认 5 分钟),当会话变为空闲状态时,播放上升的双音调“叮”声,并可选标题栏闪动或 TTS 播报。
- 多会话全局监控:默认监控所有会话,也可配置为仅监控当前会话。
- 声音自包含:完全基于浏览器原生 API 合成,不依赖外部文件。
- 支持 TTS 播报:可选开启文本转语音功能,支持自定义播报模板。
安装与启用¶
通过官方插件市场安装是最快的方式:
dsh plugin add dsh-plugin-task-notify
安装完成后,重启 dsh web,该插件的设置卡片将出现在 Settings → Plugins 下。
配置项¶
插件支持以下配置项,均可在设置界面调整:
| 字段 | 含义 | 默认值 |
|---|---|---|
enabled |
总开关 | true |
thresholdMinutes |
整轮任务结束提醒的阈值(分钟) | 5 |
subReminderEnabled |
子任务完成提示音开关 | true |
mergeMs |
连续子任务合并提示的窗口时间(毫秒) | 500 |
masterVolume |
整轮任务“叮”声音量(0.0 - 1.0) | 0.6 |
subVolume |
子任务“嘟”声音量(0.0 - 1.0) | 0.5 |
ttsEnabled |
开启文本转语音播报 | false |
ttsTemplate |
TTS 播报模板,使用 {time} 占位实际时长 |
任务完成,用时约 {time} 分钟 |
titleFlash |
整轮任务结束时闪烁标题栏 | true |
globalSessions |
监控所有会话 | true |
batchSingleBeep |
所有子任务合并为整轮任务结束时响一声 | false |
典型用法¶
1. 设置整轮任务阈值
如果你希望任务超过 10 分钟才响铃,可在配置中调整:
thresholdMinutes: 10
2. 自定义 TTS 模板
使用 {time} 变量来自动播报实际耗时:
ttsTemplate: '任务已完成,总耗时为 {time} 分钟'
3. 调整音量
根据环境噪音调整两个提示音的音量:
masterVolume: 0.8
subVolume: 0.4
注意事项与兼容性¶
- 用户手势依赖:浏览器安全策略要求音频播放前需要用户与页面交互。首次使用前请点击页面或发送一条消息,以激活音频上下文。
- 浏览器限制:TTS 功能在后台标签页可能受到限制,建议保持标签页在前台或最小化状态以获得即时反馈。页面关闭时声音会停止。
- 兼容性版本:插件兼容 DSH
0.1.0-rc.8客户端契约。插件对0.1.2-rc.1版本中的快照形状变更做了适配修复,确保在旧版本上也能正常工作。
总结¶
dsh-plugin-task-notify 为 DSH 用户提供了非侵入式的任务状态反馈机制。通过简单的配置,即可将长时间运行的任务转化为可视与可听的提醒,有效降低遗漏关键节点的风险。
- 项目地址:https://github.com/DearMrChai/dsh-plugin-task-notify