messageer/dsh-notif-plugin ↗★ 0

dsh-task-notify

DSH会话停止/阻塞时提醒:右上角 toast + 提示音(WebAudio)+ 系统通知(Windows/macOS 通知中心,页面失焦时弹)。 核心用途是任务状态提醒。适合在会话完成、受阻、出错、需要审批或提问时,需要通过声音、Toast 或系统通知(失焦时)即时获取提醒以避免挂机等待的用户。

패키지
dsh-task-notify
호환성
미검증
버전
0.1.0
라이선스
MIT
최근 업데이트
2026. 8. 15.

같은 패키지 이름의 다른 저장소

설치

검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗

dsh-task-notify — 任务完成通知插件

会话停止/阻塞时提醒:右上角 toast + 提示音(WebAudio)+ 系统通知(Windows/macOS 通知中心,页面失焦时弹)。

  • 对话完成(以工作区命名,如 all_paper 任务完成)
  • 目标完成 / 目标受阻(目标模式)
  • 执行出错
  • 需要审批(审批请求弹出时)
  • 需要你回答(提问面板弹出时)

设置侧栏 →「任务完成通知」可配置:提示音开关、音量(带试听)、四种音调、通知图标、各事件独立开关;配置持久保存。恢复焦点时系统通知自动关闭。

纯本地运行,无任何数据外传;跨平台(声音用浏览器 WebAudio,无平台依赖)。


仓库结构(根目录即 npm 包)

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。首次系统通知时浏览器会询问权限,点允许。

手动安装(不跑脚本)

  1. 把本仓库(package.json + lib\)复制到 DSH 运行时包目录(含 @deepseek-ai/cordis 的那个 node_modules,本机为 ~/.dsh/profiles/node_modules/dsh-task-notify/);

  2. 在用户补丁层 cordis.patch.yml(本机为 ~/.dsh/profiles/web/cordis.patch.yml)末尾追加(文件内容只有 [] 时把 [] 替换掉):

    - insert:
        - id: task-notify
          name: dsh-task-notify
    
  3. 刷新页面 / 重启 DSH,授权通知。

验证

  • 设置侧栏出现「任务完成通知」设置页(含试听按钮);
  • 任一对话完成后,右上角弹出绿色 toast 并播放提示音;
  • 切到其他窗口后再触发任务,右下角出现系统通知;切回 DSH 页面,系统通知自动关闭。

升级

git pull            # 或重新下载仓库
powershell -ExecutionPolicy Bypass -File install.ps1

脚本幂等:已安装时跳过组合行写入,直接覆盖 lib\ 与 package.json。刷新页面(客户端改动热生效)或重启 DSH(宿主改动)后完成。

卸载

双击 uninstall.bat,或 powershell -ExecutionPolicy Bypass -File install.ps1 -Uninstall。脚本删除包目录并移除组合行(原补丁有备份)。或手动:删掉包目录 + 注释/删除组合行。

从源码开发

  1. 修改 lib\index.js(宿主)或 lib\client.js(客户端);
  2. 重新运行 install.ps1(覆盖运行副本)→ 刷新页面 / 重启 DSH;
  3. 宿主逻辑改动走补丁热重载;客户端 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。