前言¶
DeepSeek Harness (DSH) 运行智能体时,开发者可能需要处理其他事务。当智能体长时间运行或处于后台状态时,浏览器通知往往不可靠,或者容易被忽略。下面介绍一个插件,它通过主机的操作系统进程播放真实的声音,确保你在看手机或切换虚拟桌面时,依然能感知到智能体回合的结束或阻塞。
插件简介¶
ruazero/dsh-task-chime 是一个 DSH 插件。它的核心作用是在智能体完成回合或需要人工介入时,播放真实的系统声音。不同于网页内的通知,该声音由主机进程通过 ctx.shell 触发,因此即便 DSH 窗口最小化或在后台运行,声音依然可闻。
核心能力¶
这个插件提供了以下具体能力:
- 两个触发时刻:区分“任务完成”和“智能体被阻塞等待输入”(如审批或提问)。这两个时刻分别对应不同的声音和强度。
- 丰富的声音库:提供 13 种声音选择,包括系统音效、蜂鸣模式以及自定义音频路径。
- 四级强度控制:支持 L1(轻量)到 L4(警报)四个强度。L2 播放两次,L3 包含前奏播放三次,L4 包含上升与下降前奏播放五次。
- 自动升级:任务超过 2 分钟,强度提升一级;超过 10 分钟,提升两级(上限为 L4)。
- 触发范围:可选择仅对顶级会话(roots)生效,或包含子智能体会话。
- 时长阈值:短回合默认静音,避免频繁干扰。
- 防误触机制:只有在观察到
running -> idle转换时才触发完成音;阻塞等待输入时,需在宽限期后仍未解决才触发。 - 按需触发工具:暴露
task_chime工具,允许智能体在对话中直接说“ring me”来触发提示音。
安装与启用¶
安装命令如下:
dsh plugin --profile web add github:ruazero/dsh-task-chime
安装后需要重启 DSH(关闭并重新打开 DSH Desktop,或重启 dsh web 进程)。该插件作为配置包(bundle)安装,声明了 dsh.bundle.patch,无需手动编辑合成文件即可自动应用。
配置与模式¶
插件支持两种运行模式,选择取决于你对持久性的需求:
- 模式 A(配置包,永久):通过上述命令安装。该模式配置持久化,重启 DSH 后依然有效,并适用于所有会话/项目。配置项写入
settings.yaml的task-chime命名空间,或通过界面卡片修改。 - 模式 B(动态插件,临时):直接运行源码,不进行安装。该模式每次重启都会丢失配置,仅对当前会话生效。它需要审批才能运行,并提供更丰富的控制面板。
典型用法¶
在 settings.yaml 中配置 task-chime:
task-chime:
enabled: true
sound: notify
level: 2
autoEscalate: true
scope: roots
registerTool: true
notifyOnInput: true
智能体可以通过调用 task_chime 工具来主动触发提示音。例如,你只需说“ring me”,智能体会立即执行该工具,在主机上播放声音。
注意事项¶
- 声音来源:声音由主机进程发出,因此在 DSH 窗口最小化、后台运行或切换到其他虚拟桌面时依然可听。
- 模式差异:务必区分模式 A 和模式 B。如果需要长期使用且配置跨会话保存,请使用模式 A。
- 源码检查:安装前建议检查源码与许可证(MIT)。
总结¶
这个插件通过操作系统层面的声音反馈,解决了 DSH 开发者在后台运行智能体时难以感知状态变更的问题。配合强度分级、自动升级和按需触发工具,可以灵活地管理听觉反馈。
更多详情请访问:ruazero/dsh-task-chime