自动化
Cron、Hooks 与 Webhooks。
自动化
这一课你将能做到
- 用
openclaw automations(或openclaw cron)创建定时任务 - 配置 webhook 接收外部事件并触发 bot 动作
- 理解 hooks 与 heartbeats 在自动化体系中的角色
为什么要学
团队里最有价值的 bot 不是「你问它答」,而是「不用你问,它主动做」:每天早上 9 点发昨日 PR 汇总、收到 GitHub webhook 就自动评审、每小时检查一次服务健康。这一课把 bot 从「被动问答机」升级为「主动同事」。
人话:自动化是 OpenClaw 的「闹钟」和「神经反射」——到点做事,遇事反应。
先建立图像
触发源(Trigger)
├── Cron:定时触发(每天 9:00、每小时、每周一)
├── Webhook:外部事件(GitHub PR、CI 完成、监控告警)
├── Hook:内部事件(消息收到、任务完成、错误发生)
└── Heartbeat:周期自检(每 5 分钟检查一次状态)
│
▼
OpenClaw Gateway ──→ 路由到指定 Agent
│
▼
执行动作
├── 生成文本回复(发消息到 Slack/Telegram)
├── 调用工具(执行脚本、查 API)
└── 调用 webhook(通知外部系统)
跟着做
步骤 1:创建第一个定时任务
# 每天早上 9 点发晨报
openclaw automations create "0 9 * * *" \
"汇总昨天到今天的主要变更,发晨报" \
--name "Morning Brief" \
--channel telegram \
--to "-1001234567890"
步骤 2:创建带时区的定时任务
# 每周一到五下午 6 点发部署汇总(上海时区)
openclaw automations create "0 18 * * 1-5" \
"Summarize today's deploys as JSON." \
--name "Deploy Digest" \
--tz "Asia/Shanghai" \
--webhook "https://hooks.slack.com/services/XXX/YYY/ZZZ"
步骤 3:查看与管理任务
openclaw automations list
openclaw automations list --json
# 查看任务执行历史
openclaw automations history --name "Morning Brief"
步骤 4:配置 Webhook 接收外部事件
编辑 ~/.openclaw/openclaw.json:
{
"webhooks": {
"github-pr": {
"path": "/webhooks/github-pr",
"agentId": "reviewer",
"secret": "${GITHUB_WEBHOOK_SECRET}"
}
}
}
然后 GitHub 仓库设置 Webhook URL 为 https://your-server:18789/webhooks/github-pr,事件触发时自动路由到 reviewer agent。
步骤 5:配置 Hook(内部事件)
{
"hooks": {
"onMessage": {
"enabled": true,
"script": "~/.openclaw/hooks/log-message.sh"
}
}
}
步骤 6:查看自动化 CLI 帮助
openclaw automations --help
openclaw hooks --help
openclaw webhooks --help
讲清楚要点
- cron 表达式是标准五字段:分 时 日 月 周, 是每天 9 点, 是每 15 分钟。 指定时区,避免服务器时区与业务时区不一致。