返回目录
其他 待识别

dsh-notif-plugin

messageer/dsh-notif-plugin

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

Stars
0
Forks
0
Issues
0
更新
1 天前

PROJECT TOPICS

项目标签

PROJECT README

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/statusapproval/requesttools/pre-execute)、插槽(shell.overlaysettings.section)、主题 token(--dsw-alias-*)依赖 DSH rc.6 接口,版本差异过大可能需微调 lib\ 内源码。
  • 通知授权:系统通知需要浏览器权限,仅首次需要。
  • 无依赖:插件零第三方运行时依赖,复制即用,无需联网安装。
  • 音量上限:滑杆上限 150%,超过 100% 可能轻微削波;系统音量合成器是最终上限。

许可

MIT License。参见 LICENSE

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。