OpenClaw Linux 教程OpenClaw Linux 教程
首页
基础教程
最佳实践
OpenClaw 官网
编程指南
首页
基础教程
最佳实践
OpenClaw 官网
编程指南
  • 最佳实践

    • 🚀 最佳实践
    • 第1章 - 远程 Gateway 部署
    • 第2章 - 安全加固
    • 第3章 - 多 Agent 路由
    • 第4章 - 自动化工作流
    • 第5章 - 故障排除

第4章 - 自动化工作流

嗨,朋友!这一章我们来聊聊如何用 OpenClaw 构建自动化工作流。让 AI 助手主动帮你完成任务,而不是等你下命令——这才是真正的效率提升!

🤔 什么是自动化工作流?

自动化工作流就是让 OpenClaw 自动触发、自动执行的任务链。比如:

  • 每天早上 8 点自动给你发一份服务器状态报告
  • 收到特定邮件时自动提取内容并通知你
  • GitHub 有新 Issue 时自动分析并给出建议
  • 定时备份数据库并通知结果
触发器(时间/事件/Webhook)
    │
    ▼
OpenClaw 接收触发
    │
    ▼
AI 执行预设任务
    │
    ▼
将结果发送到聊天渠道

⏰ 定时任务(Cron)

通过聊天设置

最简单的方式是直接告诉 OpenClaw:

你:每天早上 8 点给我发一份服务器健康报告,包括 CPU、内存、磁盘和网络状态

AI 会自动使用内置的 cron 工具创建定时任务。

定时任务示例

场景对话示例
每日报告"每天早上 9 点给我发系统状态报告"
定期备份"每周日凌晨 2 点备份 /data 目录到 /backup"
监控告警"每 10 分钟检查一次 nginx,如果挂了就重启并通知我"
提醒"每天下午 5:30 提醒我下班前提交代码"

管理定时任务

你:列出所有定时任务
你:取消"每日报告"这个定时任务
你:把"每日报告"改到早上 7 点

🔗 Webhook 触发

OpenClaw 支持 Webhook,可以接收外部系统的事件通知。

配置 Webhook

Webhook 通过 Gateway 的 Web 接口暴露:

{
  "gateway": {
    "webhook": {
      "enabled": true
    }
  }
}

使用场景

GitHub Webhook

当仓库有新的 Push 或 Issue 时触发:

GitHub Push 事件
    │
    ▼
OpenClaw Webhook 接收
    │
    ▼
AI 分析变更内容
    │
    ▼
通过 Telegram 通知你:
"仓库 xxx 有新提交:修复了登录页面的 bug"

监控告警 Webhook

当 Prometheus/Grafana 触发告警时:

Grafana 告警
    │
    ▼
OpenClaw Webhook
    │
    ▼
AI 分析告警内容
    │
    ▼
通过 WhatsApp 通知你并建议修复方案

提示

Webhook 的详细配置请参考官方文档:Webhook 配置

📧 Gmail 集成

OpenClaw 支持 Gmail Pub/Sub 集成,可以在收到邮件时自动触发任务。

使用场景

收到新邮件
    │
    ▼
OpenClaw 自动分类
    │
    ├─ 重要邮件 → 立即通知你
    ├─ 工作邮件 → 提取要点并总结
    └─ 垃圾邮件 → 标记并归档

配置参考

详细的 Gmail Pub/Sub 配置请参考:Gmail 集成指南

🛠️ 自定义自动化脚本

结合系统 crontab 和 OpenClaw CLI,你可以创建强大的自动化流程:

示例:每日安全审计

#!/bin/bash
# 保存为 ~/scripts/daily-audit.sh

# 收集安全信息
REPORT=$(cat << EOF
请分析以下安全信息并生成报告:

1. 最近的登录记录:
$(last -10)

2. 失败的 SSH 登录尝试:
$(grep "Failed password" /var/log/auth.log | tail -10)

3. 系统更新状态:
$(apt list --upgradable 2>/dev/null | head -20)

4. 磁盘使用:
$(df -h)

5. 异常进程:
$(ps aux --sort=-%cpu | head -10)

请用中文给出安全分析报告,如果发现异常请重点标注。
EOF
)

# 发送给 OpenClaw
openclaw agent --message "$REPORT" --thinking high
chmod +x ~/scripts/daily-audit.sh

# 添加到 crontab,每天早上 7 点运行
crontab -e
# 添加:0 7 * * * /home/openclaw/scripts/daily-audit.sh

示例:网站可用性监控

#!/bin/bash
# 保存为 ~/scripts/check-websites.sh

SITES=("https://your-site.com" "https://api.your-site.com")

for site in "${SITES[@]}"; do
    STATUS=$(curl -o /dev/null -s -w "%{http_code}" "$site" --max-time 10)
    if [ "$STATUS" != "200" ]; then
        openclaw agent --message "⚠️ 告警:$site 返回状态码 $STATUS,可能已经挂了!请帮我检查一下原因。"
    fi
done
chmod +x ~/scripts/check-websites.sh

# 每 5 分钟检查一次
crontab -e
# 添加:*/5 * * * * /home/openclaw/scripts/check-websites.sh

示例:日志异常检测

#!/bin/bash
# 保存为 ~/scripts/log-monitor.sh

# 检查最近 5 分钟的错误日志
ERRORS=$(journalctl --since "5 minutes ago" --priority=err --no-pager 2>/dev/null)

if [ -n "$ERRORS" ]; then
    openclaw agent --message "系统在最近 5 分钟内出现了错误日志,请帮我分析:

$ERRORS"
fi

📋 自动化工作流模板

模板1:运维值班助手

定时任务:
- 每 5 分钟:检查服务状态
- 每小时:检查系统资源
- 每天早上:生成日报
- 每天晚上:执行安全审计

告警规则:
- CPU > 80%:通知
- 内存 > 90%:通知
- 磁盘 > 85%:通知
- 服务挂了:立即通知并尝试重启

模板2:开发助手

Webhook 触发:
- GitHub Push:代码审查提醒
- CI/CD 失败:通知并分析原因
- 新 Issue:自动分类和分配

定时任务:
- 每天早上:拉取最新代码并运行测试
- 每周一:生成上周代码统计报告

💡 自动化最佳实践

  1. 从小处开始 - 先自动化一个简单的任务,熟悉后再扩展
  2. 添加日志 - 所有自动化脚本都应该记录日志
  3. 错误处理 - 脚本失败时应该通知你,而不是默默失败
  4. 权限最小化 - 自动化脚本只给必要的权限
  5. 定期检查 - 定期验证自动化任务是否正常工作

💪 练习题

  1. 编写一个脚本,每天早上 8 点检查服务器状态并通过 OpenClaw 发送报告。
  2. 如何使用 Webhook 接收 GitHub 事件通知?
  3. 设计一个适合你工作场景的自动化方案。

答案提示

  1. 参考"每日安全审计"示例,修改为你需要的检查项
  2. 在 GitHub 仓库 Settings → Webhooks 中配置 OpenClaw 的 Webhook URL
  3. 结合定时任务和 Webhook,根据实际需求设计

下一步: 第5章 - 故障排除 →

最近更新: 2026/2/28 09:29
Contributors: 王长安
Prev
第3章 - 多 Agent 路由
Next
第5章 - 故障排除