dsh-complete-chime:任务跑完时的提示音与通知

前言

在 DeepSeek Harness(DSH)里跑 agent,往往要盯一轮会话什么时候从 running 变回空闲。人离开屏幕时,只能靠偶尔切回窗口确认。社区插件 dsh-complete-chime 在 Web GUI 里监听会话状态,在一轮任务真正结束时播放合成提示音,并可选用系统 TTS 和 Windows 通知。插件零依赖、零构建,声音由 Web Audio 现场合成,设置落在本机。下面介绍它做什么、怎么装、怎么用,以及使用时要注意什么。

这是什么

dsh-complete-chime 是维护者 423324324 发布的 DSH 插件,在 SkillHub 目录 中归类为「趣味换装」。源码与说明见 GitHub 仓库,当前 package 版本为 1.0.0,MIT 许可,要求 Node ^22.19.0 || >=24.0.0。

一句话:agent 一轮跑完时响铃、放短旋律、可选念一句「任务完成了」、可选弹系统通知;子代理默认不响,可配置。

什么时候会响

  1. 一轮任务结束:当前会话的 running 从 true 变为 false 时响一次。
  2. 子代理:subagent 跑完默认不响;在设置里可打开「子代理完成也提醒」。
  3. 前台策略:默认只在窗口不在前台时提醒(最小化、切到其他应用、页面不可见)。若希望无论是否在看不都响,关闭「只在窗口不在前台时提醒」。
  4. 多会话同时完成:900ms 冷却,同一时间只响一次,避免连环播放。

核心功能与设置

设置入口在 DSH Web GUI:设置 → 完成提示音(与其他插件设置项在同一列表)。

设置项 说明
启用提示音 总开关
提示音 chime(三音叮咚,默认)、ding、bell、music(上行琶音)、alarm(闹钟)、custom(本地上传)
音量 0–100
试听 立即播放当前选中声音
只在窗口不在前台时提醒 默认开启
语音播报 系统 TTS,文案可改(默认「任务完成了」)
系统通知 Windows 通知(会请求通知权限)
子代理完成也提醒 默认关闭
自定义音乐 本地音频(mp3/wav/ogg 等,上限 12MB),存浏览器 IndexedDB,不上传服务器

改动立即生效,并写入宿主侧 ~/.dsh/dsh-complete-chime/settings.json;localStorage 仅用于首屏快速回填和宿主不可达时的兜底。DSH 桌面端每次启动可能用随机端口,页面 origin 会变,因此需要宿主侧持久化。

实现上,宿主入口 lib/index.js 提供 GET/PUT /api/dsh-complete-chime/settings;客户端 lib/client.js 订阅 ctx.sessions.list 检测 running 变化,用 Web Audio 合成铃声,并在首次用户点击/按键时解锁 AudioContext,以符合浏览器自动播放策略。

安装与启用

插件以本地目录形式安装。在 DSH 桌面端可用的终端里执行(路径需改成你机器上的插件目录):

dsh plugin --profile desktop add file:C:\Users\dd\Documents\deepseek-harness\default-workspace\dsh-complete-chime

安装后关闭 DSH 桌面端再重新打开(profile 里的 bundle 仅在启动时装载;仅 Ctrl+R 刷新页面不够)。启动后打开 设置,列表中应出现「完成提示音」,点「试听」能听到声音即表示装载成功。

官方 README 还给出手动安装步骤(pnpm 不可用时):复制目录到 C:\Users\dd\.dsh\profiles\desktop\node_modules\dsh-complete-chime,在对应 package.json 的 dependencies 与 dsh.profile.bundles 中登记,再重启桌面端。具体路径以 README 为准。

卸载:

dsh plugin --profile desktop remove dsh-complete-chime

宿主侧 ~/.dsh/dsh-complete-chime/settings.json 不会随卸载自动删除,需自行清理目录。

典型用法

  1. 按上文安装并重启 DSH 桌面端。
  2. 进入 设置 → 完成提示音,保持「启用提示音」开启,选择 chime 或其他音色,点「试听」确认音量。
  3. 若经常在别的窗口工作,保持「只在窗口不在前台时提醒」开启;若需要每次结束都响,关闭该项。
  4. 需要话音提醒时打开「语音播报」并修改文案;需要系统栏通知时打开「系统通知」并授予权限。
  5. 跑一轮 agent 任务,待 running 结束且窗口不在前台(若按默认策略),应听到提示音。

仓库内可用 Node 跑单元测试(不依赖浏览器):

node test/run.mjs
node test/host.mjs

适用场景与注意

适合谁:长时间在 DSH Web GUI 里跑 agent、又不想一直盯进度条的开发者;希望任务结束时有轻量听觉或通知反馈的场景。

已知限制(来自 README):

  • 仅在 GUI 页面开着时工作;关闭整个 DSH 窗口不会响;若要后台常驻提醒,需依赖系统级通知等其它方案。
  • TTS 音色取决于 Windows 已安装的中文语音包。
  • 未提供「预计完成时间」「重复闹钟」等功能。

安全与权限:插件随当前 DSH 进程与你在本机加载的代码运行。安装前请自行阅读 源码 与 MIT 许可证;自定义音乐仅存在本地 IndexedDB,设置经回环 API 写入 ~/.dsh/dsh-complete-chime/settings.json,接口带有同源与 body 大小等围栏。

DSH 生态强调「一切皆插件」;SkillHub 为社区目录,与 DeepSeek、幻方无官方从属关系。

结尾

dsh-complete-chime 用会话 running 状态驱动零依赖 Web Audio 提示,并把设置同步到宿主文件,适配桌面端随机端口。需要进一步了解参数与原理时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/423324324/dsh-complete-chime
  • GitHub:https://github.com/423324324/dsh-complete-chime
羽毛球分组比赛记分
小程序二维码

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

小夜