前言¶
DeepSeek Harness (DSH) 是一个插件化的智能体开发工具。在开发过程中,往往需要手动审批、回答模型提问,或者等待后台任务跑完。如果窗口处于后台,这些状态很容易被忽略。dsh-notify 是一个 DSH Web GUI 通知插件,用于在需要介入或任务结束时提醒。它没有第三方依赖,全部逻辑运行在浏览器端。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin --profile web add github:printz1/dsh-notify
安装完成后,需要重启 DSH 后端并刷新浏览器页面(客户端 bundle 是页面加载时才拉的)。
界面与入口¶
- 铃铛按钮:在会话头部右上角。点击该按钮可以请求系统通知权限或手动开启总开关。
- 设置面板:详细配置在
设置 → 通知中。设置面板使用settings.section注册,显示在设置列表的最后。
通知功能与配置¶
插件提供三种通知渠道:系统通知、页面内气泡、提示音。
触发场景¶
支持以下场景的提醒,默认状态见下表:
| 场景 | 说明 | 默认 |
|---|---|---|
| 需要你审批 | 模型提问或计划审阅 | 开 |
| 模型在等你回答 | 模型提问或计划审阅 | 开 |
| 一轮指令结束 | 任务从 running 变为 idle | 开 |
| 后台任务结束 | 任务完成、中断或失败 | 开 |
| 会话出错 | 任务出错 | 开 |
| 子会话结束 | 子任务跑完 | 关 |
过滤与勿扰¶
- 前台静音:默认页面在前台且聚焦时不提醒。
- 免打扰时段:设置时间段(如
23:00-08:00),时段内完全不提醒。 - 时长下限:只提醒运行超过指定秒数的任务。
- 提醒节流:作用于“一轮结束”和“后台任务”,审批、提问、出错永不节流。
- 静音指定会话:将当前会话加入静音名单,静音后该会话完全不提醒(包括审批)。
配置存储¶
配置存储在 localStorage 的 dsh-notify:config 键下。旧配置键会在首次加载时自动迁移。
技术实现与自检¶
- 架构:Host 半侧是一个空的 cordis 插件,全部逻辑都在
lib/client.js。 - 开发调试:支持使用
dsh plugin --profile web add link:/path/to/dsh-notify进行软链安装,修改文件后即时生效(需重启后端 + 刷新页面)。 - 自检脚本:
node tools/verify-install.mjs:验证宿主是否正确识别该客户端包。node tools/selftest.mjs:验证通知行为是否正常(包含 122 项断言)。
卸载¶
dsh plugin --profile web remove dsh-notify
卸载后需要重启后端。