前言¶
用 DSH 跑智能体时,授权确认、ask_user_question 提问和一轮任务结束往往发生在后台:窗口被别的应用盖住,就容易错过。邮件、聊天软件有系统通知,DSH 会话本身通常没有同等级的桌面提醒。下面介绍社区插件 dsh-windows-notify(维护者 3493750852),在 Windows 上把三类关键节点打成系统托盘通知,并支持点击回到 DSH 窗口。
这是什么¶
dsh-windows-notify 是 DSH 的 Host-only 插件:只装在宿主端,没有前端界面,不联网,不带额外依赖。它监听 DSH 的 waterfall 事件,在需要你操作或一轮任务结束时调用 Windows 通知;不改变授权或问答的决策逻辑。
分类上属于 客户端 插件。当前 GitHub 星标为 0;npm 包版本为 1.0.2,许可证 MIT(见仓库 package.json)。
核心功能¶
通知在什么时候弹出¶
| 你看到的通知 | 触发时机 | 事件来源 |
|---|---|---|
| 需要你确认 | 有工具在申请授权,真的开始等你点 | approval/request |
| 需要你回答 | 模型问了 ask_user_question,等你选 |
user-questions/request |
| 你已回答 | 你点了允许/拒绝,或选完了选项 | 上面两个请求返回时 |
| 任务完成 / 任务出错 | 本轮结束,且这一轮超过 taskEndMinSeconds |
session/event 的 turn/end + agent/error |
为避免打扰,README 里还写了若干规则,例如:请求在 interactionDelayMs(默认 1.2 秒)内被宿主自动处理则不提醒;一轮短于 taskEndMinSeconds(默认 8 秒)不提示任务结束;子智能体回合默认不提示;有请求挂着时不当作任务结束。
通知外观与点击行为¶
在 Windows 10/11 上为标准系统通知,带 DSH 应用图标(从正在运行的 DeepSeek Harness.exe 取,与任务栏一致)、标题、正文和可选系统提示音。示例文案包括「需要你确认 / Bash:执行命令 npm install」「任务完成 / … · 用时 2 分 13 秒」等。
点击通知会把 DSH 窗口叫到前台(最小化也会还原);实现上通过桌面壳的单实例锁再走应用自己的聚焦入口。通知在屏幕上及进入通知中心后约 8 秒内可点(与 dwellSeconds 相关);之后负责接点击的进程已退出。若只用浏览器 Web GUI 而无桌面应用,会退化为用浏览器打开 GUI 地址。可通过 clickAction 改为 url 或 none。
图标与点击目标从运行中的进程解析,不写死安装路径。DSH Web UI 没有会话级 URL,点击无法直达某个后台会话,任务结束类通知可带会话标题便于对照。
安装与启用¶
从 npm(推荐)¶
在 DSH 会话里让 agent 使用 plugin_manager 的 install_bundle,安装包名 dsh-windows-notify,会从 npm 装进当前 profile 并写好配置行。也可自行安装后再用 install_bundle 指向包名启用:
npm install dsh-windows-notify
从源码¶
- 将仓库放到本机任意目录(README 示例为
git clone该 GitHub 地址)。 - 让 agent 用
install_bundle安装该目录的绝对路径。 - 验证:随便发一条消息,本轮结束时应收到「任务完成」通知;点击应回到 DSH 窗口。
插件以当前 DSH 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证。
配置¶
开关在 cordis.patch.yml 里对应插件行的 config 下(也可在 DSH 配置里改同样键),改完重启 DSH 生效。常用项如下(完整表见 README):
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
总开关 |
confirm |
true |
需要你确认 / 回答时提示 |
answered |
true |
你回答之后提示 |
taskEnd |
true |
任务结束时提示 |
taskError |
true |
报错结束时提示 |
sound |
true |
播放系统提示音 |
language |
zh |
文案语言,zh 或 en |
taskEndMinSeconds |
8 |
短于该秒数不提示结束 |
interactionDelayMs |
1200 |
挂起超过该毫秒才算「真的在等你」 |
hideWhenSubagent |
true |
子智能体结束不提示 |
clickAction |
focus |
focus / url / none |
selfTest |
false |
改为 true 重载插件可立刻弹自检通知 |
debug |
false |
判定过程写入 %TEMP%\dsh-windows-notify.log |
典型用法与自检¶
安装后无需单独「调用接口」:正常跑 DSH 会话,在需要确认、需要选题回答、你完成回答、或长任务结束/出错时,系统会按配置弹通知。
收不到通知时,README 建议先把 selfTest 设为 true 重载插件;若仍异常,可开 debug 查看日志里 PowerShell shim 是否正常跑满数秒。也可在插件目录用手动 PowerShell 调用 notify.ps1 测一条测试通知(载荷为 base64 编码的 UTF-8 JSON),退出码 0 表示流程正常。
适用场景与注意¶
- 适合:在 Windows 上长期使用 DSH 桌面应用或 Web GUI,希望切到别的窗口时仍能收到待办提醒,并一键回到 DSH。
- 不适合:非 Windows 环境(插件仅支持 Windows);期望通过通知 deep link 到具体会话(当前不支持会话级 URL)。
- 权限与安全:插件不联网,但会启动独立的 PowerShell 进程显示通知;安装前请阅读 GitHub 仓库 源码。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-windows-notify 把 DSH 里「等你确认」「等你回答」「你已回答」和「任务结束/出错」映射到 Windows 系统通知,并尽量用去重、最短时长和子智能体过滤减少打扰。目录页:skillhub.cn/plugins/3493750852/dsh-windows-notify;源码与完整配置说明:github.com/3493750852/dsh-windows-notify。