dsh-task-sfx:三套互不干扰的任务音效

前言

在 DSH 里跑长对话或等代理写完一整轮回复时,眼睛不一定一直盯着界面。有人习惯用系统通知,但 DSH 的「一轮结束」「需要你点批准」「停下来问你选哪条路」是三种不同节奏——混成一种提示音很难区分。社区维护者 kanmanJO 的 dsh-task-sfx(npm 包名 dsh-task-sfx,GitHub kanmanJO/dsh-task-sfx)给 Web 端 DSH 会话装三套互不相干的音效:回复结束随机响一声、静默超时补响一次、审批或选择题出现时再响一声。分类在社区目录里归在「趣味换装」;仓库当前星标为 0,许可证 MIT,版本 1.3.0(以 package.json 为准)。

下面介绍它做什么、怎么装、日常怎么用,以及使用时要注意的几点。

这是什么

dsh-task-sfx 是标准 DSH bundle:Host 半订阅会话与审批相关事件,Client 半在侧边栏提供设置面板并常驻播放引擎。开关、音效文件和提醒间隔都落在 <DSH home>/task-sfx/,与插件代码分开,卸载或升级 bundle 一般不会丢配置。

音频可以从本机导入;README 提到若找不到合适片段,可以用 filee 把视频裁段转成 MP3 再导入(与目录页简介一致)。

三套音效分别干什么

  1. 任务完成音效(A 池) —— 每次根会话里一轮回复正常结束(turn/end,不含 aborted),从 A 池随机播一个;子代理自己的回合不算「任务完成」,不会误响。
  2. 提醒音效(B) —— A 响完后开始倒计时;倒计时走完且这段时间里没有新消息、新对话或新任务,才补响一次 B。B 关着时连倒计时都不会开始。
  3. 授权 / 选择提醒音效(C 池) —— DSH 弹出审批(approval/request),或通过 ask_user_question、exit_plan_mode 把球交给你时,从 C 池随机播一个。只提醒你看界面,不改变审批结果,也不替你作答。

三个开关独立:只想要完成音就关 B、C;C 关着时审批来了也不出声。

面板里还能配什么

  • A / C 池:支持批量导入本地音频,列表里逐条试听、删除;两池互不影响。
  • B:单独上传一个文件,新文件会替换旧的(旧文件一并删掉)。
  • 提醒间隔:1–43200 秒,面板提供 10s / 30s / 1m / 5m / 10m 预设;改完立即生效,正在走的倒计时按新时长重算。发消息、开新对话、起新任务会立刻作废倒计时。
  • 格式与上限:mp3、m4a、wav、ogg、flac、webm 等常见格式;单文件最大 40 MB,每个池最多 200 条。
  • 界面:中英双语,跟随 DSH 当前语言。

浏览器不允许无用户交互就自动出声。首次使用请在面板里点一次「试听」,之后自动播放才会正常。

安装与启用

本包无构建步骤、无 npm 依赖;装完需重启 DSH。左侧边栏会出现喇叭图标(与「插件」「自动化任务」同级)。若改源码开发,需重载插件并在浏览器按 F5。

方式一,从 npm(README 推荐):

dsh plugin --profile web add dsh-task-sfx

方式二,从 GitHub 仓库:

dsh plugin --profile web add github:kanmanJO/dsh-task-sfx

方式三,在面板里:

plugin_manager → install_bundle → target = dsh-task-sfx

--profile web 是官方示例里的 profile 名;若你用的是 desktop 等,换成自己的 profile 即可。

社区目录页:https://www.skillhub.cn/plugins/kanmanJO/dsh-task-sfx(独立站点,与 DeepSeek / 幻方无官方从属关系)。

典型用法

  1. 安装并重启 DSH 后,点左侧喇叭图标打开面板。
  2. 按需打开「任务完成音效(A)」「提醒音效(B)」「授权 / 选择提醒音效(C)」。
  3. 用「批量导入音频」填充 A 池;「选择提醒音效」指定 B;C 卡片同样可批量导入。
  4. 在 B 卡片设置间隔秒数(回车或失焦保存),或点预设。
  5. 正常聊天:每轮结束响 A;安静到倒计时结束再响一次 B;需要批准或需要你拍板时响 C。

数据目录结构如下(<DSH home> 默认 Windows 为 C:\Users\<你>\.dsh,可用环境变量 DSH_HOME 覆盖):

<DSH home>/task-sfx/
├── config.json     # 三个开关、间隔(秒)、音效清单
└── sounds/         # 导入的音频,文件名即条目 id

config.json 里 enabledA / enabledB / enabledC 对应三个开关;提醒间隔以 seconds 为准。老版本若只有单个 enabled,升级时会迁移为 A、B 同开同关;C 无历史字段,升级后默认关,需在面板手动打开。

适用场景与注意

适合谁:长时间挂着 DSH 写代码或跑任务、希望「写完一轮」「别忘回来看批准」「静音太久再提醒一下」用不同声音区分的开发者。

运行与信任:插件在 DSH Host / Client 进程权限下读写本地目录并通过同源 HTTP(/task-sfx/api)供面板使用。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证;社区目录仅作发现入口,不替代你自己对 bundle 的审查。

环境要求(package.json):Node ^22.19.0 || >=24.0.0,DSH >=0.2.1-rc.3,Client 注入 Web 布局与侧边栏。

结尾

dsh-task-sfx 把「回复结束」「静默提醒」「要你出面」拆成三套可独立开关的音效池,配置持久化在 task-sfx 目录。需要安装命令与细节时,以 README 为准:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