🔔 OpenClaw 智能通知系统完整指南

📅 2026年7月21日 | 🏷️ 通知系统 | ⏱️ 阅读时间:18分钟

多渠道消息推送与告警策略完整教程,涵盖飞书、企业微信、钉钉等主流平台。

📋 为什么需要智能通知系统?

凌晨3点,你的 Agent 任务失败了——但你正在睡觉,早上8点才发现。

一个完善的智能通知系统就像24小时值班的管家——任务完成、出现异常、需要决策时,都能第一时间通知到你。无论是在飞书群、企业微信,还是通过邮件、短信,确保关键信息不遗漏。

💡 核心价值:
  • 多渠道统一管理——一个配置,多端同步
  • 智能分级告警——重要事情电话通知,一般事项群消息
  • 消息模板化——告别重复编辑,直接复用
  • 可观测性集成——与监控系统无缝对接

🏢 支持的通知渠道

OpenClaw 支持多种通知渠道,满足不同场景需求:

📱 飞书

群消息、卡片消息、机器人消息

💬 企业微信

应用消息、群机器人、消息推送

🔔 钉钉

工作通知、机器人消息、卡片

📧 邮件

SMTP 发送、支持 HTML 格式

💙 Slack

频道消息、Webhook 集成

📲 Telegram

Bot 消息、群组通知

⚙️ 基础配置

1. 飞书配置

飞书是目前国内最常用的企业协作平台,OpenClaw 提供完整的飞书消息支持:

# 在 OpenClaw 配置文件中设置飞书机器人
export FEISHU_WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"

飞书通知支持多种消息类型:

2. 企业微信配置

# 企业微信配置
export WECOM_CORP_ID="wwxxx"
export WECOM_CORP_SECRET="xxx"
export WECOM_AGENT_ID="1000001"

3. 钉钉配置

# 钉钉机器人配置
export DINGTALK_WEBHOOK="https://oapi.dingtalk.com/robot/send?access_token=xxx"
export DINGTALK_SECRET="SECxxx"

🎯 消息模板系统

使用消息模板可以确保通知内容的一致性,同时减少重复工作:

# 任务完成通知模板
TASK_COMPLETE_TEMPLATE = """
## ✅ 任务完成通知

**任务名称**: {task_name}
**完成时间**: {completed_at}
**执行时长**: {duration}

**执行结果**:
{result_summary}

**详细信息**: {detail_url}
"""

# 告警通知模板
ALERT_TEMPLATE = """
## 🚨 告警通知

**告警级别**: {level}
**告警类型**: {alert_type}
**触发时间**: {triggered_at}

**告警内容**:
{alert_message}

**影响范围**: {affected_scope}
**处理建议**: {suggestion}
"""

模板变量

OpenClaw 支持丰富的模板变量:

变量说明示例
{task_name}任务名称SEO巡检任务
{status}任务状态success/failed
{duration}执行时长5m 32s
{error_message}错误信息Connection timeout
{timestamp}时间戳2026-07-21 10:00:00
{agent_name}Agent名称miaoquai

🚨 告警规则配置

合理的告警规则是避免"狼来了"效应的关键:

1. 告警级别

级别说明通知方式示例
P0 - 紧急服务不可用电话 + 短信 + 群消息服务器宕机
P1 - 高功能受损短信 + 群消息API 错误率 > 5%
P2 - 中性能下降群消息响应延迟 > 2s
P3 - 低轻微问题群消息日志警告

2. 告警规则配置示例

# alert_rules.yaml
rules:
  - name: "任务失败告警"
    condition: "task.status == 'failed'"
    level: "P1"
    channels: ["feishu", "wecom"]
    template: "ALERT_TEMPLATE"
    repeat_interval: 300  # 5分钟内不重复告警
    
  - name: "任务超时告警"
    condition: "task.duration > 3600"  # 超过1小时
    level: "P2"
    channels: ["feishu"]
    
  - name: "成本超支告警"
    condition: "cost.daily > 100"
    level: "P1"
    channels: ["feishu", "email"]
    escalation:
      - after: 1800  # 30分钟后升级
        level: "P0"
        channels: ["phone"]

