news 2026/4/23 11:44:17

给claude code安装一个通知监控

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
给claude code安装一个通知监控

Windows Toast Notify

功能概述

Windows Toast Notify 是一个系统通知技能,让 Claude Code 在关键时刻主动通知用户,类似 Mac Dock 小红点的效果。通过配置 hooks,可以在任务完成、需要确认、等待输入等场景自动触发 Windows 系统通知。

通知类型

类型标题触发场景用途
complete✅ 任务完成Stop hook代码完成、bug修复、功能实现
confirm⏳ 需要确认PermissionRequest、EnterPlanMode需要用户审批或确认
wait🔔 等待响应AskUserQuestionClaude提问、请求信息
milestone🎯 关键节点自定义使用重要进度、阶段切换
error❌ 执行失败自定义使用错误、异常情况

工作原理

  1. Hook 触发: Claude Code 在特定事件时执行配置的 hooks
  2. PowerShell 脚本: 调用notify.ps1发送 Windows Toast 通知
  3. 系统通知中心: 通知显示在 Windows 通知中心,支持声音提示

权限预允许机制

Claude Code 的权限系统有两层配置:

  • 全局配置:~/.claude/settings.json中的permissions.allow
  • 本地配置: 工作目录.claude/settings.local.json中的permissions.allow

当用户首次允许某个操作后,权限被记录到本地配置,下次执行相同操作时:

  • 首次请求:PermissionRequesthook 触发 → 发送通知
  • 已预允许: 静默执行,不触发任何 hook,无通知

配置指南

1. 文件结构

~/.claude/skills/windows-toast-notify/ ├── SKILL.md # 技能说明文档 ├── scripts/ │ ├── notify.ps1 # 主通知脚本 │ └── teammate-idle-notify.ps1 # 团队成员空闲通知 └── assets/ └── icon.png # 通知图标(可选)

2. 基础配置

~/.claude/settings.json中配置 hooks:

{"hooks":{"PermissionRequest":[{"matcher":"","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File ~/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message 'Claude需要你的确认' -Sound"}]}],"PostToolUse":[{"matcher":"EnterPlanMode","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File ~/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message '请审批计划' -Sound"}]},{"matcher":"AskUserQuestion","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File ~/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message 'Claude需要你的输入' -Sound"}]}],"Stop":[{"matcher":"","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File ~/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type complete -Message '任务已完成' -Sound"}]}]}}

3. 脚本参数

notify.ps1支持以下参数:

powershell-ExecutionPolicy Bypass-File notify.ps1 `-Type<类型> `-Message <消息内容> `[-Sound]`[-Duration <显示秒数>]
参数必需说明示例
-Type通知类型complete,confirm,wait,milestone,error
-Message通知内容'任务已完成'
-Sound播放提示音添加此参数启用
-Duration显示时长(秒)5(默认值)

4. 使用 /update-config 配置

推荐使用/update-config技能配置,避免手动编辑出错:

/update-config 添加通知hooks: - PermissionRequest时发送confirm通知并播放声音 - EnterPlanMode时发送confirm通知并播放声音 - AskUserQuestion时发送confirm通知并播放声音 - Stop时发送complete通知并播放声音

5. 验证配置

测试通知是否正常工作:

powershell-ExecutionPolicyBypass-File~/.claude/skills/windows-toast-notify/scripts/notify.ps1-Typecomplete-Message"测试通知"-Sound

安全考虑

1. 脚本执行权限

风险: PowerShell 脚本可能执行恶意代码

安全措施:

  • 使用-ExecutionPolicy Bypass仅用于信任的脚本
  • 脚本位于用户目录~/.claude/skills/,需用户明确创建
  • 脚本内容仅调用 Windows Toast API,不执行系统修改

建议:

# 定期审查脚本内容Get-Content~/.claude/skills/windows-toast-notify/scripts/notify.ps1

2. Hook 配置安全

风险: 恶意 hook 可执行任意命令

安全措施:

  • settings.json由用户手动编辑或通过/update-config配置
  • Claude Code 在执行 hook 前不请求额外权限(hooks 在 harness 层执行)
  • 命令仅限 PowerShell 调用通知脚本

建议:

  • 不要在 hook 命令中包含敏感信息
  • 定期检查settings.json中的 hooks 配置

3. 通知内容安全

风险: 通知内容可能暴露敏感信息(如文件路径、命令)

安全措施:

  • 通知消息应使用通用描述,避免包含敏感路径或命令
  • 通知显示在系统通知中心,其他应用可能读取

建议消息格式:

// 安全 ✓ - 通用描述"Message":"任务已完成""Message":"Claude需要你的确认"// 不安全 ✗ - 包含敏感信息"Message":"密码文件 /etc/shadow 已修改""Message":"执行命令: rm -rf /home/user"

4. Windows 通知权限

