中文EN

dsh-plugin-notify-sounds

notify已测通过npmMIT

DeepSeek Harness 原生风格提示音插件:智能体需要你决策或任务完成时播放提示音,点击系统通知可跳回窗口;支持重复提醒、静音时段,以及目标模式下只在最终轮提醒。

下载量 / Downloads
5,419
依赖体积 / node_modules
0.48 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-plugin-notify-sounds

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-plugin-notify-sounds

![awesome · DSH plugin](https://awesome-dsh-plugin.com)

![Listed on dsh-plugin.org](https://dsh-plugin.org/plugins/billcx330/dsh-plugin-notify-sounds)

![DeepSeek Harness plugin](https://github.com/deepseek-ai/deepseek-harness)

![npm version](https://www.npmjs.com/package/dsh-plugin-notify-sounds)

![npm downloads](https://www.npmjs.com/package/dsh-plugin-notify-sounds)

![license: MIT](LICENSE)

[English](README.md) | 中文

智能体在等你、或干完活时,轻轻响一声。

人不在窗口前也不怕:最小化、被遮挡、或只是切到别的窗口,都会弹系统通知(点击即回到窗口),任务栏标题亮出「待处理 / 已完成」;你回来看过一眼之后,它就闭嘴——不会像闹钟一样反复催你。

安装:DSH → 左侧栏「插件」→ 添加插件,粘贴下面这行(带上版本号,否则发布不满 24 小时的版本会被 pnpm 的 minimumReleaseAge 解析回上一版),点「安装」:

dsh-plugin-notify-sounds@1.9.4

🎨 与 DSH 界面风格统一

设置面板中的每一处视觉细节都取自 DSH 自身的设计体系:行几何、分隔线、字号与间距沿用官方设计令牌,音效选择器使用官方 Menu 组件,图标来自官方图标族,排布沿用「文字左 / 控件右」的原生行式。安装后不会在设置中出现风格割裂的第三方区块。

✨ 它能做什么

提醒什么 · 效果

需要你决策 · 智能体发起审批、计划确认、提问时提示音;审批与提问可分别设音效

任务完成 · 会话由运行转为空闲时提示音

人不在窗口前也能感知 · 最小化、被遮挡或只是没在用它时都弹系统通知(正文就是审批理由或提问原文,点击回到窗口);任务栏标题显示「待处理 / 已完成」

没看到会再提醒 · 未处理决策按 1/5/15/30 分钟重复提醒

只提醒你关心的 · 子智能体(后台任务)默认完全静默,只提醒主对话,可开关

该安静时安静 · 静音时段(如 22:00–08:00,可跨午夜)、仅页面不可见时提示、总开关一键全静音

声音随你 · 九种内置音效(彼此响度已对齐);最多 3 个自己的音频,可改名、指派给任意提醒(mp3 / wav / ogg / m4a,每个 ≤15 秒);音量调节;每项独立开关

检测更新 · 设置里检查 npm 新版本,并指向真正负责安装的入口——左侧栏「插件」(卸载后再装)、市场,或 web profile 上的 dsh plugin add;若当前安装未被 lockfile 记录,会在行内提示

💡 为什么需要它

DSH 的状态提示只有视觉——状态点、侧栏标记。你一切到别的窗口,就既看不到也听不到,智能体却可能正卡在那里等你一句话。

这个插件把「在等你」和「干完了」变成声音。配合系统通知与标题标记,人走开也知道发生了什么;而你回来处理过之后它就安静——重复提醒也只针对你从没看过的决策。

🔔 声音

双音铃 · 风铃 · 单音叮 · 水滴 · 脉冲 · 上行琶音 · 金币 · 达成 · 敲门 —— 九种内置音效全部由 Web Audio 现场合成,不含任何音频文件、不发一次网络请求。

也可以换上你自己的音频(mp3 / wav / ogg / m4a,每个 ≤15 秒、3MB,自动校验并做响度归一化),或者干脆选「无声」只留通知。三种触发(审批 / 提问 / 完成)各选各的音效,设置里随时试听。

⚙️ 设置

设置 → 提示音(位于「通用设置」与「模型」之间),每项功能都有独立开关,界面与 DSH 原生设置完全一致:

总开关与音量 · 三种触发各自的音效(含试听)· 子智能体提醒 · 系统通知 · 窗口标题提醒 · 重复提醒间隔 · 静音时段 · 仅后台提示 · 最多 3 个可改名的自定义音频 · 自动检查更新(安装走包管理器)

改动即时生效,无需重启。

📦 安装

🖱️ 最简单:在 DSH 里点两下(推荐)

1. 打开 DSH → 左侧栏「插件」,点添加插件;

2. 在输入框粘贴包名和版本号(本插件已发布在 npm):

   dsh-plugin-notify-sounds@1.9.4

版本号不要省:pnpm 的 minimumReleaseAge 策略会把刚发布不到 24 小时的版本挡在外面,只写包名会解析回上一个版本。想看最新版本号可到 npm 或 Releases 查。

(填 GitHub 仓库地址 https://github.com/BillCx330/dsh-plugin-notify-sounds 或本地目录路径也可以,但那样不带版本锁定)

3. 点安装,装完重启 DSH 一次。

输入框上方的「安装源」是下载源,默认中国大陆镜像源,国内一般不用改。DSH 会提示「插件以你的权限运行」——本插件只读会话状态、在本地发声;唯一的请求是点击系统通知时发给本机 DSH 的唤窗请求,不向外部发送任何数据。

⬆️ 升级

升级由包管理器安装,这样 profile 的 lockfile 会跟着一起更新——DSH 插件无法自己持久地更新自己(管理器拒绝已声明的包,而它的「先移除再安装」会先卸载掉正要完成安装的代码)。所以插件只负责检查,并告诉你从哪里装:

  • 在 DSH 里(推荐,也是唯一实测过的路径):左侧栏「插件」 → 在「已安装插件」里卸载本插件 → 添加插件 → 粘贴 dsh-plugin-notify-sounds@<版本> → 安装 → 重启 DSH。(务必带版本号:pnpm 的 minimumReleaseAge 会让刚发布不到 24 小时的版本不参与自动解析,只写包名会装回上一个版本。)

卸载不会丢东西:偏好和自定义音频都存在 profile 里(cordis.patch.yml 与 notify-sounds/sounds/),重装后自动恢复——包括升级到 1.9.0 时由旧版内嵌音频自动迁移过来的那份。

  • 装了市场插件(dshmarket):在市场里一键更新。
  • web profile:dsh plugin --profile <你的 profile> add dsh-plugin-notify-sounds@<版本>。

更新行还会提示「当前版本与 lockfile 记录不一致」——那是 1.8.0 之前的自更新留下的状态,按上面方式重装一次即可永久修好。

🛠️ 其他安装方式

命令行 —— 对你实际使用的 profile 一条命令:

dsh plugin --profile <你的 profile> add github:BillCx330/dsh-plugin-notify-sounds

(Git 安装跟仓库默认分支走,不带版本锁定;要可复现的安装请用上面的 包名@版本号。)

Release 压缩包 —— 从 Releases 下载 .tgz,用它在磁盘上的路径安装:

dsh plugin --profile <你的 profile> add ./dsh-plugin-notify-sounds-1.9.4.tgz

(dsh plugin add 把参数原样交给包管理器,所以要给本地文件路径,不能填下载地址。)

本地目录 —— 开发或试用未发布的改动:

dsh plugin --profile <你的 profile> add ./dsh-plugin-notify-sounds

手工编辑 —— 在 profile 的 package.json 的 dependencies 加 "dsh-plugin-notify-sounds": "github:BillCx330/dsh-plugin-notify-sounds",在 dsh.profile.bundles 追加 "dsh-plugin-notify-sounds",然后在 profile 目录跑一次包安装(如 pnpm install)把依赖装进 node_modules。

命令行方式会自动写入 dsh.profile.bundles 并装好依赖,无需手工编辑。包内直接带预构建产物、不声明任何生命周期脚本,安装过程不执行构建脚本。安装后重启 DSH(日常升级仅客户端改动时,可热更生效)。

⚠️ 已知边界

  • 自定义音频存在哪:音频按内容哈希存成 profiles/<profile>/notify-sounds/sounds/<sha256>.<ext>,配置里只留文件名。备份或换机要拷整个 profile 目录——只拷 cordis.patch.yml 不会带上音频。卸载插件后最多留下最后一个文件(几百 KB)。
  • 手改配置:偏好写在 profile 的 cordis.patch.yml,值必须符合 schema(音量 0–100、音效为预设之一、时间 HH:MM);写错会让插件不加载,改回即可。设置界面只会写入合法值。
  • 升级由包管理器安装,不再由插件自己完成:1.8.0 移除了自安装器(原地写文件从不会更新 profile 的 lockfile,于是下一次插件安装会静默把旧版本装回来)。更新行仍会检查 npm、报告新版,然后指向真正负责安装的入口——左侧栏「插件」(卸载后再装)、市场,或 web profile 上的 dsh plugin add。
  • 1.7.0 及更早版本可以通过它们自带的自更新到达 1.8.0(1.8.0 保持同样的七个文件名),但这次到达不会被 pnpm 登记:按上面的方式用包管理器重装一次,此后所有升级都会留下。1.6.9 及更早无法安装「新增了文件」的版本——固定白名单会安全拒绝;同样的一次性重装即可解决。
  • 多窗口:提示音、系统通知和重复提醒由同一个 GUI 的所有页面选出一个「发声页」来发(1.7.0 起),所以同一个事件只响一次;窗口标题标记仍是每个窗口各自一份,因为它们各自有标题。发声页关闭或崩溃后几秒内由其他页面接管。
  • 点击通知回到窗口:Windows 完整实现并实测;macOS / Linux 走系统深链,未验证。
  • 关闭到后台后点通知会慢一点:这种情况走系统深链、由 Electron 自己把窗口 show 回来(否则画面会停在最后一帧),窗口出现比平时慢约 0.5–1.5 秒;停在欢迎页时深链可能不生效。
  • 第三方封装的桌面客户端(如 DSH NEXT):唤窗依赖官方壳的 Win32 能力与 dsh:// 协议注册,封装版没有这两样,点击通知不会回到窗口——那是宿主侧缺的,插件无法补。
  • 唤窗按窗口标题定位主窗口:刻意不读取其他进程信息(那会触发杀软主动防御)。若将来 DSH 改变标题格式,唤窗会静默失效——提示音与通知本身不受影响。
  • 导航小图标:依赖设置面板的 DOM 结构,若DSH 改版后自动回落为官方齿轮,仅影响外观。
  • 通知权限:桌面端放行;受限环境(某些浏览器策略)下被拒时,行内会引导手动允许,其余功能不受影响。
  • macOS 的系统通知:桌面外壳对权限请求一律放行,所以设置里恒显示「已授权」;**实际是否弹

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:18,最后更新 2026-11-03

链接

GitHub · Homepage · npm

同类插件