🔔 通知触发场景

1. 任务状态变化

适用场景: 定时任务完成、失败、超时等情况通知
# 任务完成时发送通知
openclaw notify \
  --channel=feishu \
  --template=TASK_COMPLETE \
  --vars='{"task_name": "SEO巡检", "status": "success"}'

2. 异常检测触发

适用场景: 监控系统检测到异常,自动触发告警
# 错误率超过阈值时告警
if error_rate > 0.05:
    openclaw notify \
      --channel=feishu \
      --level=P1 \
      --message=f"错误率已达 {error_rate*100}%,请检查!"

3. 定时报告推送

适用场景: 每日/每周报告自动生成并推送到群
# 每日报告定时推送
cronjob:
  schedule: "0 9 * * *"
  command: |
    generate_report > /tmp/report.html
    openclaw notify \
      --channel=feishu \
      --template=DAILY_REPORT \
      --attachment=/tmp/report.html

4. 审批/决策请求

适用场景: 需要人工决策时发送带有交互按钮的通知
# 发送带按钮的卡片消息
openclaw notify \
  --channel=feishu \
  --interactive=true \
  --template=APPROVAL_REQUEST \
  --buttons='[{"text": "批准", "action": "approve"}, {"text": "拒绝", "action": "reject"}]'

🔧 高级特性

1. 消息聚合

避免短时间内发送大量通知造成骚扰:

# 启用消息聚合
notification:
  aggregation:
    enabled: true
    window: 300  # 5分钟内的同类消息聚合
    max_count: 3  # 最多显示3条

2. 静默时段

在特定时间段内暂停非紧急通知:

# 设置静默时段
notification:
  quiet_hours:
    enabled: true
    timezone: "Asia/Shanghai"
    # 夜间22:00到次日8:00静默
    start: "22:00"
    end: "08:00"
    # 紧急告警不受静默影响
    exclude_levels: ["P0"]

3. 消息回退机制

主渠道失败时自动切换到备用渠道:

# 配置消息回退
notification:
  fallback:
    primary: "feishu"
    secondary: "email"
    tertiary: "sms"
    retry_count: 3

📊 通知统计

通过统计通知数据,可以优化通知策略:

# 查看通知统计
openclaw notify stats \
  --period=7d \
  --channels=feishu,wecom

# 输出示例:
# 📊 最近7天通知统计
# - 飞书: 156 条 (成功 154, 失败 2)
# - 企业微信: 89 条 (成功 89, 失败 0)
# - 邮件: 23 条 (成功 23, 失败 0)
#
# 按类型分布:
# - 任务完成: 98 条
# - 告警: 45 条
# - 报告: 28 条
# - 审批: 7 条

⚠️ 最佳实践

💡 建议:
  • 合理设置告警阈值,避免过度告警
  • 重要通知使用多渠道叠加
  • 利用静默时段避免打扰休息时间
  • 定期 review 通知统计,优化策略
  • 关键任务配置失败回调通知
⚠️ 注意:
  • Webhook URL 需要妥善保管,避免泄露
  • 敏感信息不要通过明文消息发送
  • 生产环境建议启用消息加密
  • 定期检查渠道可用性

🚀 快速开始

# 1. 安装通知插件
openclaw plugin install notification

# 2. 配置飞书机器人
openclaw config set notify.feishu.webhook "https://xxx"

# 3. 发送第一条通知
openclaw notify --channel=feishu --message="Hello from OpenClaw!"

# 4. 使用模板发送
openclaw notify --channel=feishu --template=TASK_COMPLETE \
  --vars='{"task_name": "测试任务", "status": "success"}'