DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-notify-windows

Notify Windows

DeepSeek Harness (DSH) 插件:任务完成 / 等待审批 / 等待回答时发送 Windows 系统桌面通知

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-notify-windows@0.8.1
README兼容性版本

兼容性与来源证明

Notify Windows 以 dsh-notify-windows 发布,当前版本为 0.8.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.8.1stable
2026/10/17
0.8.0stable
2026/10/14
0.7.8stable
2026/9/29
查看其余 12 个版本收起版本
0.8.0-beta.0beta
2026/10/14
0.7.7stable
2026/9/25
0.7.7-beta.0beta
2026/9/24
0.7.6stable
2026/9/21
0.7.5stable
2026/9/20
0.7.4stable
2026/9/4
0.7.4-beta.0beta
2026/9/2
0.7.3stable
2026/8/28
0.7.2stable
2026/8/28
0.7.1stable
2026/8/27
0.7.0stable
2026/8/20
0.6.0stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.8.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
83 kB
文件数
9
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 12
周下载
370
安全扫描
✓ v0.8.1 扫描通过
最近提交
2026/10/17
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

🔔 dsh-notify-windows

DeepSeek Harness(DSH)插件:当 Agent 需要你关注时,向 Windows 发送系统桌面通知

任务完成 ✅ | 等待审批 🔐 | 等待回答 ❓ —— 离开屏幕也不错过任何需要你处理的事。


