前言¶
DeepSeek Harness(DSH)在 Agent 调用需要授权的工具,或通过 ask_user_question 停下来向你提问时,会等待你的操作。界面若不在前台,这一轮往往要等你切回窗口才会继续。常见做法是盯着终端或浏览器标签,或依赖系统通知——后者不一定与 DSH 的审批、提问时刻对齐。
下面介绍社区插件 dsh-approval-ding(维护者 tianhengzhibei):在请求出现的那一刻播放一声短铃,不参与批准、拒绝或作答,也不改变任何审批逻辑。
这是什么¶
dsh-approval-ding 是 DSH 的客户端类插件,分类为客户端。它在 Cordis 事件链上监听两类请求,触发后立即 return next(),把应答仍交给 Web 审批面板、提问卡片、命令行提示或其它插件。
插件包为纯 ESM,附带一个 WAV 资源,无需构建步骤和额外依赖(package.json 要求 Node >=18)。当前资料中的版本为 1.1.0,许可证 MIT。
核心功能¶
触发条件¶
| 触发点 | 什么时候响 |
|---|---|
approval/request |
工具调用需要你的授权 |
user-questions/request |
ask_user_question 向你提问(含带超时的变体,以及 exit_plan_mode 的计划复核) |
在审批策略为 never 时,请求会在进入 waterfall 之前被拒绝,插件不会发声。
行为边界¶
- 只播放声音,不代答、不代批、不延迟请求。
- 监听以
{ prepend: true, global: true }注册,先于应答器执行,随后原样传递事件。 - 播放在独立子进程中完成(
stdio: 'ignore'),PowerShell 冷启动或缺少声卡不会阻塞本轮;播放失败会被吞掉,不会让请求失败。 cooldownMs默认 500 ms:并发请求只响一次。
默认铃声¶
内置 assets/ding.wav:约 0.62 s,E6(1318.51 Hz)加四个非谐波分音,44.1 kHz 单声道 16-bit。
配置项 sound: system 时使用操作系统通知音;其它值按 .wav 路径解析(绝对路径,或相对插件包根目录)。
平台与延迟¶
| 平台 | 播放方式 |
|---|---|
| Windows | powershell.exe + System.Media.SoundPlayer |
| macOS | afplay |
| Linux | paplay,失败时回退 aplay |
声音在运行 DSH 宿主进程的那台机器上播放。浏览器连远程宿主时,铃在宿主侧响,不在浏览器标签里。
Windows 上辅助进程不能使用 detached: true(否则 PowerShell 可能立即退出且不播放)。资料注明 PowerShell 冷启动约 0.5 s,提示出现后大约半秒才能听到铃。
安装与启用¶
先做 profile 选择,再执行对应安装命令。
Web GUI 使用的 profile:
dsh plugin --profile web add github:tianhengzhibei/dsh-approval-ding
Desktop 应用 profile:
dsh plugin --profile desktop add github:tianhengzhibei/dsh-approval-ding
也可在 DSH 插件市场中搜索并安装。社区目录见 SkillHub 插件页,与 DeepSeek / 幻方无官方从属关系,属于「一切皆插件」生态中的独立条目。
配置¶
在 <profile>/cordis.patch.yml 中通过 patch 插入 bundle 配置;各项均可选,默认值如下。
# <profile>/cordis.patch.yml
- insert:
- id: dsh-ding
name: dsh-approval-ding
config:
enabled: true # false mutes the plugin without uninstalling it
sound: ding # "ding" | "system" | "C:\path\to\chime.wav"
cooldownMs: 500 # parallel requests produce a single ding
sources: [approval, question] # drop one to silence only that kind
说明:
enabled: false可静音而不卸载插件。sources去掉approval或question之一,可只对另一类请求发声。- 自定义 WAV 路径在 Windows 示例中为绝对路径写法,Linux / macOS 按同样规则填写有效路径即可。
典型用法¶
安装并保持默认配置后,当 Agent 发起需授权的工具调用,或弹出提问批次时,应听到一声短铃。你仍按原有流程在界面或 CLI 中批准、拒绝或回答。
若希望只用系统提示音,将 sound 改为 system:
sound: system
若只希望工具审批时响、提问时不响:
sources: [approval]
适用场景与注意¶
适合长时间跑 Agent、常切到其它窗口或应用的开发者:用听觉补位,减少「DSH 在等但我没注意到」的空转。
安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;插件以当前 DSH 进程权限运行,仅增加本地播放子进程,不替你做安全决策。
卸载可通过插件管理器移除 bundle,或在 profile 的 package.json 里从 dsh.profile.bundles 去掉 dsh-approval-ding。
结尾¶
dsh-approval-ding 把「需要人介入」的时刻用一声短铃标出来,逻辑与应答链保持不变。需要安装命令、触发表与平台细节时,以 README 为准。
- 目录页:https://www.skillhub.cn/plugins/tianhengzhibei/dsh-approval-ding
- GitHub:https://github.com/tianhengzhibei/dsh-approval-ding