← 返回列表
⚠ 装前注意
awesome · DSH plugin
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/21 · 已提供中文文档
综合分
33.1
GitHub 分
33.1
用户评分
—
★ Stars
9
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add CAOGGL/dsh-ding未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · other
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 更新放缓:最近一次提交在 35 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-ding(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 11:28:15
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-ding 🔔
awesome · DSH plugin
DSH(DeepSeek Harness)宿主插件:对话完成时提醒你——每当 Agent 结束一轮对话(状态回到 idle,不再主动输出),播放提示音并弹出 Windows 通知,让你切到别的窗口等回复时也不会错过。
A DSH host plugin that notifies you when a conversation finishes: whenever the Agent completes a turn (back to idle, no more proactive output), it plays a sound and shows a Windows notification, so you never miss the reply while working in another window.
切换语言 / Language: 中文 · English
中文
主要功能
- 🔔 提示音:对话完成后播放提示音——默认使用 ding.mp3(可配置任意音频文件:mp3/wav/mid/wma/aac),找不到时回退系统“叮咚”双音
- 🪟 Windows 原生通知:弹出系统原生 Toast(含会话标题、DSH 蓝鲸图标)。首次使用时自动注册 AppUserModelID(开始菜单快捷方式),确保通知真正显示——未注册的 AUMID 会被 Windows 静默丢弃
- 🎚️ 音量可调:volume 配置项(0.0 ~ 1.0)控制提示音大小,改配置即时生效
- 🔔 Web 铃铛按钮:对话页顶栏有个铃铛——单击开关提示音、悬停拖音量滑杆(松手自动试听)、右键选择音效并可上传自己的音频文件;设置即时保存,无需改配置
- 🖱️ 通知点击直达会话:Windows 通知(toast/气泡)点击后自动打开浏览器并直达输出完成的对话(快捷方式激活 + dsh-ding:// 协议 + ?dingOpen= 参数定位会话)
- 🔕 当前会话免打扰:窗口在前台且完成的会话正是你正在查看的会话时静默;切走窗口、看别的会话、或没开对话页时照常提醒
- ⏱ 长任务运行中提醒:任务运行超 3 分钟后每 5 分钟提醒一次(只弹通知、不响铃),提醒文本含已运行时长
- ❓ 用户提问提醒:Agent 通过 ask_user_question 提问等待回答时立即提醒(文本区别于完成通知)
- 🛡️ 工具审批提醒:工具调用等待你批准(approval/request)时立即提醒,点击通知直达该会话,在 WebUI 里完成审批
- 🛠 高级设置弹窗:右键菜单底部「⚙ 高级设置」打开页面内设置窗口,可改全部参数(通知开关/标题/时机毫秒/音量/自定义通知模板),自定义模板支持参数引用:{title} 会话标题、{prefix} 对话前缀、{elapsed} 耗时、{question} 问题文本、{tool} 工具名(审批模板)
- 💾 导入/导出配置:右键菜单底部可导出配置(下载 JSON 文件)或导入配置(从 JSON 恢复全部设置)
- ▶ 铃声试听:右键菜单铃声列表每项右侧有播放按钮,可单独试听每个铃声(不切换当前铃声)
- 🧪 通知测试按钮:高级设置页提供完成 / 运行中 / 提问 / 审批 4 个测试按钮,点击立即弹出对应类型的真实通知,点击通知打开测试结果页
- 🏷️ 通知应用名可改:高级设置可自定义通知应用名;留空时跟随 WebUI 中英文自动切换(中文:DSH叮当通知,英文:dsh-ding-notifier)
- 📦 内置 ding.mp3:提示音文件随插件包分发,不再依赖启动目录或主目录存在 ding.mp3
- 🌐 双语:通知正文与标题、面板文案跟随 WebUI 界面语言(中/英)
- 🎯 时机精准:以会话 turn 是否真正结束判断完成(排除回复中途的短暂空闲),完成通知带耗时
- 🧹 不误报:自动跳过子代理(subagent)的完成事件(那只是主对话的中间过程)
- ⚡ 防抖节流:默认 200ms 防抖 + 3s 全局节流,避免连发
安装方法
$DSH_HOME 默认为 ~/.dsh。
方法 A:一行命令(推荐,bundle 安装)
dsh plugin --profile web add github:CAOGGL/dsh-ding
装完重启 dsh web 生效(依赖 pnpm,npm install -g pnpm 即可)。本插件也支持 insert 行挂载(改配置即时生效),见方法 C。
方法 B:插件市场
设置 → 插件市场 → 搜索 dsh-ding → 一键安装(已收录于 awesome-dsh-plugin,市场目录每日刷新后出现)。
方法 C:手动放置(无需 pnpm)
1. 把本仓库克隆(或下载)到:$DSH_HOME/profiles/node_modules/dsh-ding/
2. 在 profile 的用户补丁 $DSH_HOME/profiles/web/cordis.patch.yml(其他 profile 同理)追加:
- insert:
- id: dsh-ding
name: 'dsh-ding'
inject: ['webServer'] # 必需:声明对 webServer 的依赖,Web 铃铛 API 才能挂载
config:
sound: true
balloon: true
3. 保存即生效(补丁文件是热监控的);插件代码本身的改动需要重启服务才生效。
npm(dsh plugin --profile web add dsh-ding):即将上线,上线后安装更快。
验证:对话完成后应听到提示音并看到通知;也可以先单独测试通知脚本:
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-ding\notify.ps1" -Title "测试" -Text "dsh-ding 工作正常"
配置
| 配置项 | 默认值 | 说明 |
| --- | --- | --- |
| sound | true | 播放提示音 |
| soundFile | 空 | 提示音文件路径(mp3/wav/mid/wma/aac)。留空时自动在 服务器工作目录 / 插件目录(自带 ding.mp3)/ 用户主目录 找 ding.mp3,找不到则回退系统“叮咚”双音 |
| volume | 1.0 | 提示音音量(0.0 ~ 1.0,1.0 为原始音量,如 0.5 即一半音量) |
| balloon | true | 显示 Windows 通知 |
| title | DSH 完成 | 通知标题 |
| debounceMs | 200 | 状态防抖毫秒数 |
| minIntervalMs | 3000 | 两次通知的最小间隔 |
| notifySubagents | false | 是否也通知子代理完成 |
| quietOnViewing | true | 当前会话免打扰:窗口在前台(可见且有焦点)且完成的会话正是正在查看的会话时静默;切走窗口 / 看别的会话 / 没开对话页时照常提醒 |
| runningNotify | true | 长任务运行中提醒:只弹 Windows 通知、不响铃 |
| runningFirstAfterMs | 180000 | 运行中提醒首次延迟毫秒数(默认 3 分钟) |
| runningIntervalMs | 300000 | 运行中提醒后续间隔毫秒数(默认 5 分钟) |
| runningTitle | DSH 运行中 | 运行中提醒的通知标题(v1.0.0 更新新增) |
| questionNotify | true | 用户提问提醒:Agent 通过 ask_user_question 提问等待回答时立即提醒(文本区别于完成通知) |
| questionTitle | DSH 提问 | 提问提醒的通知标题 |
| doneTemplate | 空 | 自定义完成通知文本(支持 {title}/{prefix}/{elapsed},留空用默认) |
| runningTemplate | 空 | 自定义运行中提醒文本(支持 {title}/{prefix}/{elapsed},留空用默认) |
| questionTemplate | 空 | 自定义提问通知文本(支持 {title}/{prefix}/{question},留空用默认) |
| approvalNotify | true | 工具审批提醒:工具调用等待你批准时立即提醒 |
| approvalTitle | DSH 审批 | 审批提醒的通知标题 |
| approvalTemplate | 空 | 自定义审批通知文本(支持 {title}/{prefix}/{tool},留空用默认) |
| notifierName | 空 | 通知应用显示名(Windows 通知设置里显示的名称)。留空时跟随 WebUI 语言自动切换:中文「DSH叮当通知」,英文「dsh-ding-notifier」;填写后固定使用该名称 |
完整示例:
- insert:
- id: dsh-ding
name: 'dsh-ding'
config:
sound: true
soundFile: 'C:\codewhale\ding.mp3'
volume: 0.8
balloon: true
title: 'DSH 完成'
debounceMs: 200
minIntervalMs: 3000
quietOnViewing: true
runningNotify: true
runningFirstAfterMs: 180000
runningIntervalMs: 300000
Web 铃铛按钮(v0.4.0+)
对话页顶栏右侧的铃铛,全部设置即时保存到 $DSH_HOME/profiles//data/dsh-ding.json(仅覆盖你动过的项,其余仍跟随 cordis.patch.yml 配置):
| 操作 | 效果 |
| --- | --- |
| 单击铃铛 | 快速开关提示音 |
| 悬停铃铛 | 铃铛正左侧滑出音量条(行内元素带宽度动画,同行元素自动左移);拖动松手自动试听 |
| 右键铃铛 | 打开通知设置面板:提示音/气泡通知开关(两个都关 = 对话完成时无任何提示)、当前会话免打扰(正在查看的会话完成时不提醒,别的会话完成/切走后照常提醒)、运行中提醒(任务运行中超 3 分钟后每 5 分钟提醒一次,仅通知)、提问提醒(Agent 提问等待回答时立即提醒),下方可选音效(内置叮咚 / 已上传的音频)或上传新音效(mp3/wav/mid/wma/aac/m4a/ogg/flac,存到 data/sounds/);面板底部 ⚙ 高级设置 进入全部参数编辑(通知开关/标题/时机毫秒/音量,即时保存);底部还有 导出配置 / 导入配置(下载/恢复 JSON 配置) |
卸载
1. 从 cordis.patch.yml 删掉 dsh-ding 那一整块
2. 删除 $DSH_HOME/profiles/node_modules/dsh-ding/ 目录
更新日志
- v1.0.2(2026-08-21):铃声试听——右键菜单铃声列表每项右侧新增 ▶ 播放按钮,可单独试听每个铃声(不切换当前铃声),GET /dsh-ding/audio 支持 ?file= 指定音效;配置导入/导出——右键菜单底部新增「导出配置 / 导入配置」,可把当前配置下载为 JSON 或从 JSON 恢复全部设置;内置 ding.mp3——ding.mp3 随插件包分发,notify.ps1 搜索链新增插件自身目录,不再依赖启动目录或用户主目录里存在 ding.mp3;四种通知测试按钮——高级设置页新增完成/运行中/提问/审批四个测试按钮,点击立即发出对应类型的真实通知,点击通知跳转到测试结果页,并记录本次测试使用的配置;通知应用名可改——高级设置新增「通知应用名」,留空时跟随 WebUI 中英文自动切换(中文默认:DSH叮当通知,英文默认:dsh-ding-notifier),填写后固定使用
- v1.0.1(2026-08-17):工具审批提醒——工具调用等待你批准(approval/request)时播放提示音并弹出 Windows 审批通知(标题与文案可自定义,支持 {tool} 工具名参数);点击通知直达发起审批的会话,在 WebUI 里完成批准/拒绝;新增配置项 approvalNotify / approvalTitle / approvalTemplate(可在高级设置里编辑);提示音异步播放——提示音与通知同时弹出,不再等待音效放完(修复音效尾音长时通知卡顿的问题)
- v1.0.0(2026-08-15,08-16/08-17 更新):提醒体系完整版——① 当前会话免打扰(默认开):窗口在前台且完成的会话正是你正在查看的会话时静默;切走窗口、看别的会话、或没开对话页时照常提醒(浏览器上报前台状态与当前会话,新增 POST /dsh-ding/presence);② 完成通知带耗时:通知文本显示“用时 X 分 Y 秒”(宿主自动记录任务开始时间);③ 长任务运行中提醒(默认开):任务运行超 3 分钟后首次提醒、之后每 5 分钟一次,只弹通知不响铃(尊重“完成前不打扰”),提醒文本含已运行时长;④ 点击通知跳转会话:点击 Windows 通知自动打开浏览器直达对应对话(dsh-ding:// 协议激活 + toast-activate.ps1 + ?dingOpen= 深链);⑤ 用户提问提醒(默认开):Agent 通过 ask_user_question 提问等待回答时立即提醒;⑥ 高级设置弹窗:右键菜单「⚙ 高级设置」打开页面内设置窗口(遮罩 + 居中面板),全部参数运行时编辑(通知开关/标题/时机毫秒/音量/子代理完成通知);⑦ 自定义通知模板:完成/运行中/提问通知文本可自定义,支持 {title}/{prefix}/{elapsed}/{question} 参数引用;⑧ 双语通知:通知正文与标题跟随 WebUI 界面语言(DSH 完成/DSH Done、DSH 提问/DSH Question、DSH 运行中/DSH Running),内置音效名跟随语言;⑨ 完成判定修复:以 turn 真正结束 + 相位过滤判断完成,修复回复中途误通知与完成不通知的问题。(08-16 更新):⑩ 运行中提醒独立标题——运行中通知标题由「DSH 完成」改为「DSH 运行中」,并新增 runningTitle 配置项与高级设置「运行中通知标题」输入框;⑪ 运行中通知模板——新增 runningTemplate 配置项与高级设置「运行中通知模板」编辑框;⑫ 标题框语言化——标题输入框在未自定义时随 WebUI 语言显示对应默认标题(中文 DSH 完成/DSH 运行中/DSH 提问,英文 DSH Done/DSH Running/DSH Question);⑬ 设置文件热重载——直接编辑 data/dsh-ding.json 保存后即时生效,无需重启。(08-17 更新):⑭ 点击跳转修复——Windows 11 对非打包应用的 toast 点击(foreground 激活)失效,改为 activationType="protocol" 协议激活,并补全 URL Protocol 注册标志、修复 launch 参数解析(dsh-ding://open// 中 open 被解析为 host 的情况)、浏览器端深链加自动重试;⑮ 跳转黑窗修复——协议命令改用 wscript + toast-activate.vbs 无窗口启动器(避免 powershell 控制台黑窗闪烁)。新增配置项:quietOnViewing / runningNotify / runningFirstAfterMs / runningIntervalMs / questionNotify / questionTitle / runningTitle / doneTemplate / runningTemplate / questionTemplate,全部参数可在高级设置窗口运行时修改
- v0.4.3(2026-08-14):滑杆旋钮改为亮色黑球 / 暗色白球(跟随 WebUI 主题实时切换);移除音量条标题行;菜单文案改为跟随 WebUI 语言设置(ctx.locale,切换语言即时生效,不再是页面 lang)
- v0.4.2(2026-08-14):滑杆与右键菜单改用 WebUI 设计令牌(--dsw-alias-)——自定义滑杆:4px 圆角轨道 + 品牌色填充 + 主题化旋钮(悬停/按压放大);菜单表面/边框/阴影/文字/悬停/选中色全部对齐 WebUI 弹层样式(--dsw-specific-menu / --dsw-shadow-lv3),自动适配明暗主题
- v0.4.1(2026-08-14):铃铛交互改版——音量条移至铃铛正左侧(行内宽度动画、同行元素自动左移);右键设置面板新增提示音/气泡通知开关(全关 = 无任何提示);弹层增加过渡动画;修复悬停时菜单被误关的问题
- v0.4.0(2026-08-14):新增 Web 铃铛按钮——对话页顶栏单击开关提示音、悬停调音量(松手试听)、右键选音效/上传自定义音频;新增 GET/POST /dsh-ding/settings、/dsh-ding/test、/dsh-ding/sounds HTTP API,设置持久化到 data/dsh-ding.json
- v0.3.1(2026-08-14):通知图标改为 DSH 蓝鲸 logo;README 同步安装方法并新增本日志
- v0.3.0(2026-08-14):修复原生通知不显示——自动注册 AppUserModelID(未注册的 AUMID 会被 Windows 静默丢弃)
- v0.2.0(2026-08-14):bundle 化,支持 dsh plugin add github:CAOGGL/dsh-ding 一行安装
- v0.1.0(2026-08-14):首版——对话完成播放提示音 + Windows 通知;支持 soundFile / volume / 防抖节流 / 跳过子代理
常见问题
- 没有声音? 检查 soundFile 指向的文件是否存在;文件不存在会自动回退系统“叮咚”双音;两者都无声请检查系统音量/静音。
- 没有通知? 插件首次使用时会在开始菜单注册 dsh-ding-notifier 快捷方式(AppUserModelID 注册,这是 Windows 显示 toast 的前提)。若通知仍不显示,检查 设置 → 系统 → 通知 里 dsh-ding-notifier 是否被关闭;WinRT Toast 失败时脚本会自动回退 NotifyIcon 气泡。
- 想换提示音? 在对话页铃铛上右键即可选/传音效;也可以放一个新音频文件,改 soundFile 指向它(即时生效)。
English
Features
- 🔔 声音提醒:对话完成时播放 ding.mp3(可配置为任意音频文件:mp3/wav/mid/wma/aac);若文件缺失,则回退到系统“叮咚”提示音
- 🪟 原生 Windows 通知:显示系统 toast(包含会话标题和 DSH 鲸鱼标志)。首次使用时,插件会注册一个 AppUserModelID(开始菜单快捷方式),以便 toast 真正显示——未注册 AUMID 的 toast 会被 Windows 静默丢弃
- 🎚️ 可调音量:volume 选项(0.0 ~ 1.0)控制提醒音量;配置更改立即生效
- 🔔 Web 铃铛按钮:对话标题栏中的铃铛——单击切换声音,悬停会在铃铛左侧滑出音量条(流式宽度动画;同一行中的其他项向左移动),右键单击打开通知设置面板:声音/toast 开关(两者都关闭 = 完全不通知)、声音选择器和上传;更改立即保存,无需编辑配置
- 🖱️ 点击通知跳转到对话:点击 Windows toast/气泡会打开浏览器并跳转到已完成的对话(快捷方式激活 + dsh-ding:// 协议 + ?dingOpen= 深度链接)
- 🔕 当前会话静音:当窗口处于聚焦状态且完成的会话正是你正在查看的会话时静音;当你切换离开、查看另一个会话或未打开任何对话页面时,仍会提醒
- ⏱ 长任务进度提醒:3 分钟后首次 toast,之后每 5 分钟一次(仅 toast,无声音),文本中包含已用时间
- ❓ 提问提醒:当 agent 通过 ask_user_question 向你提问并等待时立即提醒(文本与完成时不同)
- 🛡️ 工具审批提醒:当工具调用等待你的审批(approval/request)时立即提醒;点击通知会跳转到该对话,你可以在 WebUI 中批准或拒绝
- 🛠 高级设置窗口:右键菜单中的“⚙ 高级设置”入口会打开一个页面内设置窗口,包含所有参数(通知开关、标题、以毫秒为单位的计时、音量、自定义通知模板)。模板支持占位符:{title} 会话标题、{prefix} 对话前缀、{elapsed} 已用时间、{question} 问题文本、{tool} 工具名称(审批模板)
- 💾 导出/导入配置:在右键菜单底部,你可以导出配置(下载 JSON 文件)或导入配置(从 JSON 恢复所有设置)
- ▶ 逐声音预览:右键菜单中的每个声音项都有一个播放按钮,可在不切换的情况下预览该声音
- 🧪 通知测试按钮:高级设置页面提供 4 个测试按钮(完成 / 运行中 / 提问 / 审批),点击后会立即发送对应类型的真实通知;点击 toast 可打开测试结果页面
- 🏷️ 可重命名的通知应用名称:高级设置允许你重命名通知应用名称;留空则自动跟随 WebUI 语言(zh:DSH叮当通知,en:dsh-ding-notifier)
- 📦 内置 ding.mp3:提示音随插件包一起分发,因此不再依赖启动目录或主目录中存在 ding.mp3
- 🌐 双语:通知文本与标题以及面板文案均跟随 WebUI 语言(zh/en)
- 🎯 精准计时:完成以回合实际结束为准(阶段过滤会排除回复中途的暂停);完成文本包含已用时间
- 🧹 无误报:忽略子代理完成事件(它们只是主对话的中间步骤)
- ⚡ 防抖与限流:默认 200ms 防抖和 3s 全局速率限制
安装
$DSH_HOME 默认为 ~/.dsh。
方式 A:一行命令安装(推荐,bundle)
dsh plugin --profile web add github:CAOGGL/dsh-ding
然后重启 dsh web(需要 pnpm —— npm install -g pnpm)。该插件还支持插入行挂载并实时重载配置(见方式 C)。
方式 B:插件市场
设置 → 插件市场 → 搜索 dsh-ding → 一键安装(已收录于 awesome-dsh-plugin;市场目录每日刷新)。
方式 C:手动放置(无需 pnpm)
1. 克隆(或下载)本仓库到:$DSH_HOME/profiles/node_modules/dsh-ding/
2. 追加到你的 profile 用户补丁文件 $DSH_HOME/profiles/web/cordis.patch.yml(其他 profile 同理):
- insert:
- id: dsh-ding
name: 'dsh-ding'
inject: ['webServer'] # required: depends on the webServer service so the bell API mounts
config:
sound: true
balloon: true
3. 保存后立即生效(补丁文件会被热监听)。对插件代码本身的修改需要重启服务。
npm(dsh plugin --profile web add dsh-ding):即将推出 —— 发布后可实现更快的安装。
验证:完成一次对话后,你应该能听到声音并看到通知。你也可以单独测试通知脚本:
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-ding\notify.ps1" -Title "Test" -Text "dsh-ding works"
配置
| 选项 | 默认值 | 描述 |
| --- | --- | --- |
| sound | true | 播放提示音 |
| soundFile | 空 | 声音文件路径(mp3/wav/mid/wma/aac)。为空时,脚本会在服务器工作目录 / 插件目录(内置 ding.mp3)/ 用户主目录中查找 ding.mp3;若未找到则回退到系统蜂鸣声 |
| volume | 1.0 | 提示音音量(0.0 ~ 1.0;1.0 = 原始音量,例如 0.5 = 一半音量) |
| balloon | true | 显示 Windows 通知 |
| title | DSH Done | 通知标题 |
| debounceMs | 200 | 状态防抖,单位毫秒 |
| minIntervalMs | 3000 | 两条通知之间的最小间隔 |
| notifySubagents | false | 子代理完成时也通知 |
| quietOnViewing | true | 当前查看时静音:当窗口处于焦点状态且完成的会话正是你正在查看的会话时静音;当你切换离开、查看其他会话或未打开任何对话页面时仍会提醒 |
| runningNotify | true | 长任务进度提醒:仅 Windows 通知,无声音 |
| runningFirstAfterMs | 180000 | 首次进度提醒延迟,单位毫秒(默认 3 分钟) |
| runningIntervalMs | 300000 | 进度提醒间隔,单位毫秒(默认 5 分钟) |
| runningTitle | DSH Running | 进度提醒的通知标题(v1.0.0 更新中新增) |
| questionNotify | true | 提问提醒:当代理通过 ask_user_question 向你提问并等待时立即提醒(文本与完成通知不同) |
| questionTitle | DSH Question | 提问提醒的通知标题 |
| doneTemplate | 空 | 自定义完成文本({title}/{prefix}/{elapsed};留空 = 默认) |
| runningTemplate | 空 | 自定义进度提醒文本({title}/{prefix}/{elapsed};留空 = 默认) |
| questionTemplate | 空 | 自定义提问文本({title}/{prefix}/{question};留空 = 默认) |
| approvalNotify | true | 工具审批提醒:当工具调用等待你审批时提醒 |
| approvalTitle | DSH Approval | 审批提醒的通知标题 |
| approvalTemplate | 空 | 自定义审批文本({title}/{prefix}/{tool};留空 = 默认) |
| notifierName | 空 | 通知应用显示名称(显示在 Windows 通知设置中)。留空则跟随 WebUI 语言:中文为 “DSH叮当通知”,英文为 “dsh-ding-notifier”;输入名称则固定使用该名称 |
完整示例:
- insert:
- id: dsh-ding
name: 'dsh-ding'
config:
sound: true
soundFile: 'C:\codewhale\ding.mp3'
volume: 0.8
balloon: true
title: 'DSH 完成'
debounceMs: 200
minIntervalMs: 3000
quietOnViewing: true
runningNotify: true
runningFirstAfterMs: 180000
runningIntervalMs: 300000
Web 铃铛按钮(v0.4.0+)
对话标题栏中的铃铛会将每次更改立即保存到 $DSH_HOME/profiles//data/dsh-ding.json(仅保存你改动过的字段;其他所有内容仍遵循 cordis.patch.yml):
| 操作 | 效果 |
| --- | --- |
| 点击铃铛 | 快速切换声音 |
| 悬停铃铛 | 音量条从铃铛左侧滑出(流式宽度动画;该行其他项自动左移);松开滑块会预览一次声音 |
| 右键点击铃铛 | 通知设置面板:Sound / Toast 开关(两者都关闭 = 对话结束时无通知)、Quiet on current(当你正在查看的会话结束时跳过;其他会话和离开窗口时仍会提醒)、While running(运行 3 分钟后每 5 分钟弹出进度提示,仅提示)、While asked(当智能体向你提问并等待时提醒),以及声音选择器(内置 ding / 你上传的文件)和上传(mp3/wav/mid/wma/aac/m4a/ogg/flac,存储在 data/sounds/ 中);底部的 ⚙ Advanced settings 入口会打开完整参数编辑器(通知开关、标题、以毫秒为单位的计时、音量——即时保存);底部还有 Export config / Import config(下载/恢复 JSON 设置) |
卸载
1. 从 cordis.patch.yml 中移除整个 dsh-ding 块
2. 删除 $DSH_HOME/profiles/node_modules/dsh-ding/ 目录
更新日志
- v1.0.2(2026-08-21):逐声音预览——右键菜单中的每个声音项现在都有一个 ▶ 播放按钮,可在不切换的情况下预览该声音;GET /dsh-ding/audio 支持 ?file=。导出/导入配置——右键菜单底部新增 Export config / Import config 条目(下载/恢复 JSON 设置)。内置 ding.mp3——插件现在自带 ding.mp3;notify.ps1 会搜索插件目录,因此不再依赖启动目录或主目录中包含 ding.mp3;四个通知测试按钮——高级设置页面新增四个测试按钮(完成/运行中/提问/审批),可立即发送该类型的真实通知;点击提示会打开测试结果页面,并记录测试所用的配置;可重命名的通知应用名称——高级设置中新增“Notification app name”字段;留空则自动跟随 WebUI 语言(中文默认:DSH叮当通知,英文默认:dsh-ding-notifier),或输入名称以固定它
- v1.0.1(2026-08-17):工具审批提醒——当工具调用等待你的审批(approval/request)时,插件会播放声音并显示审批通知(标题和文本可自定义,支持 {tool} 占位符);点击通知会跳转到请求审批的对话,你可以在 WebUI 中批准或拒绝。新增配置键:approvalNotify / approvalTitle / approvalTemplate(可在 Advanced settings 中编辑)。异步声音——提醒声音现在与通知并行播放,而不是阻塞通知直到声音文件播放完毕(修复了长尾声音导致的通知延迟)
- v1.0.0(2026-08-15,更新于 08-16):完整提醒系统 — ① 当前会话静默(默认开启):当窗口处于聚焦状态且正在查看的会话正是刚完成的会话时保持静默;当你切换离开、查看其他会话或没有打开任何对话页面时仍会提醒(浏览器通过新增的 POST /dsh-ding/presence 上报前台状态和当前会话);② 带耗时信息的完成文本:通知现在会显示“耗时 Xm Ys”(宿主会记录任务开始的时间);③ 长任务进度提醒(默认开启):3 分钟后首次弹出 toast,之后每 5 分钟一次 — 仅 toast,无声音(遵循“任务完成前不发出噪音”),文本中带有已用时间;④ 点击通知跳转到对话:打开浏览器并直接定位到已完成的会话(快捷方式激活 + dsh-ding:// 协议 + ?dingOpen= 深链接,新增 toast-activate.ps1);⑤ 提问提醒(默认开启):当 agent 通过 ask_user_question 向你提问并等待时立即提醒;⑥ 高级设置窗口:“⚙ 高级设置”入口会打开一个页内模态窗口(遮罩层 + 居中面板),所有参数均可在运行时编辑(通知开关、标题、以毫秒计的计时、音量、子代理完成);⑦ 自定义通知模板:完成和提问文本可通过 {title}/{prefix}/{elapsed}/{question} 占位符自定义;⑧ 双语通知:文本和标题跟随 WebUI 语言(DSH 完成/DSH Done、DSH 提问/DSH Question、DSH 运行中/DSH Running),内置声音名称也随之变化;⑨ 完成检测修复:完成与否通过回合实际结束加上阶段过滤来判定 — 修复了回复中途误报通知和漏报完成通知的问题。(2026-08-16 更新):⑩ 专用进度提醒标题 — 进度 toast 标题从“DSH 完成”改为“DSH 运行中”,并新增了 runningTitle 配置键以及高级设置中的“运行中标题”输入框;⑪ 进度提醒模板 — 新增 runningTemplate 配置键以及高级设置中的“进度模板”编辑器({title}/{prefix}/{elapsed});⑫ 本地化标题输入框 — 当标题输入框仍保留其默认值时,高级设置会显示本地化的默认值(中文为 DSH 完成/DSH 运行中/DSH 提问,英文为 DSH Done/DSH Running/DSH Question),并随 WebUI 语言切换。新增配置键:quietOnViewing / runningNotify / runningFirstAfterMs / runningIntervalMs / questionNotify / questionTitle / runningTitle / doneTemplate / runningTemplate / questionTemplate,均可在高级设置窗口中于运行时编辑
- v0.4.3(2026-08-14):滑块旋钮现在为浅色模式下黑色 / 深色模式下白色(实时跟随 WebUI 主题);音量条标题行已移除;菜单文案现在跟随 WebUI 语言设置(ctx.locale,即时切换,不再与页面 lang 绑定)
- v0.4.2(2026-08-14):滑块与右键菜单使用 WebUI 设计令牌(--dsw-alias-)重新设计样式 —— 自定义滑块:4px 圆角轨道、品牌色填充、主题化滑块旋钮(悬停/按下时放大);菜单的表面/边框/阴影/文字/悬停/激活颜色现在与 WebUI 弹出层样式一致(--dsw-specific-menu / --dsw-shadow-lv3),并自动适配浅色/深色主题
- v0.4.1(2026-08-14):铃铛交互重新设计 —— 音量条移至铃铛左侧(流式宽度动画,行内元素左移);右键面板新增声音/Toast 开关(两者均关闭 = 完全静音);弹出层增加过渡动画;修复了悬停菜单过早关闭的问题
- v0.4.0(2026-08-14):新增 Web 铃铛按钮 —— 点击对话标题栏中的铃铛可切换声音,悬停显示音量滑块(松开预览),右键可选择/上传声音;新增 GET/POST /dsh-ding/settings、/dsh-ding/test、/dsh-ding/sounds HTTP API;设置持久化到 data/dsh-ding.json
- v0.3.1(2026-08-14):Toast 图标更换为 DSH 鲸鱼标志;README 安装方式更新,新增更新日志
- v0.3.0(2026-08-14):修复原生通知不显示的问题 —— 自动注册 AppUserModelID(使用未注册 AUMID 的 Toast 会被 Windows 静默丢弃)
- v0.2.0(2026-08-14):已打包,可通过 dsh plugin add github:CAOGGL/dsh-ding 安装
- v0.1.0(2026-08-14):初始版本 —— 对话结束时播放声音 + Windows 通知;支持 soundFile / volume / debounce & throttle / skip-subagents
常见问题
- 没有声音? 检查 soundFile 指向的文件是否存在;如果不存在,脚本会回退到系统蜂鸣声。如果两者都无声,请检查系统音量/静音设置。
- 没有通知? 首次使用时,插件会注册 dsh-ding-notifier 开始菜单快捷方式(AppUserModelID 注册 —— Windows 显示 Toast 所必需)。如果通知仍然不显示,请检查 设置 → 系统 → 通知,确保 dsh-ding-notifier 已启用。如果 WinRT Toast 失败,脚本会自动回退到 NotifyIcon 气泡通知。
- 想要不同的声音? 在 Web UI 中右键点击铃铛即可选择/上传;或者放入新的音频文件并将 soundFile 指向它(立即生效)。
许可证
MIT