✨ 功能特性 / Features

  • 任务完成提醒:监听会话 turn/end 事件,任务完成 / 出错 / 输出超限时立即弹窗,标题自动使用会话标题,正文显示原因与轮次;
  • 权限审批提醒:监听 approval/asked 事件,有操作等待你的审批时立即提醒;会话审批策略为 never 时自动跳过(此时没有东西在等你);
  • 提问确认提醒:Agent 调用 ask_user_question 向你提问时提醒;本部署下所有工具都经 run_code 调用,插件会扫描 run_code 程序源码中的 tools.ask_user_question( 调用并提取问题文本;
  • 防打扰:默认忽略子代理(subagent)会话,只提醒主会话;
  • 零依赖:通知通过 Windows PowerShell 5.1 的 WinRT Toast API 发送,自动注册 HKCU 的 AppUserModelId(无需管理员权限);
  • 可诊断:可选日志(%TEMP%\dsh-notify\notify.log)与 debug 事件日志。

📦 安装 / Install

项目通过 dsh.bundle 机制安装:npm 包自带的 cordis.patch.yml 会在 dsh plugin add 后自动挂载 dsh-notify 入口,不需要再手动 - insert:。

dsh plugin --profile web add dsh-notify-windows

重启 DSH 并刷新浏览器后生效:

dsh --profile web

注意:不要再用 - insert: 手动添加 dsh-notify,否则启动会报 duplicate loader entry id: dsh-notify。想调整配置,在 profile 的 cordis.patch.yml 里按 id 覆盖即可(见下节)。

更新 / 卸载

dsh plugin --profile web update dsh-notify-windows
dsh plugin --profile web remove dsh-notify-windows

更新后需重启 DSH 宿主(新增 bundle 层需要重新启动)。

⚙️ 配置 / Configuration

插件行 config 全字段可选,未填按默认值。需要调整时,在 $DSH_HOME/profiles/web/cordis.patch.yml 里按 id 覆盖主条目即可 (该文件被运行中的 DSH 热监视,改动立即生效,无需重启):

- id: dsh-notify
  name: dsh-notify-windows
  config:
    enabled: true
    reasons: [completed, error, max-tokens]
    notifyOnStart: true
    notifyOnApproval: true
    log: true
配置默认值说明
enabledtrue总开关
reasons[completed, error, max-tokens]需要提醒的回合结束原因(可选 aborted / interrupted / blocked)
localezhtoast 文案的内置语言包:zh / en / ru
messages{}按 key 覆盖文案,优先级高于 locale(见「多语言」)
includeSubagentsfalse是否也提醒子代理会话
notifyOnStartfalse插件加载时发一条「已激活」通知
notifyOnApprovaltrue审批请求提醒(策略 never 时自动跳过)
notifyOnAskUsertrueAgent 提问等待回答时提醒
notifyOnGoalRoundsfalse/goal 自动推进回合不提醒(目标完成/阻塞的最终回合除外)
excerpttrue通知正文附带 Agent 最后回复的摘要
excerptMaxChars80摘要最大字符数
appNameDeepSeek Harness通知来源显示名与兜底标题
aumidDeepSeekHarness.Notify通知 AppUserModelId
logtrue写日志到 %TEMP%\dsh-notify\notify.log
debugfalse把所有会话事件写入日志(排查用,量大)
openOnClicktrue任务完成 / 审批 / 提问 toast 是否可点击(false 回退为旧的无点击 toast)
preferExistingtruetrue 走 launcher 优先聚焦已开 DSH 窗口;false 直接用默认浏览器打开 URL
webUrl

🌐 多语言 / Localization

toast 文案取自内置语言包,由 locale 选择。默认 zh,因此已有安装升级后文案完全不变; en 与 ru 为完整语言包。任何一条文案都可以用 messages 按 key 覆盖,覆盖优先于语言包:

- id: dsh-notify
  name: dsh-notify-windows
  config:
    locale: ru
    messages:
      approvalTitle: ' · Требуется одобрение'
      turnSuffix: ' — попытка {turn}'
key用途
completed / error / max-tokens / aborted / interrupted / blocked回合结束原因行(按 reason.kind 查表)
turnEnded原因在语言包中没有对应条目时的兜底文案
turnSuffix追加在原因行后的轮次后缀 —— {turn}
approvalTitle审批通知的标题后缀
approvalToolWithReason / approvalTool / approvalGeneric审批正文 —— {tool} / {reason}
askTitle提问通知的标题后缀
askFallback提取不到问题文本时的提问正文
activatednotifyOnStart 的「已激活」通知 —— {version}
warnSpawnFailed / warnToastFailed / warnExitCode / warnChannelUnavailableDSH 日志文案 —— {code};dsh-notify: 前缀不翻译,保证跨语言可 grep

说明:{占位符} 由事件数据代入;未知占位符原样保留(不会被清空),非字符串的覆盖值会被忽略, 因此写错不会产生空正文或 [object Object];未知 locale 回退默认语言包。

审批 / 提问路径的日志行新增 title 与 body 字段(与 notify 行一致), %TEMP%\dsh-notify\notify.log 因此能直接看到实际发出的文案。

🔔 触发场景 / Triggers

场景会话事件通知示例
任务完成turn/end「任务已完成(第 N 轮)」
任务出错 / 超限turn/end「任务出错」/「输出达到 token 上限」
等待审批approval/asked「DeepSeek Harness · 需要审批 / 工具 pwsh:…」
等待回答tool/call(含 run_code 检测)「DeepSeek Harness · 需要回答 / 是否继续?」

🔗 点击通知跳转 / Click to Open

任务完成 / 等待审批 / 等待回答的 toast 可点击 → 打开 DSH Web GUI。优先聚焦已打开的 DSH 浏览器标签或 Chrome Application 窗口;没有已开窗口时在默认浏览器新开标签并打开 GUI。 目标 URL 带 ?session=<id> 参数(rc.8 前端暂不消费,为未来深链预留)。

配置:

  • openOnClick(默认 true,false 则关闭可点击,回退为旧的无点击 toast);
  • preferExisting(默认 true,true 走 launcher 优先复用已开窗口;false 直接用默认浏览器打开 URL);
  • webUrl(可选,覆盖自动发现的基地址,如 http://192.168.1.5:4000,留空自动发现 / 默认 http://127.0.0.1:3080)。

注意事项: 首次点击会自动注册 dshnotify:// 协议处理器(HKCU,无需管理员);故障会静默降级为「默认浏览器打开」。

说明:DSH 0.1.0-rc.8 前端暂不支持按 URL 直达单个会话;点击后打开的是 DSH 界面(首页/会话列表)并聚焦已有窗口,目标会话需在列表中选择。未来 DSH 前端支持深链后 ?session=<id> 将直接定位。

🧩 兼容性 / Compatibility

DSH 0.2.1 起兼容门禁优先读取 engines.dsh。本插件声明 engines.dsh: ">=0.1.5-rc.1"(无上限;旧版 DSH 在未声明该字段时沿用 peer 规则),并已核对:

DSH 版本状态
0.1.5-rc.1✅ 实测通过
0.1.5-rc.2✅ 实测通过
0.1.6-alpha.2✅ 实测通过
0.1.7-rc.1✅ 实测通过
0.1.7-rc.2✅ 实测通过
0.2.0-rc.1✅ 实测通过
0.2.1-rc.1✅ 兼容门禁 + 单测通过
0.2.1-rc.2✅ 兼容门禁通过

只列出实际跑过的版本;未实测的不列。

v0.8.1 支持 DSH 0.1.2-alpha.4+,已在 0.1.5-rc.1 / 0.1.5-rc.2 / 0.1.6-alpha.2 / 0.1.7-rc.1 / 0.1.7-rc.2 / 0.2.0-rc.1 上核对 snapshotEvents() 契约;在 0.2.1-rc.1 上通过兼容门禁与 20 项单测,0.2.1-rc.2 门禁通过。历史读取同时兼容旧版 session.events(DSH ≤ 0.1.2-alpha.3)与新版 snapshotEvents()(DSH 0.1.2-alpha.4 起该属性已不存在),升级到 0.7.5 后摘要 / /goal 轮次 / 审批策略恢复正常。收到过「重启后所有通知静默」问题的请升级到 0.7.3+(见 FAQ)。

0.1.7-rc.1 说明:该版本起 snapshotEvents() 被标记为 @deprecated("新调用被禁止,现有未迁移逻辑可暂时保留")。本插件的历史读取属既有逻辑,按官方 Agent Note 的延期口径暂不迁移——DSH 仍在内存保留完整事件序列,通知摘要与 /goal 轮次检查照常工作;待 DSH 提供异步分页读取替代后再迁移。

🛠️ 开发 / Develop

node scripts\smoke-test.mjs

独立进程内用 cordis Context 模拟会话事件:应弹出任务完成 / 审批 / 提问三条测试通知,并断言日志记录与过滤行为(子代理、never 策略、无关调用均被过滤)。

❓ FAQ

  • 收不到通知? 检查 Windows「通知与操作」设置是否允许该应用显示通知,以及「专注助手」是否开启;首次发送会自动注册 AUMID。插件启动时会自检通知通道(powershell.exe 与 notify.ps1 是否可达),通道不可用会在 DSH 日志中立即告警;每次发送失败也会记录详细原因到 %TEMP%\dsh-notify\notify.log。
  • WSL 下收不到通知? 插件会自动用 wslpath -w 把脚本路径转成 \\wsl.localhost\... UNC 路径,并优先通过 /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe 调用 PowerShell(不依赖 PATH,systemd / cron 等最小环境也能工作)。若仍失败,查看 %TEMP%\dsh-notify\notify.log 中的 error 条目。
  • /goal 模式会提醒吗? 默认不会:自动推进的中间回合保持静默,只有目标完成(或阻塞)的最终回合才提醒;如需每个回合都提醒,把 notifyOnGoalRounds 设为 true。
  • 为什么审批提醒有时不弹? 会话审批策略为 never 时审批会被自动拒绝、不会等待,插件会跳过提醒;策略为 ask 时才提醒。
  • 重启 DSH 后所有通知都没了? 这是 0.7.2 及更早的已知缺陷:子代理判定当时写作 delegationDepth !== undefined,会把每次 dsh web 重启后带 delegationDepth: 0 的主会话误判为子代理并静默过滤。该缺陷已在 0.7.3 修复(判定改为 (delegationDepth ?? 0) > 0):请把插件升级到 0.7.3 及以上(推荐 0.7.5),执行 dsh plugin --profile web update dsh-notify-windows 后重启 DSH 宿主。
  • 通知摘要变空、/goal 中间回合开始提醒、never 策略仍提醒? 插件读取的 session.events 属性自 DSH 0.1.2-alpha.4 起就不存在(历史读取改为 snapshotEvents();0.1.2-alpha.3 及更早才有该属性),0.7.4 及更早读取该属性会拿到 undefined 后静默降级,出现上述三种症状。请升级到 0.7.5 及以上(历史读取已同时兼容两种 API;若升级后 %TEMP%\dsh-notify\notify.log 仍出现 history-unavailable 条目,请附日志反馈)。
  • 更新插件代码后如何生效? 执行 dsh plugin --profile web update dsh-notify-windows 后重启 DSH 宿主。

📄 许可证 / License

MIT © 2026 SeverusZh

''
覆盖自动发现的基地址(如 http://192.168.1.5:4000),留空自动发现(默认 http://127.0.0.1:3080)

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rRemote Bridge@linxin666/dsh-remote-bridgeDSH 远程桥接:主机端通过唯一且精确的 /ios/v1 WebSocket 路由提供协议 v1——会话列表、历史记录基线、提示、包含工具活动的实时回合增量、中断以及进程内代理审批——连接到通过一次性配对的设备Im@xmanrui/dsh-im将微信、飞书、企微、钉钉、QQ、Telegram、WhatsApp、Slack、Discord 和 Matrix 接入 DSH。