运行时依赖
安装命令
点击复制技能文档
任务通知器 🔔 OpenClaw 的一个后台插件,当代理完成工作时,发送 macOS 原生通知。无需用户交互 — 安装即忘记。
工作原理 该插件钩入 OpenClaw 的生命周期: before_prompt_build — 检测到新的用户启动的回合(过滤掉心跳、cron 作业、系统事件),写入状态标记到 /.openclaw-task/current.env。 agent_end — 完成时,读取状态标记,检查 OpenClaw 的 web 界面是否是活动的前台窗口,如果不是 — 发送 macOS 通知。然后清除状态标记。 这适用于所有代理,自动生效 — 主代理、子代理(Forgemaster、Avito Sales、Printer Operator 等)、任何自定义代理。无需每个代理注册。
智能抑制 当您查看 OpenClaw 的 web 界面(localhost:18789)并且任务完成 — 没有通知。只有当您切换到其他窗口时才会触发。
语言支持 通知匹配您的 macOS 系统语言(defaults read -g AppleLocale): 语言 示例 🇷🇺 俄语 Задача выполнена ⚔️ 🇺🇦 乌克兰语 Завдання виконано ⚔️ 🇩🇪 德语 Aufgabe erledigt ⚔️ 🇬🇧 英语 Task completed ⚔️ 默认:英语。覆盖:设置 LANG_CODE=en 在环境中。
安装 通过 ClawHub openclaw plugins install clawhub:task-notifier openclaw gateway restart 完成。通知将在下一个代理任务触发。
手动安装 # 复制到工作空间 mkdir -p ~/.openclaw/workspace/plugins/task-notifier cp src/index.ts ~/.openclaw/workspace/plugins/task-notifier/ cp src/task-notify.sh ~/.openclaw/workspace/plugins/task-notifier/ cp openclaw.plugin.json ~/.openclaw/workspace/plugins/task-notifier/ # 注册在 openclaw.json # "plugins": { "load": { "paths": ["~/.openclaw/workspace/plugins/task-notifier/index.ts"] } } # 重启 openclaw gateway restart
自定义 什么 如何 默认 声音 编辑 afplay 路径在 src/task-notify.sh 通知文本 更改 l10n() 字符串在脚本中 语言覆盖 导出 LANG_CODE=en 在您的 shell 配置文件中 抑制代理 不支持(计划中)
技术说明 需要 macOS(使用 osascript + afplay) 无外部依赖 — 纯 TypeScript 插件 状态目录:/.openclaw-task/(自动创建,幂等) 代理名称来自 ctx.agentId(可移植,不依赖路径)
文件 文件 目的 src/index.ts 插件入口 — 生命周期钩子 src/task-notify.sh macOS 通知调度器 openclaw.plugin.json 插件清单 package.json npm 包元数据 SKILL.md 本文件 — 代理面向文档