在 DSH(DeepSeek Harness)智能体开发中,通常缺乏对“审批请求”和“对话结束”等关键状态的听觉反馈。此插件通过监听宿主事件,在上述时刻播放声音提示,减少人工检查的时间成本。
插件定位¶
这是一个 DSH 宿主插件,用于在审批询问和一轮对话结束时播放声音提示。插件由 anne43983959 维护,采用 MIT 许可证。它属于纯宿主半模块,零外部依赖,不注册工具、不注册服务、不修改现有文件。
核心功能¶
插件通过监听以下事件并播放预设音效,实现状态感知:
- 审批询问:监听
approval/request事件。注意该事件属于 cordis 的 waterfall 类型,监听器必须调用next()放行,否则会否决整条审批链。 - 对话结束(主路径):监听
session/event中event.type === "turn/end"的事件。此路径可利用 scope carrier 过滤子代理,避免子代理会话也触发声音。 - 对话结束(兜底):监听
agent/turn-stopping事件。此路径不依赖 scope,作为兜底机制,延迟 2 秒后播放,确保主路径未触发时仍有反馈。 - 提问提示:监听
tools/execute中ask_user_question事件,播放提示音。
安装¶
在宿主环境中执行以下命令:
dsh plugin --profile web add github:anne43983959/dsh-audio-cue
安装后必须重启宿主实例,模块与素材才会生效。
配置¶
配置项需写入 profile 的 cordis.patch.yml(插件自带的配置或 profile 覆盖):
| 键 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
总开关 |
approval |
true |
审批询问音开关 |
ask |
true |
提问音开关 |
turnEnd |
true |
一轮结束音开关 |
ignoreSubagents |
true |
忽略子代理的回合结束音 |
fallbackTurnStopping |
true |
兜底机制开关 |
fallbackDelayMs |
2000 |
兜底延迟(毫秒) |
selfTest |
false |
自检音开关 |
selfTestMs |
2500 |
自检音延迟(毫秒) |
素材要求¶
插件运行需要宿主目录下包含以下素材文件:
assets/approval.wav:审批提示音assets/turn-end.wav:对话结束提示音
两段素材均为 44.1 kHz / 16-bit / 立体声 WAV 格式。
兼容性与注意事项¶
- 兼容性:要求
dsh.compatibility.runtime >=0.1.1-rc.1 <0.3.0。 - 权限:插件仅读取宿主事件,无额外权限需求。
- 自检:开发时可运行
node scripts/smoke.mjs进行本地自检。
生态背景¶
DSH 采用“一切皆插件”的架构。本插件托管于社区目录,与 DeepSeek 及幻方无官方从属关系。