🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

声音提醒 hifengzy/dsh-sound-notify

DeepSeek 客户端
hifengzy11 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

任务完成或等待处理时播放提示音,无需盯屏

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/hifengzy/dsh-sound-notify.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 写入本地文件
    lib/player.js:51
    appendFileSync(target, `${new Date().toISOString()} ${line}\n`)
  • 读取本地文件
    lib/player.js:77
    if (!existsSync(file)) {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-sound-notify DeepSeek Harness(DSH) 声音提醒插件:任务完成、失败、或停下来等你处理时,在运行 DSH 的机器上播放提示音,并给每一类场景一个开关。 设置界面:插件 → 声音提醒 为什么需要它 DSH 会话经常一跑就是几分钟到几十分钟。没有声音提醒,你就得反复切回窗口看它是不是已经停了。这个插件让「它停了」变得听得见: | 事件 | 触发条件 | 音效 | | 任务完成 | turn 以 completed 结束 | sounds/success.aac | | 任务失败 | turn 以 error / max-tokens 结束,或 API 请求报错并调度了重试(llm/retry) | sounds/fail.aac | | 等待你处理 | 授权请求(approval/asked)、ask_user_question 提问、turn 被 abort / blocked / interrupted | sounds/stop.aac | 播放发生在 DSH 宿主进程,调用系统播放器(macOS afplay、Linux paplay),所以浏览器标签页在后台、最小化甚至关闭时都能响。声音响在运行 DSH 的这台机器上。 特性 - 三个独立开关,默认全开,写入 DSH 设置并实时生效,无需重启。
展开完整文档(README 剩余 1 节)
dsh-sound-notify

DeepSeek Harness(DSH) 声音提醒插件:任务完成、失败、或停下来等你处理时,在运行 DSH 的机器上播放提示音,并给每一类场景一个开关。

设置界面:插件 → 声音提醒

为什么需要它

DSH 会话经常一跑就是几分钟到几十分钟。没有声音提醒,你就得反复切回窗口看它是不是已经停了。这个插件让「它停了」变得听得见:

| 事件 | 触发条件 | 音效 |
| 任务完成 | turn 以 completed 结束 | sounds/success.aac |
| 任务失败 | turn 以 error / max-tokens 结束,或 API 请求报错并调度了重试(llm/retry) | sounds/fail.aac |
| 等待你处理 | 授权请求(approval/asked)、ask_user_question 提问、turn 被 abort / blocked / interrupted | sounds/stop.aac |

播放发生在 DSH 宿主进程,调用系统播放器(macOS afplay、Linux paplay),所以浏览器标签页在后台、最小化甚至关闭时都能响。声音响在运行 DSH 的这台机器上。

特性

- 三个独立开关,默认全开,写入 DSH 设置并实时生效,无需重启。
- 该安静的时候安静:
- 子代理(subagent)会话不发声,一个父任务委派多个子任务不会连续响铃;
- idle 后延迟 500ms 再判定,若有排队输入或自动续轮立刻开始,则取消这次提醒;
- 同一 turn 的自动重试只响一次失败;
- 同类音效之间 700ms 冷却。
- 适配当前 DSH:0.2.x 在 插件 页显示设置卡片;0.1.x 自动回退到独立设置区。
- 无需构建:纯 ESM 宿主代码 + 手写 window.__ModuleLoader__ 客户端 bundle。

安装

桌面版(Electron 管理的 desktop profile)

dsh CLI 明确拒绝管理保留的 desktop profile,因此使用仓库内脚本(幂等,自动备份 patch 文件):

git clone https://github.com/hifengzy/dsh-sound-notify.git
cd dsh-sound-notify
./scripts/install-desktop.sh

然后重启 DSH 桌面应用。桌面宿主不会热挂载新增的 profile 插件,首次启用需要重启。

重启后:侧边栏 插件 → 声音提醒,可见三个开关;随便完成一个任务即可听到 success.aac。

手工安装步骤(脚本做的就是这些)

DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
PROFILE="$DSH_HOME/profiles/desktop"
DEST="$PROFILE/node_modules/dsh-sound-notify"

cp "$PROFILE/cordis.patch.yml" "$PROFILE/cordis.patch.yml.bak.$(date +%s)"
mkdir -p "$DEST" && rm -rf "${DEST:?}"/*
cp -R lib sounds package.json cordis.patch.yml README.md README.zh.md LICENSE "$DEST"/

grep -q "id: sound-notify" "$PROFILE/cordis.patch.yml" || cat >> "$PROFILE/cordis.patch.yml" <<'YAML'

- insert:
- id: sound-notify
name: 'dsh-sound-notify'
YAML

CLI 可管理的 profile(web、headless、自建 profile)

三种来源任选其一,装的是同一个插件:

直接从 GitHub 安装(当前可用)
dsh plugin --profile web add github:hifengzy/dsh-sound-notify

安装最新 GitHub Release 上的预构建 tarball(当前可用)
dsh plugin --profile web add https://github.com/hifengzy/dsh-sound-notify/releases/latest/download/dsh-sound-notify.tgz

npm(包发布后可用;见 docs/PUBLISHING.md)
dsh plugin --profile web add dsh-sound-notify

安装后重启对应应用。dsh plugin add 会把包装进 profile 的 node_modules,并把 dsh-sound-notify 追加到 dsh.profile.bundles;包内自带的 cordis.patch.yml 负责挂载插件行。

自建 profile 把 web 换成对应名字即可。可用下面的命令确认插件已组合进 profile:

dsh --profile web --dump-config | grep -A2 sound-notify

设置

DSH 0.2.x:侧边栏 插件 → 声音提醒。值保存在 profile patch($DSH_HOME/profiles/<profile>/cordis.patch.yml)里插件行的 config 中,每次通知时实时读取。

DSH 0.1.x:设置 → 声音提醒(注册的 sound-notify 设置命名空间,写入 $DSH_HOME/settings.yaml)。

| 开关 | 默认 | 关闭后 |
| 任务完成 | 开 | success: false,完成任务不响 |
| 任务失败 | 开 | failure: false,失败/API 报错不响 |
| 等待你处理 | 开 | waiting: false,授权/提问/中断不响 |

调试

桌面宿主没有终端。在启动 DSH 前设置 DSH_SOUND_NOTIFY_LOG,即可得到每次判定与播放的日志:

DSH_SOUND_NOTIFY_LOG=/tmp/dsh-sound-notify.log dsh web

2026-10-19T17:21:05.071Z [sound-notify] notifyIdle reason=completed kind=success
2026-10-19T17:21:05.071Z [sound-notify] enabled success = false (config)
2026-10-19T17:21:05.071Z [sound-notify] muted success

播放失败(文件缺失、没有可用播放器)也会写日志,不会静默失败。

平台支持

| 平台 | 播放器 | 状态 |
| macOS | afplay | 已验证 |
| Linux | paplay(PulseAudio/PipeWire) | 需要安装 paplay |
| Windows | — | 没有可用的 AAC CLI 播放器;记录诊断日志后跳过 |

兼容性

| DSH | 设置界面 | 安装方式 |
| 0.2.x(当前版本,含桌面版 0.2.1-rc.2) | 插件页卡片,基于插件的 volatile Config | dsh plugin add / GitHub / tarball / 桌面脚本 |
| 0.1.x | 独立设置区,基于注册的设置命名空间 | dsh plugin add / GitHub |

宿主半只观察事件总线(session/event、agent/status、user-questions/request),不修改会话日志,也不影响授权结果(提问 waterfall 监听器始终调用 next() 透传)。

开发

npm install
npm test # 31 个 node:test 用例
npm run verify # 打包自检(清单、文件、AAC 文件头、客户端 bundle)
npm pack # 生成发布用 tarball

CI(.github/workflows/ci.yml)在 Node 20/22/24 上跑测试与打包自检,并对最新发布的 @deepseek-ai/dsh 做真实安装冒烟测试:创建 web profile、用 dsh plugin add 安装打包出的 tarball,并断言插件已组合进 profile 树。

推送 v* tag 会触发 .github/workflows/release.yml:把 tarball 附加到 GitHub Release,并在配置了 NPM_TOKEN secret 时发布到 npm。npm token 配置与目录投稿步骤见 docs/PUBLISHING.md。

社区收录

插件已按 awesome-dsh-plugin 目录格式准备(category: notify),该目录也是 DSH 插件市场(dshmarket)的数据源;条目文件已放在 community/,投稿脚本为 scripts/submit-to-catalog.sh(目录要求仓库创建满 1 天)。收录合并后,在 DSH 里搜索「sound」/「通知」即可找到。仓库 topic:dsh-plugin、deepseek-harness、dsh。

许可证

MIT © 2026 fengzhuoyu — 见 LICENSE。仓库内置的音效素材随仓库以同一许可证分发。
预览分享卡片长什么样 ↓hifengzy/dsh-sound-notify
分享 · DeepSeek Harness Hub
hifengzy/dsh-sound-notify

任务完成或等待处理时播放提示音,无需盯屏

回到顶部