前言¶
在 DSH 桌面端里跑智能体,常见情况是窗口在后台:一轮回答结束你看不见,助手在等你回话也听不见。切到别的应用或最小化窗口时,只能偶尔瞥一眼任务栏才知道状态变了。下面介绍的工作流插件用系统声音和 Windows 气泡,在「说完」「在等你」「有问句等你答」三种情形下给出可区分的反馈,且仅在 Windows 上依赖系统自带的 WPF 与 NotifyIcon,零 npm 依赖。
这是什么¶
dsh-chloe-ding(社区目录:alphaaaaa001/dsh-chloe-ding-pop)是 DSH 桌面端插件,维护者关联 alphaaaaa001(贡献者何林霜),作者为克洛伊(Chloe)。插件定位是:助手说完一轮 → 轻叮;在等你回话 → 更亮的叮;ask_user_question 等你回答 → 再叮并可弹自定义问句气泡。非 Windows 平台装上不会响、也不会报错。
包版本 1.1.0,许可证 MIT。
核心行为¶
插件根据 DSH 事件、前台窗口判定和可选信号文件决定声音与气泡,行为可概括为下表(资料原文):
| 情形 | 声音 | 气泡 |
|---|---|---|
| 一轮说完,DSH 在前台 | 轻叮 | 不弹 |
| 一轮说完,你切走 / 关窗口 | 轻叮 | 弹「说完了」 |
| 助手在等你回答(信号文件在) | 亮叮 | 弹「在等你回话」 |
| 助手抛出问题等你回答 | 亮叮 | 弹「(o゜▽゜)o☆Question~」 |
| 一直不回 | 每 repeatMs 再响,最多 maxRepeats 次 |
同上 |
| 你切回 DSH | — | 重复立刻停 |
| 定时任务自己发起的一轮 | 不响 | 不弹 |
「在等你」不靠猜:默认查看 ~/.dsh/chloe-call.json 是否存在且未超过 signalTtlMs。「是否在看 DSH」通过前台窗口进程与 DSH 自身比对;比不出来时当作不在前台(宁可多弹一次,也不漏叫)。
声音文件随包分发(assets/done.wav、assets/alert.wav),播放走 PowerShell + WPF MediaPlayer,通知走 NotifyIcon。
安装与启用¶
官方方式在 DSH 桌面端内完成,包名为 dsh-chloe-ding(不要用目录 slug 或其它名称代替):
- 打开 插件 → 添加插件
- 填写包名
dsh-chloe-ding - 重启客户端
重启后 bundle 会应用包内 cordis.patch.yml(insert 一行),客户端设置页需通过上述标准安装才会被扫描到。
开发期若要从本地目录加载,可把下列片段追加到 profile 的 cordis.patch.yml,并将 name 改为 file:///…/index.mjs(Windows 上须写 file:/// 前缀):
- insert:
- id: dsh-chloe-ding
name: 'dsh-chloe-ding'
配置¶
设置页¶
路径:设置 → 克洛伊的叮。可改重复间隔(秒)、音量、问句是否也叮、问句气泡文字、是否弹气泡、前台是否仍弹气泡。写入 DSH 设置层。
用户配置文件¶
~/.dsh/chloe-ding.json,修改后约 2 秒内生效,无需重启。示例:
{ "repeatMs": 60000, "volume": 0.7, "nick": "克洛伊" }
优先级:设置页 > 用户配置文件 > patch 里的 config > 内置默认。
常用键包括:doneSound / alertSound / questionSound(可写绝对路径如 C:/Users/you/Downloads/ding.mp3)、volume(0~1)、signalFile、signalTtlMs、repeatMs、maxRepeats、notify、quietWhenFocused、nick、dingOnAuto、dingOnQuestion。完整表格见仓库 README。
「在等你回话」信号文件(可选)¶
Agent 需要你回答时,可写入 ~/.dsh/chloe-call.json(内容随意,插件只看存在性与 mtime);你回复后删除该文件。不用此协议时插件仍可工作,只是不会触发 alert 档声音。
写入与删除示例:
node -e "require('node:fs').writeFileSync(require('node:os').homedir()+'/.dsh/chloe-call.json','{}')"
node -e "require('node:fs').rmSync(require('node:os').homedir()+'/.dsh/chloe-call.json',{force:true})"
也可在对话里让 agent 约定:需要回答时先创建该文件。
典型用法与自测¶
端到端自测三步(README):
- 盯着 DSH → 说完:只有轻叮,无气泡
- 切到别的窗口,并让助手依赖信号文件开口:亮叮 + 气泡
- 超过
repeatMs会再响;切回 DSH 后重复停止
本地冒烟与诊断(Windows):
node test.mjs
node index.mjs --focus
node index.mjs --toast 标题 正文
node index.mjs --ding <声音文件> [音量]
诊断日志:%TEMP%\dsh-chloe-ding-debug.log。
适用场景与注意¶
适合:在 Windows 上使用 DSH 桌面端、希望后台也能听到/看到助手状态变化的开发者或日常用户。
注意:
- 平台:仅 Windows 有声音与气泡;其它系统无效果。
- 权限:插件以当前 DSH 进程权限运行;安装前请阅读 GitHub 源码 与 MIT 许可证。
- 生态:DSH 理念是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
克洛伊的叮把「说完 / 等你 / 问句」三种状态拆成可配置的声音与通知,适合长时间挂着 DSH、窗口不在前台时使用。目录与源码: