DeepSeek Harness (DSH) Plugin: Native Windows Notifications (`dsh-windows-notify`)

前言

DeepSeek Harness (DSH) 采用插件化架构,扩展能力主要依赖于宿主端的模块系统。在开发或调试智能体(Agent)时,当 Agent 需要用户授权、选择分支方案,或完成一轮任务时,开发者通常需要手动刷新或切换浏览器标签页。dsh-windows-notify 是一个为 DSH 提供原生 Windows 桌面通知能力的插件,由 Exynos671 维护。它通过 Windows Toast 机制,将 Agent 的关键状态变化实时推送到桌面,点击通知即可将 DSH 浏览器窗口切至前台。

核心功能

该插件主要提供以下能力:

  1. Windows Toast 通知:在三种特定时机触发系统通知。
    • 授权请求:Agent 需要你批准工具调用时,显示工具名和理由。
    • 方案选择:Agent 需要你选择分支或回答问题时,显示标题、问题和最多 6 个选项。
    • 任务完成:当一轮任务结束且 Agent 状态变为 idle 时,显示“任务完成”。
  2. 设置面板:在 DSH 的设置 -> 通用中增加“Windows 通知”开关组,可独立控制上述三种通知及“待办状态策略”。
  3. 点击聚焦:点击任意通知,会将已打开的 DSH 浏览器窗口置于最前;若未打开窗口,则新建标签页。
  4. 待办状态策略:常驻系统提示规则,强制待办状态逐条回写,禁止批量补写。

安装与配置

安装

推荐使用 Bundle 安装方式。在终端中执行以下命令,将插件挂载到 web profile:

dsh plugin --profile web add github:Exynos671/dsh-windows-notify

手动安装(不推荐)

若需手动安装,需完成以下步骤:

  1. 克隆插件到插件目录:
    git clone https://github.com/Exynos671/dsh-windows-notify.git "$env:USERPROFILE\.dsh\profiles\plugins\dsh-windows-notify"
  1. 在 profiles\node_modules 下创建联接,以便 DSH 的模块解析器能找到该包:
    New-Item -ItemType Junction `
      -Path   "$env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\dsh-windows-notify" `
      -Target "$env:USERPROFILE\.dsh\profiles\plugins\dsh-windows-notify"
  1. 挂载插件。将以下内容追加到 ~\.dsh\profiles\web\cordis.patch.yml(或全局的 ~\.dsh\cordis.patch.yml):
    - insert:
        - id: windows-notify
          name: '@deepseek-ai/dsh-windows-notify'

配置

插件配置位于 dsh-notify 命名空间,写入 ~\.dsh\settings.yaml。安装后,可在 DSH 设置 -> 通用 -> “Windows 通知” 中拨动开关,或手动编辑:

dsh-notify:
  enabled: true
  approval: true
  choice: true
  completion: true
  focusOnClick: true
  todoStatusPolicy: true

enabled: false 仅静音通知,插件仍会加载常驻规则。要彻底卸载,请删除或禁用挂载行。

典型用法

  1. 当 Agent 执行工具需要权限时,Windows 桌面会弹出 Toast 提示 DSH 需要你的授权。
  2. 你可以点击通知,DSH 浏览器窗口会自动聚焦到前台,网页端会渲染授权卡片。
  3. 在网页端操作完成后,Agent 状态恢复 idle,再次弹出“任务完成”通知。

环境与注意事项

  • 平台限制:仅支持 Windows 10/11。
  • 依赖环境:宿主端需要运行 Windows PowerShell 5.1。
  • Profile 要求:必须挂载了 Web 应用(web)的 dsh profile。
  • 功能边界:插件只负责通知,不回答问题,授权卡片和选项列表仍由网页端渲染。
  • 许可证:MIT License。
  • 安装冲突:不要同时使用“手动挂载”和“Bundle 安装”两种方式,这会导致模块系统报错。

结尾

dsh-windows-notify 通过原生 Toast 机制,解决了 DSH 在 Windows 环境下状态反馈不直观的问题。对于需要频繁与 Agent 交互的开发者,它能显著减少查看窗口的频率。

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

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

Xiaoye