dsh-taskcompletednotification-plugin:DSH 长任务跑完时用 Windows 横幅叫你回来

前言

DeepSeek Harness(DSH)里跑 codegen、批处理或长对话时,窗口经常在后台。任务结束或模型在等你点「批准 / 选一项」时,如果仍靠手动 Alt+Tab 切回去,既打断手头事,也容易漏掉一轮。

下面介绍社区插件 dsh-taskcompletednotification-plugin(维护者 S1m0n1314):在 Windows 上监听 Harness 会话事件,在任务完成、模型提问、模型申请权限三类场景弹出系统横幅;点通知可把 DSH 窗口拉到前台。插件只旁听事件,不改审批或提问的执行路径。

这是什么

  • npm 包名:dsh-taskcompletednotification-plugin(全小写;GitHub 仓库名为 dsh-TaskCompletedNotification-plugin,安装与引用以 npm 包名为准。)
  • 显示名(package.json):Windows 通知提醒。
  • 平台:Windows(README 标明;非 Windows 环境不适用。)
  • 许可证:MIT(© 2026 S1m0n1314)。
  • 当前版本(package.json):0.2.0;Node 引擎要求 >=22.19.0。

社区目录 SkillHub 条目 将其归类为「趣味换装」;插件在 DSH 侧元数据里标记为 extension。DSH 生态是「一切皆插件」,SkillHub 为独立社区站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

插件在三种场景弹出 Windows toast,标题均为 DeepSeek Harness(可通过配置改 title):

场景 通知正文(默认)
一轮任务跑完(turn/end,且 reason.kind === 'completed') 任务完成
模型调用 ask_user_question 等你选择 任务操作待确认
模型申请沙箱 / 权限升级等你授权 任务操作待确认

其它已文档化的行为:

  1. 点横幅拉起窗口:默认开启(focusOnClick: true);最小化时也会尝试恢复前台。
  2. 署名与图标:可注册为「DeepSeek Harness」+ Harness 图标,而不是「Windows PowerShell」(registerAppId,默认 true)。
  3. 一轮只弹一条:若本轮回已因提问或权限申请弹过「待确认」,轮末默认不再重复弹「完成」(suppressTurnEndAfterAsk: true)。
  4. 子会话不打扰:subagent 产生的轮次不通知,只通知你本人所在会话。
  5. 不干预 Harness:全程只监听,不修改任何决定。

安装与启用

任选一种方式安装后,须完全退出并重启 DSH(插件模块仅在启动时载入一次)。

从社区市场 / npm(推荐,待包发布)

README 给出的命令为:

dsh plugin --profile web add dsh-taskcompletednotification-plugin

文档同时说明:该命令要求包已发布到 npm;撰写时插件尚未发布,需先用发行包或本地 bundle 安装;发布后上述命令可直接使用。

从 GitHub Releases 安装

  1. 在 Releases 下载 dsh-taskcompletednotification-plugin-<version>.zip 并解压(示例路径:D:\plugins\dsh-taskcompletednotification-plugin-0.1.0)。
  2. 让 DSH 安装该目录:
plugin_manager action=install_bundle target="D:\plugins\dsh-taskcompletednotification-plugin-0.1.0"

将 target 换成你本机解压后的实际路径。

手工写入 profile

把插件目录加入 profile 的 package.json 依赖,并在 profile 的 cordis.patch.yml 中插入:

- insert:
    - id: dsh-taskcompletednotification-plugin
      name: 'dsh-taskcompletednotification-plugin'

安装前建议阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行。

典型用法

  1. 安装并重启 DSH 后,正常在 Harness 里工作,无需额外操作。
  2. 任务结束或需要你在 UI 里确认时,Windows 右下角会出现横幅,并进入通知中心。
  3. 点击横幅或通知中心中的条目,DSH 窗口回到前台,继续操作即可。
  4. 若不想被打扰:在 设置 → 系统 → 通知 中关闭「DeepSeek Harness」,或将插件配置里 enabled 设为 false。

配置

在 profile 的 cordis.patch.yml 里找到 dsh-taskcompletednotification-plugin 对应项,修改其 config;改完后完全重启 DSH。未填字段使用默认值。

字段 默认 含义
enabled true 总开关
notifyOnTurnEnd true 任务完成通知
notifyOnQuestion true 模型提问通知
notifyOnApproval true 模型申请权限通知
minTurnMs 0 短于该毫秒数的轮次不弹完成通知
quietWhenActiveMs 0 设为如 15000 表示近期有键鼠活动则不弹完成通知
suppressTurnEndAfterAsk true 本轮回过问过/申请过权限则轮末不再弹「完成」
title DeepSeek Harness 通知标题与注册显示名
focusOnClick true 点击横幅是否激活 DSH 窗口
registerAppId true 是否注册通知署名与图标

示例:关闭点击激活,且仅在离开电脑时提醒完成:

- id: dsh-taskcompletednotification-plugin
  name: 'dsh-taskcompletednotification-plugin'
  config:
    focusOnClick: false
    quietWhenActiveMs: 15000

在 Windows 上可用仓库自带脚本自测通知链路:

node tools/send-test-toast.mjs "正文"

适用场景与注意

适合谁:在 Windows 上用 DSH 跑长任务、又希望「该回来看一眼」时由系统主动提醒的开发者;与 README 中「用 WorkBuddy 有感,照做了个横幅通知」的定位一致。

权限与副作用(不需要管理员;仅当前用户可写资源):

  • 用户目录:%USERPROFILE%\.dsh\dsh-taskcompletednotification-plugin\(日志、通知暂存、点击处理脚本等)。
  • 用户级注册表(HKCU):通知 AppUserModelId 与 dsh-taskcompletednotification-plugin:// 协议(用于点击拉起窗口;卸载时会删除协议相关项)。
  • 每次通知可能短时启动 powershell.exe(文档称约 1 秒,最多 3 个并发);插件本身不联网。

若不接受注册表或点击行为,可设 registerAppId: false、focusOnClick: false 或 enabled: false。

链接

经过上面的步骤,在 Windows 上装好并重启 DSH 后,长任务与待确认操作会以横幅形式提醒你,需要时再点一下回到 Harness 继续即可。

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

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

Xiaoye