前言¶
DeepSeek Harness (DSH) 采用插件化架构,扩展能力主要依赖于宿主端的模块系统。在开发或调试智能体(Agent)时,当 Agent 需要用户授权、选择分支方案,或完成一轮任务时,开发者通常需要手动刷新或切换浏览器标签页。dsh-windows-notify 是一个为 DSH 提供原生 Windows 桌面通知能力的插件,由 Exynos671 维护。它通过 Windows Toast 机制,将 Agent 的关键状态变化实时推送到桌面,点击通知即可将 DSH 浏览器窗口切至前台。
核心功能¶
该插件主要提供以下能力:
- Windows Toast 通知:在三种特定时机触发系统通知。
- 授权请求:Agent 需要你批准工具调用时,显示工具名和理由。
- 方案选择:Agent 需要你选择分支或回答问题时,显示标题、问题和最多 6 个选项。
- 任务完成:当一轮任务结束且 Agent 状态变为 idle 时,显示“任务完成”。
- 设置面板:在 DSH 的设置 -> 通用中增加“Windows 通知”开关组,可独立控制上述三种通知及“待办状态策略”。
- 点击聚焦:点击任意通知,会将已打开的 DSH 浏览器窗口置于最前;若未打开窗口,则新建标签页。
- 待办状态策略:常驻系统提示规则,强制待办状态逐条回写,禁止批量补写。
安装与配置¶
安装¶
推荐使用 Bundle 安装方式。在终端中执行以下命令,将插件挂载到 web profile:
dsh plugin --profile web add github:Exynos671/dsh-windows-notify
手动安装(不推荐)¶
若需手动安装,需完成以下步骤:
- 克隆插件到插件目录:
git clone https://github.com/Exynos671/dsh-windows-notify.git "$env:USERPROFILE\.dsh\profiles\plugins\dsh-windows-notify"
- 在
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"
- 挂载插件。将以下内容追加到
~\.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 仅静音通知,插件仍会加载常驻规则。要彻底卸载,请删除或禁用挂载行。
典型用法¶
- 当 Agent 执行工具需要权限时,Windows 桌面会弹出 Toast 提示
DSH 需要你的授权。 - 你可以点击通知,DSH 浏览器窗口会自动聚焦到前台,网页端会渲染授权卡片。
- 在网页端操作完成后,Agent 状态恢复 idle,再次弹出“任务完成”通知。
环境与注意事项¶
- 平台限制:仅支持 Windows 10/11。
- 依赖环境:宿主端需要运行 Windows PowerShell 5.1。
- Profile 要求:必须挂载了 Web 应用(
web)的 dsh profile。 - 功能边界:插件只负责通知,不回答问题,授权卡片和选项列表仍由网页端渲染。
- 许可证:MIT License。
- 安装冲突:不要同时使用“手动挂载”和“Bundle 安装”两种方式,这会导致模块系统报错。
结尾¶
dsh-windows-notify 通过原生 Toast 机制,解决了 DSH 在 Windows 环境下状态反馈不直观的问题。对于需要频繁与 Agent 交互的开发者,它能显著减少查看窗口的频率。