OpenClawSkills
GitHub
教程 • 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,请添加身份验证