在使用 DeepSeek Harness 的 Web UI 进行长链路任务开发时,经常需要将窗口切换到后台去做其他工作。此时如果模型正在跑任务,你很难第一时间感知到任务是否完成。dsh-notify 插件解决了这个问题,它会在会话运行结束的瞬间,通过浏览器系统通知提醒你。
这是一个 Web 客户端插件。它不提供任何界面元素,而是作为一个行为补丁存在,在会话状态由 running 变为 idle 时触发通知。插件本身没有维护者信息,专注于解决“跑任务时无法及时感知完成”这一具体痛点。
核心功能¶
- 系统通知触发:当会话的
running状态切换为idle时,立即触发浏览器系统通知。通知标题包含会话名称,正文为中文。 - 智能防打扰:当你正在查看该会话时,插件保持静默。它仅在以下情况触发通知:
- 浏览器页面处于隐藏状态(你切换了标签页)。
- 浏览器窗口失去焦点(你切换到了其他应用)。
- 正在完成的会话不是当前选中的会话。
- 按会话去重:每个会话的通知独立标记,重复触发会替换前一条通知,而不是堆叠。
- 时机恰当的权限请求:权限提示不会在页面加载时静默触发,而是在你首次点击或按键时出现。这种设计确保了它在 Safari 等浏览器中也能正常工作。
- 零 UI 设计:没有设置按钮,没有控制面板,不修改任何宿主配置。
安装与启用¶
- 安装插件到 Web UI profile:
dsh plugin --profile web add github:you/dsh-notify
*(注:安装命令使用的是已核实事实中的写法)*
- 启动 Web UI:
dsh --profile web
- 在浏览器首次点击或按键时,授予通知权限。
典型用法¶
- 在任意会话中开始一个任务。
- 将浏览器标签页切换到后台或使用其他应用。
- 当模型运行完毕,操作系统会弹出包含会话名称的中文通知。
适用场景与注意¶
- 无法关闭:目前没有用户可见的开关,插件始终处于激活状态。
- 仅限系统通知:完成时不会在 Web UI 内部显示 Toast 或标题闪烁,侧边栏的绿色“完成”点是唯一的在应用内信号。
- 浏览器权限归属:通知权限由浏览器控制。如果用户拒绝权限请求,插件将无法在该域名下恢复,需要在浏览器设置中手动开启。
- 无声音:目前不支持声音提醒,短铃声已被推迟处理。
该插件遵循 MIT 许可证。