dsh-desktop-notifications: 为 DeepSeek Harness 提供 Windows 原生通知

前言

DeepSeek Harness (DSH) 采用「一切皆插件」的设计理念,允许用户在后台运行会话。当会话需要人工介入(如批准、回答问题)或发生错误时,如果终端窗口未置顶,这些关键信息很容易被忽略。

dsh-desktop-notifications 插件旨在解决这个问题。它在 Windows 平台上为 DSH 提供原生 Toast 通知,确保你不会错过任何重要事件。

插件定位

这是一个 Windows 桌面通知插件,用于处理 DeepSeek Harness (dsh) 的各类后台事件。插件由开发者 FANLS05 维护,采用 MIT 许可证。

它解决了在后台运行 DSH 时,无法及时感知「审批请求」、「用户提问」、「运行完成」或「错误提示」的问题。

核心功能

该插件提供以下核心能力:

  1. 事件覆盖
    支持五种核心场景的原生通知:审批请求、用户提问、运行完成、执行错误、以及登录过期提示。
  2. 对话名称优先
    通知的第一行固定为会话标题(从会话日志中折叠获取)。当多个会话同时运行时,你可以通过标题快速区分来源。
  3. 即时响应
    对于「审批」和「提问」类事件,通知会在请求到达的瞬间触发。如果需要,可以通过配置增加延迟。
  4. Markdown 免疫
    通知文本会自动移除 Markdown 的强调标记(如 **)、代码 spans 和链接语法,仅保留纯文本内容,确保显示整洁。
  5. 审计日志
    每一条发出的通知都会被记录到 ~/.dsh/dsh-desktop-notifications.log 文件中,方便排查为什么某个通知没有弹出。
  6. 无硬依赖
    插件不依赖复杂的构建工具或原生模块,仅使用纯 ESM 模块和一段 PowerShell 脚本即可运行。

安装与启用

确保你的 DSH 已启用桌面配置文件,并且环境包含 Node 20+。

安装命令如下:

dsh plugin --profile desktop add github:FANLS05/dsh-desktop-notifications

安装后,在 DSH 的插件管理器中,找到 dsh-desktop-notifications 行目,确保其处于启用状态。

配置方法

插件支持通过配置文件或 GUI 进行配置。

1. 通过配置文件

编辑你的桌面配置文件(通常是 ~/.dsh/profiles/desktop/cordis.patch.yml),在 desktop-notifications 行目下添加 config 块:

- id: desktop-notifications
  config:
    notifySubagent: true     # 子代理结束时通知
    notifyWorkflow: true     # 工作流结束时通知
    sound: false             # 关闭通知音效
    stripMarkdown: false     # 保留 Markdown 原样(默认会自动清理)
    approvalDelayMs: 1500    # 审批延迟 1500ms
    questionDelayMs: 1500    # 提问延迟 1500ms
    notifyOnMount: true      # 启动时发送一次检查通知

2. 通过 GUI

打开 Settings → Plugins,展开 dsh-desktop-notifications 包,点击 desktop-notifications 行目的配置按钮,即可在表单中修改上述选项。

注意事项

  1. Windows 限制:该插件仅支持 Windows 平台。
  2. 进程依赖:DSH 的桌面进程是 Electron 工具进程,没有内置的 Notification API。插件必须通过启动一个 PowerShell 子进程来发布通知。
  3. 语言限制:目前通知的第二行文本为中文(匹配作者 UI 语言)。
  4. 环境要求:需要 DSH 已配置桌面配置文件,且环境包含 Node 20+。

总结

dsh-desktop-notifications 是在 Windows 上使用 DSH 进行后台开发时的实用工具。它利用真实的 Windows Toast 机制,将对话名称、事件类型和错误信息清晰地呈现在桌面右下角。

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

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

小夜