核心用法
Windows Notifier 是一个专为 Windows 系统设计的桌面通知技能,通过调用 node-notifier 库在本地机器上生成原生 Toast 弹窗。使用时需通过 PowerShell 执行 Node.js 脚本,传入 --title、--message 等参数即可触发通知。
典型调用方式:
node "$env:USERPROFILE\.openclaw\workspace\skills\windows-notifier\scripts\send-notification.js" --title "会议提醒" --message "15分钟后开始" --timeout 10
可选参数包括等待模式(--wait)、超时秒数(--timeout)和提示音开关(--sound,默认开启)。首次运行时会自动安装依赖,无需用户手动执行 npm。
显著优点
- 原生体验:调用 Windows 系统级通知 API,弹窗样式与系统通知保持一致
- 零配置启动:自动检测并安装依赖,降低使用门槛
- 灵活控制:支持自定义超时、声音开关,适应不同场景(如静音工作时段)
- 场景精准:明确区分"聊天可见"与"桌面弹窗"两种通知层级,避免重要提醒被后台遗漏
潜在缺点与局限性
- 平台锁定:仅适用于 Windows 系统,macOS/Linux 用户无法使用
- 依赖 Node.js:目标机器必须已安装 Node.js 运行时环境
- 权限边界:若用户以受限账户运行,可能因 UAC 或组策略导致通知被系统静默拦截
- 无持久化:通知为一次性 ephemeral 弹窗,不保留历史记录;若用户离开电脑,可能完全错过提醒
- Node 生态依赖:
node-notifier的维护状态及安全性需持续关注
适合人群
- Windows 主力机用户,需要本地定时提醒(番茄钟、会议倒计时、饮水提醒等)
- 将 OpenClaw 置于后台运行的场景,需确保关键警报能够突破聊天界面限制
- 开发者或高级用户,愿意通过 PowerShell/Node 脚本进行轻度自动化集成
常规风险
| 风险类型 | 说明 | 缓释建议 |
|---------|------|---------|
| 依赖供应链 | `node-notifier` 及其间接依赖可能存在未披露的漏洞 | 定期审计 `package-lock.json`,关注 CVE 通告 |
| 脚本注入 | 若 title/message 参数未做输入校验,可能被利用注入恶意字符 | 确保调用方对输入进行 sanitize,避免拼接未过滤字符串 |
| 通知疲劳 | 频繁弹窗可能导致用户关闭系统通知权限,反而降低关键信息到达率 | 合理设置通知频率,区分优先级,避免滥用 |
| 隐私泄露 | 通知内容可能包含敏感信息,在共享屏幕或公共场合被旁观者看到 | 敏感场景建议关闭桌面通知,改用聊天私聊通道 |
综合评估
该技能在 Windows 生态内提供了简洁、原生的通知能力,适合弥补"纯聊天交互"在后台运行时的可达性缺陷。但需注意其平台绑定、Node 依赖及无状态特性,不建议作为唯一的高可靠性提醒手段,关键场景应配合多渠道冗余通知。