系统级配置:

  1. 打开 Windows 设置 → 系统 → 通知
  2. 确保 “获取来自应用和其他发送者的通知” 已开启
  3. 可单独配置 PowerShell 或 Claude Code 的通知权限

隐私考虑:

  • 通知内容会出现在通知中心历史记录
  • 锁屏时通知可能可见
  • 可在 Windows 设置中关闭锁屏通知

5. 网络安全

无网络请求:notify.ps1脚本完全本地执行,不发送任何网络请求

数据存储: 所有配置保存在本地settings.json,不上传云端


常见问题

通知没有出现?

  1. 检查 Windows 通知设置

    • 设置 → 系统 → 通知 → 开启通知
    • 确保 “允许应用发送通知” 已启用
  2. 验证脚本路径

    Test-Path ~/.claude/skills/windows-toast-notify/scripts/notify.ps1
  3. 手动测试

    powershell-ExecutionPolicyBypass-File~/.claude/skills/windows-toast-notify/scripts/notify.ps1-Typecomplete-Message"测试"
  4. 检查 BurntToast 模块(可选)

    Get-Module-ListAvailable-Name BurntToast

想要自定义图标?

  1. 准备 PNG 图标文件
  2. 放置到~/.claude/skills/windows-toast-notify/assets/icon.png
  3. 修改notify.ps1中的-AppLogo参数

想要不同的声音?

修改notify.ps1中的声音配置:

# Windows 系统声音选项$buttonParams= @{Sound ='Notification.Default'}# 默认$buttonParams= @{Sound ='Notification.Looping.Alarm'}# 闹钟$buttonParams= @{Sound ='Notification.Looping.Call'}# 呼叫

附录:完整配置示例

{"hooks":{"PermissionRequest":[{"matcher":"","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message 'Claude需要你的确认' -Sound"}]}],"PostToolUse":[{"matcher":"EnterPlanMode","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message '请审批Claude的计划' -Sound"}]},{"matcher":"ExitPlanMode","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type milestone -Message '计划已批准,开始执行'"}]},{"matcher":"AskUserQuestion","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type confirm -Message 'Claude需要你的输入' -Sound"}]}],"TeammateIdle":[{"matcher":"","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/teammate-idle-notify.ps1"}]}],"Stop":[{"matcher":"","hooks":[{"type":"command","command":"powershell -ExecutionPolicy Bypass -File C:/Users/admin/.claude/skills/windows-toast-notify/scripts/notify.ps1 -Type complete -Message '任务已完成' -Sound"}]}]}}

版本信息

  • 版本: 1.0.0
  • 适用平台: Windows 10/11
  • 依赖: PowerShell 5.1+ 或 PowerShell 7+
  • 可选依赖: BurntToast PowerShell 模块(增强通知体验)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:42:59

如何用开源方案解决Windows桌面图标混乱问题?

如何用开源方案解决Windows桌面图标混乱问题&#xff1f; 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否曾经花费大量时间在杂乱的桌面上寻找需要的文件或应用&#x…

作者头像 李华
网站建设 2026/4/23 11:42:29

别再只用平均值了!用Python的sklearn QuantileRegressor做分位数回归,搞定非正态数据预测区间

分位数回归实战&#xff1a;用Python精准捕捉数据的不确定性 当你面对一份严重偏斜的电商用户消费数据&#xff0c;或是包含大量异常值的设备寿命记录时&#xff0c;传统线性回归给出的单一预测值往往显得苍白无力。现实世界的数据很少完美服从正态分布&#xff0c;而分位数回归…

作者头像 李华
网站建设 2026/4/23 11:41:25

AI专著生成全攻略:4款AI工具大揭秘,快速完成20万字专著写作!

学术专著的写作难点&#xff0c;不仅在于能否完成初稿&#xff0c;更在于是否能够成功出版并获得认可。在目前的出版市场中&#xff0c;学术专著的受众群体相对较小&#xff0c;这使得出版社在选题时对学术价值和作者的影响力都有着严格的要求。许多书稿即使完成了初步的写作&a…

作者头像 李华
网站建设 2026/4/23 11:41:24

黑苹果配置神器:OpenCore Configurator让复杂引导配置变得简单

黑苹果配置神器&#xff1a;OpenCore Configurator让复杂引导配置变得简单 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 还在为黑苹果系统的引导配置而头疼…

作者头像 李华
网站建设 2026/4/23 11:40:57

Rust的迭代器适配器性能分析与手动循环在热点代码中的优化取舍

Rust的迭代器适配器与手动循环在性能优化中的取舍 Rust以其卓越的性能和安全性著称&#xff0c;而迭代器适配器作为函数式编程的核心工具&#xff0c;为开发者提供了简洁高效的抽象。在热点代码中&#xff0c;手动循环是否比迭代器适配器更具性能优势&#xff1f;本文将从多个…

作者头像 李华