dsh-client-ui-turn-chime:DSH Web 客户端 AI 完成与待介入双音提示

前言

用 DeepSeek Harness(DSH)跑多会话、协调者派发子代理时,常见情况是:主模型先停在一轮「等待回报」里,后台还有会话在跑,或者某条会话弹出待答、待批、计划待审卡片。若只靠肉眼盯当前标签页,很容易漏掉后台的收尾或提问。下面介绍的 dsh-client-ui-turn-chime 是维护者 liuyun847 发布的 客户端 类 DSH Web 插件:在浏览器里用 Web Audio 合成一声双音「叮咚」,在两类时机提醒你,且同一轮工作只响一次。插件不渲染可见 UI,安装启用后无需额外配置。

这是什么

核心功能

两类触发

  1. 回复真正结束
    某会话的 running 由 true 变为 false,且该会话没有任何仍在运行的后代子代理时,播放提示音。协调者类预设里主模型常先派发后台子代理再停止生成去等回报;这种「暂停等待」不会误响,提示会挂起,等该会话名下子代理全部结束、会话空闲时补响一次。

  2. 轮到你介入
    某会话出现 pendingInteraction(待答 question、待批 approval、计划待审 plan-review 等)时立刻响一次,不等本轮收尾。DSH 默认的 ask_user_question 是阻塞式:工具体内 await 你的回答时,该轮 turn 未结束、running 仍为 true,只订阅 running 的边沿听不到提示,因此这条路径是必需的。同一轮若已因「待介入」响过,收尾时不再补响。

全局监听与子代理门控

自 v0.5.1 起,插件等服务就绪后订阅客户端服务 sessions.list(摘要:origin / parentId / running)与 uiSession.sessionStatus(每会话 running / pendingInteraction),对每个用户会话跑判定;你在看 A 会话时,B 会话的提问或收尾也会提醒。同一轮求值里多个会话同时该响,只播一声。

  • 子代理会话的待介入会响;收尾不单独响,由所属父会话在「子代理全部结束」时补响,避免协调者一轮连响多声。
  • 回复完成时若仍有运行中的后代子代理(沿 parentId 上溯,只计 running),则挂起;子代理归零且会话空闲时补响。待介入不受这道门控。

音频与边界

  • 双音(C6→G6)由 Web Audio 实时合成,不依赖音频文件。
  • 浏览器在未点击/敲键前可能静音 AudioContext;v0.5.2 起在首次用户手势时解锁,解锁前该响的事件会在解锁成功后补响一次。页面已被用户激活过,或 HMR 重载且 navigator.userActivation.hasBeenActive 为真时,按 README 说明可当场出声。
  • 拿不到 sessions.list / uiSession.sessionStatus 时,会退化到只盯「当前会话」的座位兜底路径,与全局路径共用判定状态,避免重复响。

更细的判定状态机、缺行会话只判待介入、已知边界(如刷新后首个待介入会响、极窄时序 B1 等)见仓库 README《特性》与《工作原理》。

安装与启用

本包是组合包(bundle):注册行 id: turn-chime 在包内 cordis.patch.yml,宿主按 profile 的 package.json 里 dsh.profile.bundles 加载,不需要再往 profile 的 cordis.patch.yml 里粘贴 - insert: 行。

在 profile 目录(例如 ~/.dsh/profiles/<profile 名>/)下执行(命令来自 README 原文):

dshpm add file:./plugins/dsh-client-ui-turn-chime --profile <profile 名>

dshpm 是替代 dsh plugin add 的装卸 CLI,装包的同时把包名写入 dsh.profile.bundles。装完后重启 dsh,刷新页面后生效。

从 npm registry 或 GitHub 安装时,同样只要包名在 dsh.profile.bundles 里即可,例如 README 提到的 github:liuyun847/dsh-client-ui-turn-chime 或版本 ^0.5.5。

启停:插件页「已安装」区本卡的总开关(写 dsh.profile.bundles);卡片内还有行级开关(向 profile 的 cordis.patch.yml 写 disabled 覆盖)。

卸载:

dshpm remove dsh-client-ui-turn-chime --profile <profile 名>

若 profile 的 pnpm 带供应链策略导致 pnpm remove 报错,README 建议在 profile 目录执行:

pnpm remove dsh-client-ui-turn-chime --config.minimum-release-age=0

典型用法

README《使用》一节说明:安装并启用后即自动播放提示音,无其他配置。 你照常使用 DSH Web 客户端即可;无需改 profile 里的额外配置项(资料中未列出可编辑的配置字段)。

适用场景与注意

适合谁:长时间开多会话、用协调者/子代理、或需要离开屏幕一会儿的 DSH Web 用户,希望用声音区分「这一轮真正干完了」和「系统在等你答/批/审计划」。

安装前请自行核对:插件在 当前 dsh 进程与浏览器页面 的权限下运行,会订阅会话列表与会话状态并播放音频。安装前应阅读 仓库源码 与 MIT 许可证,确认符合你的环境与安全要求。SkillHub 等为社区目录站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本介绍事实均来自上述 README 与 package.json。

结尾

dsh-client-ui-turn-chime 把「真正收尾」和「待你介入」拆成两条可观测信号,并在多会话、子代理场景下用门控与「同一轮只响一次」控制误报与连响。若你需要这类提醒,可按 README 用 dshpm 装入 profile 并重启、刷新后使用。

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

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

Xiaoye