前言¶
DeepSeek Harness(DSH)采用插件化架构,所有功能均通过插件扩展。在使用 web profile 运行时,系统消息通常仅在浏览器页面内显示。dsh-plugin-winnotify 插件通过桥接机制,将 DSH 的关键事件(如审批、异常、任务状态变更)转换为 Windows 原生的系统 Toast 通知。这能让开发者在切换窗口或使用其他应用时,也能及时响应来自智能体的请求或异常信息。
插件概况¶
- 名称:
dsh-plugin-winnotify - 维护者:Maple-Bamboo-Team
- 许可证:MIT
- 核心价值:将 DSH 的 Web 消息流映射为 Windows 原生桌面通知,确保关键事件不遗漏。
环境要求¶
安装前需满足以下条件:
* 操作系统:Windows 10 或 Windows 11
* 运行环境:已安装的 DeepSeek Harness (dsh)
* Node.js 版本:22.19 或更高版本
安装¶
在 PowerShell 中执行以下命令进行安装:
dsh plugin --profile web add https://codeload.github.com/Maple-Bamboo-Team/dsh-plugin-winnotify/tar.gz/refs/heads/main --ignore-scripts
安装完成后,需重启 dsh web 进程并刷新浏览器页面以加载插件。
通知内容¶
插件会根据事件类型生成不同的通知。通知标题为对应的对话名。
| 事件类型 | 通知正文示例 |
|---|---|
| 审批 / 权限提升 | 等待处理:写入文件——需要工作区外的写入权限 |
| 提问 | 等待回答:状态探测——是否继续? |
| 异常 | 未经处理的异常:具体内容 |
| 任务完成 | 任务已完成 |
| 任务中断 | 任务中断:执行已取消 |
插件启动时,还会根据当前时段发送问候和一言(Yiyan)。若获取一言失败,将显示固定文本:「不诱于誉,不恐于诽。」
点击通知会直接打开对应的会话。
配置¶
插件通过 profile 的 cordis.patch.yml 进行配置。默认情况下,以下选项均开启:welcome、approval、question、error、completed、interrupted 和 sound。
例如,若要关闭启动时的问候和声音提示,可配置如下:
- id: winnotify
config:
welcome: false
sound: false
卸载与清理¶
若需卸载插件,请执行:
dsh plugin --profile web remove dsh-plugin-winnotify
卸载后需重启 dsh 服务生效。若需清除系统通知来源和图标,需在本地插件目录(通常为 ~/.dsh/plugins/dsh-plugin-winnotify)运行:
npm run unregister
开发与测试¶
插件的源码位于 GitHub 仓库。如需参与开发或本地测试,可执行以下命令:
npm ci
npm run check
npm test
npm pack
npm test 会先执行构建,再运行单元测试。提交源码前应一并提交更新后的 lib/ 目录。若需预览系统通知效果,可运行:
npm run preview
结语¶
dsh-plugin-winnotify 通过原生 Toast 通知,解决了 DSH 在桌面端运行时消息被动查看的问题。该插件遵循 MIT 许可证,图标资源取自 DeepSeek Harness 官方项目。更多细节可参考插件目录或 GitHub 仓库。