在 DeepSeek Harness 的开发流程中,当智能体在后台运行或处于等待确认状态时,开发者往往需要手动检查窗口状态。dsh-notify 插件将 DeepSeek Harness 的状态变化直接映射到操作系统的通知中心,解决“脱离视线”带来的状态遗漏问题。
这个插件由 Zhiyi-Zhao 维护,遵循 MIT 许可证。它是一个浏览器端插件,通过 Web Notification API 向桌面端或浏览器端发送系统级通知。
核心功能¶
插件会在以下时刻触发通知:
* 轮次完成(turn finished)
* 轮次失败(turn failed)
* 后台作业结算(background job settled)
* 智能体等待确认(agent waiting for confirmation)
点击通知可以直接聚焦窗口并打开对应的会话。为了减少干扰,插件内置了噪声控制机制:
* 当窗口处于聚焦状态时,默认不发送通知。
* 默认忽略运行时间短于 10 秒的已完成任务。
* 同一会话内的重复通知会堆叠显示,而不是互相覆盖。
安装与启用¶
通过官方 CLI 进行安装:
dsh plugin --profile desktop add github:Zhiyi-Zhao/dsh-notify
安装完成后,首次加载会自动发送一条自检通知,用于验证通知通道是否正常工作。
配置方式¶
由于插件不读取 cordis.yml 配置,所有运行时参数通过 localStorage 中的 dsh-notify.options 键进行控制。
通过浏览器控制台设置配置项示例:
localStorage.setItem('dsh-notify.options', JSON.stringify({
onlyWhenUnfocused: false, // 默认为 true,聚焦时静音
minRunMs: 0 // 默认为 10000,忽略短于 10 秒的运行
}))
注意事项与适用场景¶
该插件以 DeepSeek Harness 进程的权限运行。在使用前,建议检查源码与许可证。
- 配置来源:插件不提供 Web 界面设置卡片,所有配置必须通过代码或浏览器控制台修改
localStorage。 - 通知堆叠:同一会话内的多次通知会堆叠,不会相互替换。
- 多客户端投递:如果你同时挂载了桌面端和浏览器端两个客户端,两个端都会收到通知。
- 无头模式不支持:仅支持 Web GUI,在无头模式或 ACP(Agent Control Panel)运行时不会收到通知。
- Windows 特性:在 Windows 上,永远不要在
Notification构造函数中传递tag参数,否则 Toast 消息将无法送达系统中心。 - 权限管理:桌面端 shell 会自动授予通知权限;浏览器端需要用户交互(点击或按键)后才能请求权限。
总结¶
dsh-notify 提供了 DeepSeek Harness 与操作系统原生的集成能力,适合需要长时间运行任务或需要即时响应确认的开发场景。