dsh-helper:DSH 任务通知与 Windows 原生提示音插件

前言

DeepSeek Harness (DSH) 的插件生态支持通过插件扩展代理行为。在运行长会话时,开发者往往需要离开电脑,此时需要一个机制来感知会话状态的变化。dsh-helper 插件通过调用 Windows 原生通知能力,在会话结束、报错或需要人工确认时提醒开发者。

核心功能

该插件主要解决会话状态反馈的缺失问题:

  1. 任务状态通知:监听 DSH 事件,在代理会话空闲(任务完成)、报错、需要多选确认或工具权限审批时,弹出原生 Windows Toast 提示。
  2. 完成提示音:会话结束时播放提示音,内置合成提示音,音量支持 0-100 调节,也可指定本地音频文件。
  3. 设置与测试:在 DSH 设置面板提供开关配置和测试按钮,可实时预览三种通知类型。
  4. 零依赖与热重载:通过 cordis.patch.yml 管理配置,无需重启 DSH 即可生效,不依赖本地编译环境。

安装与启用

在使用前,请确保已安装并初始化 DSH 的 Web 配置文件(即运行过 dsh web),且 DSH 版本不低于 0.1.2-rc.1。

执行以下命令进行安装:

dsh plugin --profile web add dsh-helper@latest

安装完成后,插件会自动创建 Delivery Identity(AppUserModelID 快捷方式),以确保通知在应用未聚焦时也能正常送达。

配置与使用

  1. 打开 DSH 设置界面,找到 Task Notifications (dsh-helper) 选项。
  2. 根据需求开启或关闭以下开关:
    • notifyOnComplete:会话完成时通知。
    • notifyOnError:会话报错时通知。
    • notifyOnConfirm:代理需要多选确认时通知。
    • notifyOnPermission:工具触发权限审批时通知。
  3. 调整提示音设置,包括音量(0-100)或指定本地音频文件路径(支持 wav/mp3/wma)。
  4. 点击设置面板中的测试按钮,预览不同类型的通知效果。

技术原理与限制

  • 平台限制:通知机制基于 PowerShell WinRT Toast,仅支持 Windows 平台。在 macOS 或 Linux 上,插件会加载但不执行任何操作(静默空操作)。
  • 声音播放:声音播放依赖 WPF MediaPlayer,若不可用则回退至 System.Media.SoundPlayer(仅支持 wav 格式且忽略音量设置)。
  • 系统干扰:如果 Windows 的“专注助手”或“勿扰模式”处于开启状态,通知可能会被系统拦截。
  • 安全性:设置面板的访问路由 /_dsh/dsh-helper/settings 仅绑定本地地址,防止跨域访问。

结语

dsh-helper 为 DSH 用户提供了一种轻量级的会话状态感知方案,适合需要长时间运行任务并希望即时获知结果的开发者。

GitHub 仓库 | 插件目录

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

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

小夜