任务完成或等你回复时,用网页与系统通知提醒你
28.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add TaoYe599/dsh-notify该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 45 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
- 写入本地文件lib/index.js:58
appendFileSync(logFile(), JSON.stringify({ at: Date.now(), ...entry }) + '\n') - 执行外部命令固定命令lib/index.js:89
execFile( - 发起网络请求lib/client.js:447
fetch("/dsh-notify/presence?state=" + state + "&id=" + id, { method: "POST", keepalive: true }).catch(
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 任务完成通知
- 待回复提醒
- 网页与系统通知
DeepSeek Harness 的任务完成与待你回复通知:页面开着时弹网页通知,浏览器关掉后由 Host 弹原生 Windows 通知。
README
由 DeepSeek 最新模型翻译生成dsh-notify
用系统通知告诉你「任务结束了」或「有问题等你回答」——浏览器开着时弹网页通知,浏览器关掉时由 DSH Host 直接弹 Windows 原生通知。
它解决什么
DSH 只在两种状态下需要你:
| 状态 | 表现 | 通知 |
| 它在等你 | ask_user_question 提问、审批请求、计划确认 | 「需要你的回复 / 确认」 |
| 它不用你了 | 会话从 running 变为空闲(这一轮跑完了) | 「任务已完成」 |
覆盖范围按「任务结束时谁还活着」划分:
| 你的状态 | 谁来通知 | 说明 |
| 看着 DSH 页面 | 不通知 | 状态变化你已经看见了 |
| 切到别的标签页 / 别的应用 / 最小化浏览器 | 客户端(网页通知) | 点击通知可回到标签页;标签页标题出现 (N) 未读徽标 |
| 关掉浏览器 | Host(Windows 原生通知) | 页面没了,但 DSH 进程还在跑,由它接管 |
设计原则
- 按存活进程分层:通知必须由「任务结束时仍然活着的那个进程」发出。浏览器关掉后网页通知在物理上不可能,所以 Host 半用 Windows PowerShell 5.1 的 WinRT ToastNotification 直接弹原生 toast(PowerShell 7 已移除该类型投影,因此特意用 5.1)。
展开完整文档(README 剩余 1 节)
dsh-notify 用系统通知告诉你「任务结束了」或「有问题等你回答」——浏览器开着时弹网页通知,浏览器关掉时由 DSH Host 直接弹 Windows 原生通知。 它解决什么 DSH 只在两种状态下需要你: | 状态 | 表现 | 通知 | | 它在等你 | ask_user_question 提问、审批请求、计划确认 | 「需要你的回复 / 确认」 | | 它不用你了 | 会话从 running 变为空闲(这一轮跑完了) | 「任务已完成」 | 覆盖范围按「任务结束时谁还活着」划分: | 你的状态 | 谁来通知 | 说明 | | 看着 DSH 页面 | 不通知 | 状态变化你已经看见了 | | 切到别的标签页 / 别的应用 / 最小化浏览器 | 客户端(网页通知) | 点击通知可回到标签页;标签页标题出现 (N) 未读徽标 | | 关掉浏览器 | Host(Windows 原生通知) | 页面没了,但 DSH 进程还在跑,由它接管 | 设计原则 - 按存活进程分层:通知必须由「任务结束时仍然活着的那个进程」发出。浏览器关掉后网页通知在物理上不可能,所以 Host 半用 Windows PowerShell 5.1 的 WinRT ToastNotification 直接弹原生 toast(PowerShell 7 已移除该类型投影,因此特意用 5.1)。 - 两个通道不重复:靠一个存在性握手。每个页面持有插件期间每 20 秒 ping 一次 /dsh-notify/presence,页面关闭时用 sendBeacon 发告别;Host 只要发现还有活着的页面就保持沉默,完全让客户端负责(只有页面知道你是否正在看)。 - 对界面无感:没有常驻设置项。首次使用时浮出一张小卡问一次「是否允许通知」;若浏览器没给权限或当时漏掉了通知,卡片会带着原因回来(三态),而不是静默失效。 - 不丢事件:客户端检测直接读权威状态(会话 running 标志与待处理交互表),由 DSH 自己的连接推送驱动,不用轮询——后台标签页的定时器会被节流。 - 不误报子任务:Host 侧只对 agents.roots() 里的顶层会话通知;子 agent 必然带 owning agent context,因此天然被排除。 安装 本包是一个标准 DSH bundle(声明 dsh.bundle.patch,随包提供一层配置补丁)。安装请用官方 CLI —— dsh plugin 会把参数转发给 profile 目录下的 pnpm,并在包声明了 dsh.bundle 时自动把它追加进 dsh.profile.bundles。 1) 从本地目录安装(开发时最常用) dsh plugin --profile web add <本包所在目录> 2) 从 tarball 安装(分发给同事时最省事) pnpm pack # 生成 dsh-notify-0.1.0.tgz dsh plugin --profile web add ./dsh-notify-0.1.0.tgz 3) 从 npm 或 GitHub 安装(需先发布/建仓) dsh plugin --profile web add dsh-notify dsh plugin --profile web add github:<你>/dsh-notify 验证(不用启动即可确认层已生效): dsh --profile web --dump-config # 输出中应出现 「# == dsh-notify」 层 安装或更新后必须重启 dsh web:bundle 列表与 Host 半都在 profile 启动时加载(客户端 bundle 改动只需刷新页面)。 卸载 dsh plugin --profile web remove dsh-notify 随后重启 dsh web。若只是临时停用,也可在该 profile 的 cordis.patch.yml 里对本插件的行加 disabled: true。 分发给同事测试 三种方式,按推荐顺序: | 方式 | 你要做的 | 同事要执行的 | | tarball(推荐) | pnpm pack → 把 .tgz 发过去 | dsh plugin --profile web add ./dsh-notify-0.1.0.tgz | | npm 发布 | npm publish(需账号;建议改成分域包名避免重名) | dsh plugin --profile web add dsh-notify | | GitHub 仓库 | 建仓并给仓库打 dsh-plugin 主题标签(官方推荐的社区发现方式) | dsh plugin --profile web add github:<你>/dsh-notify | 本包有两个对分发有利的性质:零运行时依赖(Host 半只用 Node 内置模块)与客户端 bundle 已预构建(手写产物,无需打包链)。因此三条路都不需要构建期脚本,也就不会触发 pnpm ≥10 对依赖脚本的 allowBuilds 权限询问。 为什么不是 PR:官方仓库的 has_pull_requests 为 false(PR 功能在仓库层面关闭,Issues 亦关闭,仅 Discussions 开放)。官方 CONTRIBUTING 明确「deeply customizable,社区包不比官方包低一等」,并推荐以 dsh-plugin 主题发布社区插件。 排查 Host 半会往 ~/.dsh/dsh-notify.log.jsonl(或 $DSH_HOME 下)追加一行一行的诊断记录,每条都带 event: | event | 含义 | | presence-route | 存在性路由注册成功(握手可用) | | toast | 原生通知已发出(附 sessionId / title / presenceReady) | | skip + reason: page-alive | 有页面在线,交给客户端了 | | skip + reason: subagent | 是子 agent 会话,不打扰 | | skip + reason: repeat-window | 同一会话 10 秒内重复空闲 | | toast-failed | PowerShell 调用失败(附错误信息) | | no-web-server | 拿不到 webServer 服务,存在性判断失效 | 客户端侧的日志在浏览器控制台,前缀 [dsh-notify]。 想改行为 - 想彻底关掉网页通知:在浏览器站点设置里把本站「通知」改为「阻止」,客户端立刻静默(它每次都读 Notification.permission);Host 侧仍会在浏览器关闭时通知。 - 想重新被询问:清除本站点数据(localStorage 的 dsh-notify.asked 会一起清掉),刷新后会再问一次。 已知边界 - 原生通知目前仅 Windows:非 Windows 平台检测照常运行,只跳过显示步骤。 - 存在性 TTL 为 150 秒:正常关闭浏览器会立刻发告别信标、Host 立即接管;若浏览器崩溃(来不及发信标),最多要等 150 秒 Host 才开始接管。 - 远程访问场景可能重复通知:通过非 localhost 域名访问 DSH 时,存在性心跳走的是页面同源请求,若该路径未被代理转发,Host 会误判「没有页面」,于是两边各弹一次。本机 127.0.0.1 访问不受影响。 - 子 agent 会话不通知:这是有意的——子 agent 在一个回合内部完成,不是给用户看的「任务结束」。 结构 dsh-notify/ ├── package.json # dsh.bundle.patch + dsh.client(platform: web) ├── cordis.patch.yml # 把本插件的行 insert 进 profile 组合 ├── lib/ │ ├── index.js # Host 半:存在性路由 + 会话结束检测 + Windows 原生 toast │ └── client.js # 客户端 bundle(手写,无需构建工具链) ├── LICENSE └── README.md
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
TaoYe599/dsh-notify
任务完成或等你回复时,用网页与系统通知提醒你
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目