会话停止/阻塞时提醒:右上角 toast + 提示音(WebAudio)+ 系统通知(Windows/macOS 通知中心,页面失焦时弹)。
- 对话完成(以工作区命名,如
all_paper 任务完成) - 目标完成 / 目标受阻(目标模式)
- 执行出错
- 需要审批(审批请求弹出时)
- 需要你回答(提问面板弹出时)
设置侧栏 →「任务完成通知」可配置:提示音开关、音量(带试听)、四种音调、通知图标、各事件独立开关;配置持久保存。恢复焦点时系统通知自动关闭。
纯本地运行,无任何数据外传;跨平台(声音用浏览器 WebAudio,无平台依赖)。
dsh-task-notify/
├── package.json 包声明(dsh.client 客户端入口声明)
├── lib/
│ ├── index.js 宿主半边(事件监听 + 队列 + HTTP 接口 + 配置)
│ └── client.js 客户端半边(__ModuleLoader__ bundle:toast/声音/系统通知/设置页)
├── install.ps1 安装/卸载脚本(自动探测、备份、幂等)
├── install.bat 双击安装入口
├── uninstall.bat 双击卸载入口
├── cordis.patch.sample.yml 手动安装用的组合行样例
├── README.md / LICENSE / .gitignore
方式一:双击(推荐) —— 双击 install.bat(窗口显示进度,完成后按任意键关闭)。
方式二:命令行
powershell -ExecutionPolicy Bypass -File install.ps1脚本自动完成:探测 DSH_HOME(默认 ~/.dsh)→ 找到用户补丁层 cordis.patch.yml → 备份原文件 → 复制 package.json + lib\ 到运行时 node_modules → 追加组合行(幂等,重复执行安全)。
安装后:刷新 DSH Web 页面(F5);若提示未出现,重启 DSH。首次系统通知时浏览器会询问权限,点允许。
-
把本仓库(
package.json+lib\)复制到 DSH 运行时包目录(含@deepseek-ai/cordis的那个node_modules,本机为~/.dsh/profiles/node_modules/dsh-task-notify/); -
在用户补丁层
cordis.patch.yml(本机为~/.dsh/profiles/web/cordis.patch.yml)末尾追加(文件内容只有[]时把[]替换掉):- insert: - id: task-notify name: dsh-task-notify
-
刷新页面 / 重启 DSH,授权通知。
- 设置侧栏出现「任务完成通知」设置页(含试听按钮);
- 任一对话完成后,右上角弹出绿色 toast 并播放提示音;
- 切到其他窗口后再触发任务,右下角出现系统通知;切回 DSH 页面,系统通知自动关闭。
git pull # 或重新下载仓库
powershell -ExecutionPolicy Bypass -File install.ps1脚本幂等:已安装时跳过组合行写入,直接覆盖 lib\ 与 package.json。刷新页面(客户端改动热生效)或重启 DSH(宿主改动)后完成。
双击 uninstall.bat,或 powershell -ExecutionPolicy Bypass -File install.ps1 -Uninstall。脚本删除包目录并移除组合行(原补丁有备份)。或手动:删掉包目录 + 注释/删除组合行。
- 修改
lib\index.js(宿主)或lib\client.js(客户端); - 重新运行
install.ps1(覆盖运行副本)→ 刷新页面 / 重启 DSH; - 宿主逻辑改动走补丁热重载;客户端 bundle 改动刷新页面即加载新版本(bundle rev 自动变化)。
- 路径探测:脚本按
DSH_HOME(默认~/.dsh)递归查找cordis.patch.yml与运行时 node_modules;若部署使用自定义--patch覆盖文件或非默认布局,请走手动安装。 - 版本兼容:事件名(
agent/status、approval/request、tools/pre-execute)、插槽(shell.overlay、settings.section)、主题 token(--dsw-alias-*)依赖 DSH rc.6 接口,版本差异过大可能需微调lib\内源码。 - 通知授权:系统通知需要浏览器权限,仅首次需要。
- 无依赖:插件零第三方运行时依赖,复制即用,无需联网安装。
- 音量上限:滑杆上限 150%,超过 100% 可能轻微削波;系统音量合成器是最终上限。
MIT License。参见 LICENSE。