核心用法
windows-notifier 是一款专用于 Windows 平台的本地桌面通知触发器,通过调用 Node.js 脚本在系统层面生成原生 Toast 弹窗或持久化对话框。用户可通过 PowerShell 执行预设脚本,传入标题、消息内容、超时时间、模式等参数,实现从简单提醒到复杂卡片式通知的多种形态。
命令行调用示例:
node "$env:USERPROFILE\.openclaw\workspace\skills\windows-notifier\scripts\send-notification.js" --title "会议提醒" --message "15分钟后与团队同步" --timeout 10
支持的关键参数包括 --mode modern|card|dialog 切换视觉样式、--timeout 控制停留时长(支持 permanent 持久化)、--sound 开关提示音,以及 --appName 自定义应用标识。脚本具备自动依赖安装机制,首次运行无需手动执行 npm install。
显著优点
- 原生集成:优先调用 Windows WPF(Windows Presentation Foundation)现代卡片路径,呈现与系统风格一致的 Fluent Design 通知
- 智能降级:当 WPF 环境不可用时自动回退至
node-notifier,保障跨版本兼容性 - 零配置启动:内置依赖自检与自动安装,降低用户上手门槛
- 多模式灵活输出:支持瞬时弹窗、持久对话框、静音模式等场景化需求
- 后台可靠触达:专为"聊天窗口可能被遮挡"场景设计,确保关键提醒不遗漏
潜在缺点与局限性
- 平台绑定:核心功能(WPF 现代卡片模式)仅限 Windows,Linux/macOS 完全依赖
node-notifier子集功能 - 权限敏感性:部分企业环境可能禁用 PowerShell 脚本执行策略或限制第三方通知权限,导致静默失败
- 持久化不确定性:
--timeout permanent仅为请求意图,实际行为受后端能力限制(WPF 支持度差异) - 视觉一致性风险:回退至
node-notifier时,通知样式与 Windows 原生 Toast 存在差异,可能降低专业感 - 无集中日志:本地脚本执行模式下,通知历史与投递状态难以审计追踪
适合人群
- 需要脱离浏览器/聊天上下文获取提醒的 Windows 重度用户
- 开发自动化工作流、需本地定时警报的技术人员
- 使用番茄钟、专注计时等场景的学习者与远程工作者
- 企业 IT 管理员测试 Windows 通知基础设施兼容性
常规风险
- 脚本注入风险:若消息内容未充分转义,存在 PowerShell/命令行注入可能(尽管 Skill 文档未明确展示输入校验逻辑)
- 依赖供应链:首次运行自动拉取 npm 依赖,若 registry 被劫持可能引入恶意包
- 注意力干扰:过度频繁的本地弹窗可能导致用户产生"通知疲劳",降低真正重要事件的响应优先级
- 隐私泄露:通知内容以明文形式呈现在系统通知中心,共享设备或录屏场景下存在敏感信息暴露风险