进行中2026年10月3日
DSH Sentinel
在 DeepSeek Harness 主程序之外照看它:本轮完成、需要审批、AI 向你提问时提醒你,用托盘启动、停止和重启 DSH,崩溃时打开紧急 DSH,可选插件健康检查。接替 dsh-task-notify,面向 Windows 11 + WSL2 环境。
DeepSeek HarnessNode.jsJavaScriptPowerShellWSL2
- 状态
- 进行中
- 发布于
- 2026年10月3日
- 更新于
- 2026年11月2日
- 技术
- DeepSeek Harness · Node.js · JavaScript · PowerShell · WSL2
DSH Sentinel 接替了原来的 dsh-task-notify,后者不再更新(站内旧页面已归档:DSH Task Notify)。以前装过 dsh-task-notify 的,先卸载它再安装本包,通知设置会保留。
DeepSeek Harness 社区插件,最初是任务完成通知插件。核心用途是长时间运行 Agent 时,用户可以切换到其他桌面窗口处理其他事务,任务正常完成后能够及时收到系统提醒。
为什么做
在使用 DeepSeek Harness(DSH)运行多轮推理或耗时较长的 Agent 任务时,等待过程通常需要数分钟甚至更久。用户切出浏览器后,往往需要频繁切回查看状态,或者在任务结束后很久才发现执行完毕。
现有的使用方式要么需要保持 Web 页面可见,要么需要给 Agent 配置额外的提醒工具。这个插件的目标是在不改变 Agent 原生执行机制的前提下,提供一个可靠且不打扰的外部通知机制,让长任务等待过程更从容。
怎么设计
插件作为 DSH bundle 运行在宿主侧,整体通知流如下:
- 按事实判断何时提醒:监听 DSH 顶层会话正常完成事件(
turn/end+completed)。本次请求启动的后台任务(比如编译)还在跑时,结束的这一轮不提醒,等任务结束、AI 处理完结果后再提醒;DSH 没有为任务结束开启新一轮时,10 秒后补发一次。需要你审批、AI 向你提问时,5 秒内没处理也会提醒。用户取消、任务报错以及委派的子任务结束均不会触发提醒,避免无效打扰。 - 浏览器通知优先:宿主首先尝试将完成事件发送给已连接且授权通知的 DSH 浏览器页面;若页面在 2.5 秒内确认提交,则直接在浏览器端弹出通知。
- Windows 降级回退:若没有活跃的浏览器页面、未授予通知权限、提交失败或等待超过 2.5 秒,插件自动从 WSL 调用 Windows 发送脚本。
- 双路径 Windows 发送:优先调用 Windows 11 内置的 PowerShell 5.1(支持中文且无需安装额外模块),展示带 DSH 名称和鲸鱼图标的系统通知;备选支持 pwsh + BurntToast 1.1.0 路径。
关键工程取舍
- 不侵入 Agent Runtime 与模型:插件不向模型注册任何 Tool,不追加 Prompt,也不修改 Agent runtime。即使在没有给 AI 分配任何工具的 minimal 预设下,完成通知依然正常触发。
- 失败严格隔离:通知作为外部辅助功能,其执行状态与 Agent 主任务完全解耦。无论是浏览器通道异常、脚本报错还是超时,均仅记录日志,绝不影响 Agent 原任务结果。
- 清晰的权限与安全边界:通知脚本以宿主用户权限运行,不穿透进入 Agent 的工具沙箱;前端通信通道、Worker 脚本与图标均复用 DSH 原有的身份验证,Worker 仅在插件专属路径下运行,不接管页面也不建立独立后台常驻进程。
- 保持职责单一:通知只说明发生了什么(
本轮已完成、等你回答、需要审批、需要你回答),不附加跳转特定会话或外部唤起协议,避免引入不必要的系统依赖和外部暴露面。
当前状态
- 版本:当前版本为 v0.3.0,以开源社区插件形式发布(MIT 协议)。v0.3.0 新增可选的插件健康检查(默认关闭,可在 设置 → 插件健康 或
/dsh-sentinel/health查看),设置页样式与官方对齐,托盘右键新增“重启 DSH”。 - 崩溃防护:DSH 崩溃后写崩溃报告、启动不带第三方插件的紧急 DSH,并在浏览器打开说明页面。
- 使用环境:支持 DSH
0.2.0-rc.2及之后的0.2.x版本(>=0.2.0-rc.2 <0.3.0-0),实际验证过0.2.0-rc.2、0.2.1-rc.2、0.2.1-rc.3和0.2.1-rc.4(rc.3、rc.4使用 Node.js22.23.4)。主要在 Windows 11 + WSL2 环境下使用,DSH 运行于 WSL 中。 - Profile 支持:支持 DSH
webprofile(包含 minimal 预设),暂不支持独立的headless、sdk和sdk-minimalprofile。 - 托盘图标(可选):附带一个 Windows 托盘图标,双击启动 DSH 并打开网页,右键可以停止或重启 DSH;它只负责启动和停止,不会升级 DSH,需要单独安装一次。
- 配合 DSH Runtime Tuning:能识别 DSH Runtime Tuning 中
task_status的状态声明;不装它也能按后台任务事件正确判断。 - 自动测试:自动化测试覆盖浏览器提交、降级回退、超时处理、权限验证以及提醒判断,并通过 GitHub Actions 在 Linux / Windows、Node.js 22 / 24 环境下运行测试。