教程 • 12 分钟阅读
设置自动化
让您的代理成为主动助手。使用 Cron 安排每日任务,并通过 Webhook 触发操作。
我们将构建什么
我们将创建一个 每日简报自动化,它可以:
- 每天早上 9 点自动运行
- 向您发送当天的日程摘要
- 演示 cron 任务配置
- 可以根据您的需求轻松自定义
这个例子涵盖了自动化任何任务所需的基础知识。
前提条件
在开始之前,请确保您拥有:
- 已安装并运行 OpenClaw - 完成入门指南教程
- 已连接渠道 - 遵循渠道设置教程
- 网关正在运行 - 您的 OpenClaw 网关应处于活动状态
- 对 cron 语法有基本了解 - 我们会进行解释,但熟悉它会有所帮助
Tutorial.step
第 1 步:了解自动化类型
OpenClaw 支持多种自动化类型:
⏰ Cron 任务
在特定时间运行的计划任务 (每日、每周等)
🔗 Webhooks(网络钩子)
从外部服务 (GitHub, Sentry 等) 触发操作
💓 心跳 (Heartbeat)
具有可配置间隔的持续监控
在本教程中,我们将重点关注 cron 任务——最常用的自动化类型。有关 webhook 和其他类型,请参阅自动化参考。
Tutorial.step
第 2 步:规划您的自动化
在编写配置之前,让我们规划一下我们的自动化将做什么:
自动化详情
- 内容:发送每日简报消息
- 时间:每天早上 9:00
- 方式:使用 OpenClaw 代理生成并发送简报
- 位置:发送到您连接的渠道 (Telegram, WhatsApp 等)
了解 Cron 语法
Cron 使用基于时间的计划格式:
Cron Format
┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday) │ │ │ │ │ * * * * *
0 9 * * *
每天早上 9:00
0 */6 * * *
每 6 小时
0 9 * * 1
每周一早上 9:00
*/15 * * * *
每 15 分钟
Tutorial.step
第 3 步:创建您的自动化
现在让我们将自动化添加到您的 OpenClaw 配置中。
第 3.1 步:打开配置文件
打开您的 OpenClaw 配置文件:
Open Configuration
nano ~/.openclaw/openclaw.json # or use your preferred editor
第 3.2 步:添加 Cron 配置
将 cron 部分添加到您的配置中。这是一个完整的示例:
Automation Configuration
{
"agents": {
"defaults": {
"model": { "primary": "anthropic/claude-opus-4-5" }
}
},
"cron": {
"enabled": true,
"jobs": [
{
"name": "Daily briefing",
"cron": "0 9 * * *",
"message": "Create my daily briefing for today. Include: weather summary, calendar events, and any important reminders.",
"session": "isolated"
}
]
}
}它的作用:
"cron": "0 9 * * *"- 每天早上 9:00 运行"message"- 发送给代理的消息
代理将处理该消息并将响应发送到您连接的渠道。
Tutorial.alert.tip
您可以自定义消息,在每日简报中要求任何您想要的内容——新闻摘要、任务列表、天气、日历事件等。
Tutorial.step
第 4 步:保存并重启
添加自动化配置后:
- 保存配置文件
- 重启网关以加载新的自动化
Restart Gateway
# If running as service: openclaw gateway restart # Or if running manually, stop and restart: openclaw gateway --port 18789 --verbose
网关现在将加载您的 cron 任务并根据您的时间表进行安排。
Tutorial.step
第 5 步:测试您的自动化
您不必等到早上 9 点才进行测试!让我们验证它是否有效:
方法 A:立即测试
手动运行命令进行测试:
Test Automation
openclaw agent --message 'Create my daily briefing for today. Include: weather summary, calendar events, and any important reminders.'
这应该触发与您的自动化发送相同的响应。检查您连接的渠道以查看消息。
方法 B:使用短时间表测试
为了测试,您可以临时更改时间表以提高运行频率:
Test Schedule (Every 5 Minutes)
{
"cron": {
"jobs": [
{
"schedule": "*/5 * * * *",
"command": "agent --message 'Test briefing'"
}
]
}
}测试后记得将其改回您想要的时间表!
Tutorial.step
第 6 步:验证自动化是否正在运行
检查您的自动化是否已正确安排:
检查网关日志
在网关日志中查找指示已加载 cron 任务的消息:
View Logs
# If running as service, check logs: openclaw gateway logs # Or check system logs (macOS): log show --predicate 'process == "openclaw"' --last 5m
等待预定时间
如果您设置在特定时间运行,请等到该时间并检查您的渠道以查看自动化消息。
Tutorial.alert.success
如果您在预定时间收到自动化消息,则说明您的自动化工作正常!
Tutorial.step
更多自动化示例
示例 1:每周总结
Weekly Summary
{
"cron": {
"jobs": [
{
"schedule": "0 18 * * 5",
"command": "agent --message 'Create a weekly summary of my accomplishments and tasks completed this week.'"
}
]
}
}每周五下午 6:00 运行。
示例 2:提醒检查
Reminder Check
{
"cron": {
"jobs": [
{
"schedule": "0 8 * * *",
"command": "agent --message 'Check my calendar and remind me of any important events or deadlines today.'"
}
]
}
}每天早上 8:00 运行。
示例 3:多个自动化
Multiple Jobs
{
"cron": {
"jobs": [
{
"schedule": "0 9 * * *",
"command": "agent --message 'Daily briefing'"
},
{
"schedule": "0 18 * * *",
"command": "agent --message 'Evening summary'"
},
{
"schedule": "0 0 * * 1",
"command": "agent --message 'Weekly planning session'"
}
]
}
}管理具有不同时间表的多个任务。
故障排除
自动化未运行
如果您的自动化未运行:
- 检查 cron 语法:验证您的时间表格式是否正确
- 验证网关是否正在运行:
openclaw gateway status - 检查配置文件:确保 JSON 有效 (无语法错误)
- 查看网关日志:查找有关 cron 任务的错误消息
- 重启网关:有时需要重启才能加载新的自动化
时区错误
Cron 任务使用系统的时区。如果时间看起来不对:
- 检查系统时区:
date - 相应地调整您的时间表
- 或者在系统设置中设置特定的时区
命令未执行
如果命令未执行:
- 先手动测试命令 (不在 cron 中)
- 检查代理命令语法是否正确
- 验证您的渠道是否已连接 (用于消息传递)
Tutorial.step
后续步骤
现在您已经了解了自动化基础知识,请探索高级功能:
💓 使用心跳 (Heartbeat)
设置具有可配置间隔的持续监控。
最佳实践
- 从简单开始 - 在使用复杂的 webhooks 之前,先从基本的 cron 任务开始
- 先测试 - 在自动化之前,始终手动测试命令
- 监控日志 - 留意自动化执行日志
- 处理错误 - 确保自动化能够优雅地处理失败
- 注意频率限制 - 不要创建会触及 API 限制的自动化
- 保护 Webhooks - 如果使用 webhooks,请添加身份验证