在需要确认、已回答和任务结束时弹出系统通知
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 3493750852/dsh-windows-notify该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令
查看扫描证据(共 1 处,展示前 1 条)
- 执行外部命令来自配置/变量index.js:259
const child = spawn(cfg.powershellPath, [
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
Windows 桌面通知:需要你确认时、你作出回答后、任务结束时各弹一条系统通知(DSH 插件)
README
由 DeepSeek 最新模型翻译生成dsh-windows-notify
给 DSH 加一条 Windows 系统通知:需要你确认、你已经回答、任务结束的时候各弹一条,切到别的窗口也不会漏。
只装宿主端(Host-only),没有前端界面,不联网,不带依赖。仅支持 Windows。
安装
从 npm(推荐)
在 DSH 会话里让智能体用 plugin_manager 的 install_bundle 安装包名 dsh-windows-notify,它会从 npm 装进当前配置档并写好配置行:
npm install dsh-windows-notify # 也可以自己装进 profile 目录,再用 install_bundle 指向包名启用
从源码
1. 把仓库放到本机任意目录:
git clone https://github.com/3493750852/dsh-windows-notify.git
2. 让智能体用 install_bundle 安装这个目录的绝对路径。
3. 验证:随便发一条消息,本轮结束时应该收到「任务完成」通知;点它应该回到 DSH 窗口。
展开完整文档(README 剩余 1 节)
dsh-windows-notify
给 DSH 加一条 Windows 系统通知:需要你确认、你已经回答、任务结束的时候各弹一条,切到别的窗口也不会漏。
只装宿主端(Host-only),没有前端界面,不联网,不带依赖。仅支持 Windows。
安装
从 npm(推荐)
在 DSH 会话里让智能体用 plugin_manager 的 install_bundle 安装包名 dsh-windows-notify,它会从 npm 装进当前配置档并写好配置行:
npm install dsh-windows-notify # 也可以自己装进 profile 目录,再用 install_bundle 指向包名启用
从源码
1. 把仓库放到本机任意目录:
git clone https://github.com/3493750852/dsh-windows-notify.git
2. 让智能体用 install_bundle 安装这个目录的绝对路径。
3. 验证:随便发一条消息,本轮结束时应该收到「任务完成」通知;点它应该回到 DSH 窗口。
三个触发点分别是什么
| 你看到的通知 | 触发时机 | 事件来源 |
| 需要你确认 | 有工具在申请授权,真的开始等你点 | approval/request |
| 需要你回答 | 模型问了 ask_user_question,等你选 | user-questions/request |
| 你已回答 | 你点了允许/拒绝,或选完了选项 | 上面两个请求返回时 |
| 任务完成 / 任务出错 | 本轮结束,且这一轮超过 taskEndMinSeconds | session/event 的 turn/end + agent/error |
几条避免打扰的规则:
- 自动应答不提醒:请求在 interactionDelayMs(默认 1.2 秒)内就被宿主自动处理(比如策略是 never 直接拒绝),说明根本没人被问到,不弹通知。
- 秒回不提醒:一轮任务短于 taskEndMinSeconds(默认 8 秒)就不提示任务结束。
- 子智能体不提醒:子会话自己的回合不弹,避免一次任务刷出一串通知。
- 等待回答时不当作任务结束:有请求挂着的时候,即使这一轮结束了也不弹「任务完成」。
- 装插件时正在进行的那一轮:结束时照样提示,只是没有「用时」(插件没看到这一轮的开始)。
通知长什么样
Windows 10/11 上它是一条标准通知(托盘气泡,系统会渲染进通知中心),带 DSH 自己的图标、标题、正文和系统提示音:
- 需要你确认:需要你确认 / Bash:执行命令 npm install
- 需要你回答:需要你回答 / 你希望用哪种方案?
- 你已回答:你已回答 / Bash → 允许
- 任务完成:任务完成 / 帮我做一个 dsh 插件 · 用时 2 分 13 秒
- 任务出错:任务出错 / ... · <错误信息>
图标不是内置的通用图标,而是从正在运行的 DSH 应用上取的(DeepSeek Harness.exe 自己带的图标),所以跟任务栏里那个是同一个。
点一下通知
点通知会把 DSH 窗口叫到前台(最小化了也会还原)。
实现上不是硬抢焦点:桌面壳持有单实例锁,再启动一次应用就会走到它自己的「聚焦或重建主窗口」那条路,所以用的是应用认可的入口,不会被 Windows 的前台锁拦掉。
- 通知在屏幕上(以及进通知中心后的约 8 秒内)点它有效 —— 之后负责接点击的进程已经退出,点了不会有反应。
- 如果你用的是浏览器里的 Web GUI 而没有桌面应用,会退化成用浏览器打开那个 GUI 地址。
- 想换成「一律用浏览器打开」或「点了只关掉」,改 clickAction 为 url / none。
DSH 的 Web UI 没有「会话级 URL」(前端不读地址栏),所以点击只能把窗口叫到前台,不能直接跳到某个后台会话;通知正文里带了会话标题,方便你对上号。
开关
全部开关都在 cordis.patch.yml 里那一行的 config 下(也可以在 DSH 的配置文件里改同样的键),改完重启 DSH 生效:
| 键 | 默认 | 说明 |
| enabled | true | 总开关 |
| confirm | true | 需要你确认 / 回答时提示 |
| answered | true | 你回答之后提示 |
| taskEnd | true | 任务结束时提示 |
| taskError | true | 报错结束时也提示(文案变「任务出错」) |
| sound | true | 播放系统提示音 |
| language | zh | 通知文案语言,zh 或 en |
| showSessionTitle | true | 任务结束通知里带会话标题 |
| taskEndMinSeconds | 8 | 短于这个秒数的任务不提示结束 |
| interactionDelayMs | 1200 | 请求挂起超过这个毫秒数才算「真的在等你」 |
| hideWhenSubagent | true | 子智能体结束不提示 |
| powershellPath | powershell.exe | 想用 PowerShell 7 可以填 pwsh.exe |
| maxConcurrent | 3 | 同时最多几条通知进程 |
| coalesceMs | 700 | 同类通知的去重窗口 |
| clickAction | focus | 点通知时:focus 叫回 DSH 窗口 / url 用浏览器打开 / none 只关掉 |
| appProcessName | DeepSeek Harness | 桌面进程名,用来取它自己的图标、点击时叫回窗口 |
| dwellSeconds | 8 | 通知可点击(托盘图标存在)的秒数 |
| selfTest | false | 改成 true 重载插件,会立刻弹一条自检通知(验证安装用) |
| debug | false | 把每次通知的判定过程写进 %TEMP%\dsh-windows-notify.log |
收不到通知时
0. 先做自检:把 selfTest 改成 true 重载插件(或重启 DSH)。能弹出「通知自检:插件已加载」说明插件和系统通知都正常,问题在触发条件;弹不出来就再打开 debug,看 %TEMP%\dsh-windows-notify.log 里 shim exit ... after=...ms 这一行 —— 正常应该是几千毫秒,如果只有几十毫秒,说明 PowerShell 没能真正跑起来。
1. Windows 通知总开关:设置 → 系统 → 通知,确认「通知」是开的。
2. 专注助手 / 勿扰:开着的时候通知会进通知中心但不弹横幅,不会响。
3. 通知中心里有没有:按 Win + N 看历史。有记录但没弹出来,基本就是专注助手。
4. 手动测一次(在插件目录里,会立刻弹一条测试通知;点它应该把 DSH 叫到前台):
$json = '{"title":"测试通知","body":"点我应该会回到 DSH 窗口","kind":"done","sound":true,"onClick":"focus","appProcessName":"DeepSeek Harness","dwellMs":20000}'
$b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($json))
powershell -NoProfile -ExecutionPolicy Bypass -File .\notify.ps1 -PayloadBase64 $b64
退出码 0 表示通知已正常走完;2 是载荷解析失败;3 是系统拒绝创建通知。
实现说明
- 通知走一个独立的、隐藏窗口的 PowerShell 进程(notify.ps1):显示托盘气泡、跑一个短消息循环接点击,最多 dwellSeconds 秒后自行退出;宿主进程不阻塞、不等待。
- 文案以 base64 编码的 UTF-8 JSON 传给 PowerShell,不经过命令行转义,中文不会被代码页破坏。
- 图标和点击目标都在脚本里从运行中的应用解析(Get-Process 'DeepSeek Harness' → 它的路径与图标),不写死安装路径。
- 三个观察点都是普通 waterfall 事件监听:只 await next() 并把结果原样返回,不改变任何决策。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
3493750852/dsh-windows-notify
在需要确认、已回答和任务结束时弹出系统通知
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7