前言¶
在使用 DeepSeek Harness (DSH) 进行智能体开发时,审批请求、提问确认、目标受阻等需要人工干预的事件往往容易被忽略。dsh-session-notify 插件将这类事件接入浏览器系统通知与应用内提示,通过点击直接跳转到对应会话,解决漏看问题。
插件介绍¶
本插件为 DSH 动态 Cordis 插件,由 Lwc-LiuWenCheng 维护,采用 MIT 许可证。
核心功能¶
- 双半体架构:Host 与 Client 分离,无需修改 DSH 部署源码即可加载。
- 全面覆盖:覆盖全部人工干预事件,共 7 个分类、11 个事件源。
- 双通道提醒:同时提供浏览器 Notification API 系统通知与右上角 toast 栈。
- 交互跳转:点击通知直接聚焦窗口并跳转到对应会话。
- 精细配置:支持在设置页为每个分类配置通知级别(关闭 / 应用内提示 / 系统通知)。
- 低负载设计:采用 Client→Host 长轮询(空队列挂起 15s)与 Host 侧源头过滤,避免轮询风暴,关闭分类零负载。
安装与启用¶
有两种方式启用该插件:
- 方式 A:作为动态插件加载
- 运行构建命令生成文件:
npm run build:dynamic
- 在 DSH 会话中,将生成的
dynamic/host.body.js内容作为code.host,dynamic/client.body.js内容作为code.client调用cordis_define,随后执行cordis_run激活。 - 首次使用需在 DSH 设置页请求通知权限。
- 方式 B:作为静态插件安装
- 运行构建与打包命令:
npm run build:static
npm pack
- 执行本地安装脚本:
powershell -ExecutionPolicy Bypass -File scripts\install-local.ps1
- 重新启动 DSH 进程即可生效。
注意事项¶
- 会话级作用域:动态插件仅接收当前会话作用域内的事件,无法接收跨会话事件。
- 浏览器通知依赖:系统通知依赖 Notification API 与用户授权,不支持时自动降级为应用内提示。
- 标题降级处理:通知正文中的会话标题来自
sessionQuery.readTitle,取不到时使用通用文案。 - 生命周期:动态插件是会话级、进程内的,停止或更新即移除全部副作用。