前言¶
在 DeepSeek Harness 中,Agent 执行一个回合往往需要几分钟。这期间如果用户切到其他窗口,任务停止的唯一信号就是侧边栏运行灯的熄灭。但这盏灯无法区分是“任务完成”、“出错停止”还是“Agent 正在等待你的回答(审批/提问/方案)”。
dsh-task-reminder 插件将这一刻转化为真正的提醒:任务停止时,发送一条 Windows 系统弹窗(原生通知)和一声提示音。点击通知即可跳转回会话并滚动到提问位置。
核心功能¶
该插件由 hawkongz 维护,遵循 MIT 协议,零运行时依赖。它主要解决以下问题:
-
三种通知类型
- 任务完成:任务结束。
- 等待回复:Agent 卡住等待用户操作。根据具体等待类型显示不同标题(如“审批请求”、“提问”、“方案待确认”)。
- 错误停止:网关报错或其他错误导致任务停止。
-
通知交互
- 点击跳转:点击通知卡片,打开对应会话并滚动到用户提问的位置。
- 桌面端前台唤醒:在 DSH Desktop 中,点击通知会将最小化或隐藏的窗口拉回前台。
-
提示音
- 提供 4 种合成音效(两声·经典 / 三声上扬 / 上升琶音 / 圆润三角波)。
- 支持上传本地音频文件(如 mp3, wav, ogg, m4a)作为自定义音效。
-
设置页面
- 包含弹窗开关、弹窗时机(任何情况 / 仅非前台窗口)、通知语言、子智能体提醒开关、提示音控制、自定义音效文件上传、一键恢复默认设置。
安装¶
安装命令会通过 pnpm 将包安装到指定的 profile 中。
# Web 端
dsh plugin --profile web add @hawkongz/dsh-task-reminder
# 桌面端
dsh plugin --profile desktop add @hawkongz/dsh-task-reminder
安装后必须重启宿主并硬刷新浏览器(Ctrl + F5)才能生效。
使用与调试¶
启用通知¶
首次安装后,需要在「设置 → 任务提醒」页面允许浏览器通知权限。如果权限被拒绝,可以通过设置页的“申请通知权限”按钮重新申请。
控制台命令¶
在浏览器控制台中可以使用以下命令进行调试:
- 查看状态或权限:
__dshTaskReminder.state() - 测试通知(不等待任务结束):
__dshTaskReminder.test():测试“任务完成”__dshTaskReminder.test('question'):测试“提问”通知__dshTaskReminder.test('plan'):测试“方案待确认”通知__dshTaskReminder.test('approval'):测试带按钮的“审批”通知__dshTaskReminder.test('error'):测试“错误停止”通知
自定义音效¶
在设置页面中,点击“自定义音效”选择本地音频文件。音频仅保存在本地浏览器中,不上传,重启浏览器后仍有效。
注意事项¶
- 浏览器通知权限:必须允许浏览器通知权限才能看到系统弹窗。
- 插件互斥:同一类通知插件(使用同一机制)只应安装一个,否则会互相顶替。
- Service Worker 限制:带按钮的“审批”通知需要浏览器的 Service Worker 支持。在
dsh-app://协议(桌面端)和局域网http下,不支持按钮,会退回普通样式。 - 桌面端特例:DSH Desktop 支持通过通知将窗口拉回前台,普通浏览器不支持此功能。
- 全屏干扰:在 Windows 上,如果开启了“请勿打扰”或应用全屏运行,通知横幅可能会被隐藏,但通知中心仍然会收到。
- 更新机制:设置页的“检查更新”功能依赖 DSH 插件管理服务。