dsh-desktop-notify:DSH 桌面端 Windows 任务与待答提醒

前言

用 DSH(DeepSeek Harness)跑长任务时,窗口切到别的应用或收进托盘,一轮结束或模型在等你确认工具调用,往往要靠自己轮询界面才知道。浏览器或别的客户端若有系统通知,桌面端缺少同类能力时,就容易漏看。下面介绍社区插件 dsh-desktop-notify(npm 包名 dsh-notify-focus):在 Windows 10/11 上对接 DSH 桌面端,任务完成或需要你回答时弹出系统通知,点通知回到对应会话。

这是什么

dsh-desktop-notify 是 DSH 的客户端类插件,维护者为 MikatoMisaka。它监听 DSH 桌面端的会话状态,在合适时机发 Windows Toast(可在操作中心留存),并通过 dsh-notify: 协议或窗口置顶逻辑把 DSH 拉回前台并切换到相关会话。

生态上,DSH 采用「一切皆插件」;插件目录在 SkillHub 等社区站点展示,与 DeepSeek / 幻方无官方从属关系。

核心功能

资料中已说明的能力如下。

任务完成提醒:一轮任务结束时弹出 Windows 通知。

等待你回答时提醒:提问、计划审阅、工具调用确认等场景各有文案;工具确认通知会带上工具名。

点通知直达会话:点击通知会将 DSH 置于前台,并切换到该条通知对应的会话。

收进托盘也能找回:关闭窗口后 DSH 可隐藏在托盘;插件按 PID 枚举隐藏窗口,仍可恢复并置顶。

减少误打扰:正在查看该会话时不提醒;子智能体不单独提醒;同一键 1.5 秒内去重,10 秒内最多 6 条。

可配置触发时机:设置页三档选项,或通过 profile 中的 trigger 等字段设定默认值。

安装与启用

需要 Windows 10/11 与 DSH 桌面端。下文 <profile> 指 profile 目录(以 $env:DSH_HOME 与 $env:DSH_PROFILE 为准,不一定在默认路径);<包名> 指实际安装目录名(npm 安装时为 dsh-notify-focus)。

插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。

从 npm 安装

1、把包加入 profile 依赖(或通过 DSH 插件管理器安装):

npm --prefix <profile> install dsh-notify-focus

2、在 <profile>\cordis.patch.yml 末尾追加(修改前建议备份):

- insert:
    - id: desktop-notify
      name: dsh-notify-focus

3、在包目录内做本地初始化(编译置顶程序并登记协议):

cd <profile>\node_modules\dsh-notify-focus
npm run setup

4、完全退出 DSH 桌面端(托盘右键退出,而非仅关窗口),再重新打开。

从源码链入 profile

若你已在固定目录维护源码,可按 README 编译后通过目录联接链入 profile;步骤与 npm 路径在 cordis.patch.yml 中的 name 字段不同(源码侧为 dsh-desktop-notify)。完整命令见 GitHub README。

卸载:删除 cordis.patch.yml 中对应 insert → 在包目录执行 npm run protocol:uninstall → cmd /c rmdir <profile>\node_modules\<包名> → 重启 DSH。

配置

设置界面

路径:设置 → 通用 → 任务完成提醒。三档按钮写入本机 localStorage,优先于 profile 默认值。

档位 含义
不在前台就提醒(默认) 切走、最小化、收进托盘、锁屏均提醒;在前台但停在别的会话上也提醒
仅最小化时 仅最小化或收进托盘时提醒
总是提醒 包括正在查看该会话时

profile 中的 config

在 cordis.patch.yml 的 insert 条目下可写 config:

键 默认值 含义
aumid com.deepseek.dsh 通知署名的 AppUserModelID;启动时会用 Get-StartApps 核对登记状态
fallbackAumid PowerShell 自身 ID 主署名的备用身份;显式空串表示关闭兜底
sound true 是否播放提示音
trigger unfocused unfocused / minimized / always;用户未在设置里选择时生效
protocol true 是否登记 dsh-notify: 协议(点通知快路径)
debug true 是否写入日志 %LOCALAPPDATA%\dsh-desktop-notify\host.log

aumid 配置错误不会抛错,可能导致 Toast 被静默丢弃;启动日志出现 aumid-unregistered 表示 ID 未登记,可运行包内 scripts\read-aumid.ps1 获取本机可用值。

典型用法

安装并完成 npm run setup、重启 DSH 后,无需额外 API 调用:后台跑 agent 任务,在 unfocused(或你所选档位)下,任务结束或出现待确认工具调用时会收到系统通知。点击通知应回到 DSH 并定位到该会话。

需要验证安装时,包内提供:

npm test

更贴近真实环境的自检:

npm run test:live

(在插件包目录下执行,见 package.json 的 scripts。)

适用场景与注意

适合:主要在 Windows 上使用 DSH 桌面端、长时间挂机或多会话并行、希望用系统通知代替反复看窗口的开发者。

注意:

  • 仅支持 Windows 桌面端,与 Web 端注入无关(dsh.client.platform 为 web,能力绑定 Windows Toast 与本地协议)。
  • 通知依赖正确的 AppUserModelID;排查时查看 host.log 与 read-aumid.ps1。
  • 插件与 DSH 同进程权限,安装前请审阅源码。

结尾

dsh-desktop-notify 把「任务结束」和「等你回答」两类事件接到 Windows 通知中心,并尽量保证从托盘或后台一键回到正确会话。目录与源码:

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

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

小夜