前言¶
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 等你选择 |
任务操作待确认 |
| 模型申请沙箱 / 权限升级等你授权 | 任务操作待确认 |
其它已文档化的行为:
- 点横幅拉起窗口:默认开启(
focusOnClick: true);最小化时也会尝试恢复前台。 - 署名与图标:可注册为「DeepSeek Harness」+ Harness 图标,而不是「Windows PowerShell」(
registerAppId,默认true)。 - 一轮只弹一条:若本轮回已因提问或权限申请弹过「待确认」,轮末默认不再重复弹「完成」(
suppressTurnEndAfterAsk: true)。 - 子会话不打扰:subagent 产生的轮次不通知,只通知你本人所在会话。
- 不干预 Harness:全程只监听,不修改任何决定。
安装与启用¶
任选一种方式安装后,须完全退出并重启 DSH(插件模块仅在启动时载入一次)。
从社区市场 / npm(推荐,待包发布)¶
README 给出的命令为:
dsh plugin --profile web add dsh-taskcompletednotification-plugin
文档同时说明:该命令要求包已发布到 npm;撰写时插件尚未发布,需先用发行包或本地 bundle 安装;发布后上述命令可直接使用。
从 GitHub Releases 安装¶
- 在 Releases 下载
dsh-taskcompletednotification-plugin-<version>.zip并解压(示例路径:D:\plugins\dsh-taskcompletednotification-plugin-0.1.0)。 - 让 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 进程权限运行。
典型用法¶
- 安装并重启 DSH 后,正常在 Harness 里工作,无需额外操作。
- 任务结束或需要你在 UI 里确认时,Windows 右下角会出现横幅,并进入通知中心。
- 点击横幅或通知中心中的条目,DSH 窗口回到前台,继续操作即可。
- 若不想被打扰:在 设置 → 系统 → 通知 中关闭「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。
链接¶
- 社区目录:https://www.skillhub.cn/plugins/S1m0n1314/dsh-TaskCompletedNotification-plugin
- 源码与完整说明:https://github.com/S1m0n1314/dsh-TaskCompletedNotification-plugin
经过上面的步骤,在 Windows 上装好并重启 DSH 后,长任务与待确认操作会以横幅形式提醒你,需要时再点一下回到 Harness 继续即可。