Agent Notify — 代理通知
v0.1.0针对AI编码代理(如Claude Code、OpenClaw、Codex、Kiro、Cursor等)的跨平台通知声音和任务栏闪烁。 当代理需要确认或完成任务时,播放警报声音和视觉通知。 自动检测代理环境并相应地配置钩子。 当用户提到通知声音、警报蜂鸣、任务栏闪烁、完成警报,或想要知道代理何时完成或需要注意时,请使用此技能 —— 即使他们只说一些模糊的内容,如“我想要声音”或“如何通知我”。 也可以在提到为任何AI编码代理配置、启用、禁用或自定义音频/视觉警报时触发。 支持Windows、macOS和Linux。
运行时依赖
安装命令
点击复制技能文档
Agent Notify Skill 您是一个帮助用户配置跨平台通知声音和任务栏/dock 提醒的 AI 编码代理的助手。当触发时,您必须按照以下指示进行操作。
语言检测 检测用户的语言,从他们的消息中。如果他们用中文写,您用中文回复。如果他们用英文写,您用英文回复。整个交互过程中匹配用户的语言。
步骤 1:提供两个模式 向用户提供两个选项: 英文: 🔔 Agent Notify — Setup 选择一个设置模式: 1️⃣ 快速设置(推荐)— 一键安装默认设置 • 通知开启:确认请求 + 任务完成 • 默认系统声音 • 任务栏闪烁:5 次 2️⃣ 自定义设置 — 选择自己的设置 • 选择哪些事件触发通知 • 配置自定义声音文件 • 调整任务栏闪烁次数 请输入 1 或 2: 中文: 🔔 Agent Notify — 配置向导 请选择配置模式: 1️⃣ 一键配置(推荐)— 使用默认设置快速安装 • 通知触发:确认请求 + 任务完成 • 默认系统提示音 • 任务栏闪烁:5 次 2️⃣ 自定义配置 — 自由选择设置 • 选择哪些事件触发通知 • 配置自定义提示音文件 • 调整任务栏闪烁次数 请输入 1 或 2:
步骤 2A:快速设置 如果用户选择 1,则直接跳转到步骤 3:安装。使用以下默认值: Hooks:Notification(类型:confirm),Stop(类型:done) 声音:系统默认 任务栏闪烁次数:5
步骤 2B:自定义设置 如果用户选择 2,则逐步走过以下选项: 2B-1:选择 Hook 事件 显示可用的 Hook 事件: 可用的通知触发器: [1] ✅ 确认请求(Notification hook)— 当 Claude 请求权限时 [2] ✅ 任务完成(Stop hook)— 当 Claude 完成响应时 [3] ❌ 错误警报 — 当工具调用失败时 [4] ❌ 预工具通知(PreToolUse)— 在每个工具执行之前 [5] ❌ 后工具通知(PostToolUse)— 在每个工具执行之后 请输入数字以切换(例如,1,2,3),或按 Enter 以保留默认值:
2B-2:自定义声音 询问用户是否需要自定义声音文件: 自定义声音文件(留空为系统默认): • 确认声音路径:[空 = 系统默认] • 完成声音路径:[空 = 系统默认] • 错误声音路径:[空 = 系统默认] 支持的格式: Windows:.wav macOS:.aiff, .mp3, .wav Linux:.oga, .wav, .mp3
2B-3:任务栏闪烁次数 任务栏闪烁次数 [默认:5]:
步骤 3:安装 在收集设置(默认或自定义)后,执行安装: 3.1 检测操作系统和 Agent 环境 运行以下命令以检测操作系统: uname -s 2>/dev/null || echo "Windows" 如果输出包含 Darwin → macOS 如果输出包含 Linux → Linux 如果输出包含 MINGW, MSYS, CYGWIN 或 Windows → Windows 然后检测用户正在运行的 AI 编码代理。这决定了配置目录和 Hooks 格式: # 检测代理配置目录(第一个存在的目录获胜) for dir in ~/.claude ~/.codex ~/.openclaw ~/.kiro ~/.cursor; do if [ -d "$dir" ]; then echo "$dir" break fi done 在 Windows 上,也检查: for dir in "$USERPROFILE/.claude" "$USERPROFILE/.codex" "$USERPROFILE/.openclaw"; do if [ -d "$dir" ]; then echo "$dir" break fi done 将 AGENT_HOME 设置为检测到的目录(例如,~/.claude)。如果没有找到,则默认为 ~/.claude 并创建它。 支持的代理及其已知配置路径: 代理 配置目录 设置文件 Hooks 支持 Claude Code ~/.claude settings.json ✅ 全部(Notification, Stop, PreToolUse, PostToolUse) OpenClaw ~/.openclaw settings.json ✅ 与 Claude Code 相同的 Hooks 格式 Codex (OpenAI) ~/.codex settings.json ⚠️ 可能不同 — 检查文档 Kiro (AWS) ~/.kiro settings.json ⚠️ 可能不同 — 检查文档 Cursor ~/.cursor 变化 ⚠️ 不同的 Hooks 系统 如果检测到的代理不是 Claude Code 或 OpenClaw,则警告用户 Hooks 兼容性不能保证,并询问是否继续。通知脚本本身(声音 + 任务栏闪烁)可以通用 — 只有 Hooks 集成是代理特定的。
3.2 复制通知脚本 通过搜索 skill.md 文件来找到技能目录: for base in ~/.claude/skills ~/.codex/skills ~/.openclaw/skills ~/.kiro/skills ~/.cursor/skills; do found=$(find "$base" -name "skill.md" -path "/agent-notify/" 2>/dev/null | head -1) [ -n "$found" ] && echo "$(dirname "$found")" && break done 在 Windows(Git Bash / MSYS2)上,也尝试: for base in "$USERPROFILE/.claude/skills" "$USERPROFILE/.codex/skills" "$USERPROFILE/.openclaw/skills"; do found=$(find "$base" -name "skill.md" -path "/agent-notify/" 2>/dev/null | head -1) [ -n "$found" ] && echo "$(dirname "$found")" && break done 如果 find 命令失败或返回空,则询问用户在哪里安装了技能。 将脚本复制到 $AGENT_HOME/(不是硬编码 ~/.claude/): 对于 Windows: cp "/scripts/notify-windows.ps1" "$AGENT_HOME/notify.ps1" 对于 macOS: cp "/scripts/notify-macos.sh" "$AGENT_HOME/notify.sh" chmod +x "$AGENT_HOME/notify.sh" 对于 Linux: cp "/scripts/notify-linux.sh" "$AGENT_HOME/notify.sh"