前言¶
DeepSeek Harness (DSH) 采用「一切皆插件」的设计理念,允许用户在后台运行会话。当会话需要人工介入(如批准、回答问题)或发生错误时,如果终端窗口未置顶,这些关键信息很容易被忽略。
dsh-desktop-notifications 插件旨在解决这个问题。它在 Windows 平台上为 DSH 提供原生 Toast 通知,确保你不会错过任何重要事件。
插件定位¶
这是一个 Windows 桌面通知插件,用于处理 DeepSeek Harness (dsh) 的各类后台事件。插件由开发者 FANLS05 维护,采用 MIT 许可证。
它解决了在后台运行 DSH 时,无法及时感知「审批请求」、「用户提问」、「运行完成」或「错误提示」的问题。
核心功能¶
该插件提供以下核心能力:
- 事件覆盖
支持五种核心场景的原生通知:审批请求、用户提问、运行完成、执行错误、以及登录过期提示。 - 对话名称优先
通知的第一行固定为会话标题(从会话日志中折叠获取)。当多个会话同时运行时,你可以通过标题快速区分来源。 - 即时响应
对于「审批」和「提问」类事件,通知会在请求到达的瞬间触发。如果需要,可以通过配置增加延迟。 - Markdown 免疫
通知文本会自动移除 Markdown 的强调标记(如**)、代码 spans 和链接语法,仅保留纯文本内容,确保显示整洁。 - 审计日志
每一条发出的通知都会被记录到~/.dsh/dsh-desktop-notifications.log文件中,方便排查为什么某个通知没有弹出。 - 无硬依赖
插件不依赖复杂的构建工具或原生模块,仅使用纯 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 行目的配置按钮,即可在表单中修改上述选项。
注意事项¶
- Windows 限制:该插件仅支持 Windows 平台。
- 进程依赖:DSH 的桌面进程是 Electron 工具进程,没有内置的
NotificationAPI。插件必须通过启动一个 PowerShell 子进程来发布通知。 - 语言限制:目前通知的第二行文本为中文(匹配作者 UI 语言)。
- 环境要求:需要 DSH 已配置桌面配置文件,且环境包含 Node 20+。
总结¶
dsh-desktop-notifications 是在 Windows 上使用 DSH 进行后台开发时的实用工具。它利用真实的 Windows Toast 机制,将对话名称、事件类型和错误信息清晰地呈现在桌面右下角。