这是 OpenClaw 最经典的入门自动化场景之一:每天早上你还没拿起手机,它已经查好了今天的天气、整理好了你的日程,打包成一条消息发到你的 Telegram 或微信。你刷手机的第一眼,就知道今天要穿什么、几点有会议。

不需要写代码,配置一次,以后每天自动运行。

本文完整演示如何搭建这个早报系统。更多资源请访问 OpenClaw 中文版官网

一、先搞清楚这件事是怎么运作的

OpenClaw 的自动化早报依赖两个机制的配合:

Cron 定时任务:OpenClaw 内置了一套 Cron 系统,可以在指定时间触发 AI 执行任务。语法和 Linux Cron 完全一致,支持精确到分钟的时间控制,支持时区设置,支持”只在工作日执行”等规则。

技能(Skills):Cron 触发后,AI 需要工具来获取天气和日历数据。weather 技能提供天气查询接口,日历集成(Google Calendar 或其他)提供日程数据。

整个流程是:

每天 07:00 → Cron 触发 → AI 调用 weather 技能查天气
                        → AI 查询今日日历事件
                        → AI 整理成一条早报消息
                        → 发送到你指定的频道(Telegram / 微信等)

你不在场,不需要做任何事,它自己跑完整个流程。

二、前置准备:确认这几件事已经就绪

1. OpenClaw 已在运行且连接了消息渠道

openclaw gateway status   # 应显示 Running
openclaw channels status  # 应看到 Telegram / 微信等渠道已连接

2. 安装 weather 技能

# 通过 ClawHub 安装
openclaw plugins install clawhub:weather

# 安装后重启
openclaw daemon restart

# 验证
/tools
# 应看到 weather 在可用工具列表中

weather 技能使用 wttr.in 作为免费天气数据源,无需 API Key,开箱即用。

3. 如果需要日历集成,配置好 Google Calendar 或其他日历

如果你只想要天气早报,这步可以跳过。如果想加入今日日程,需要把 Google Calendar 连接到 OpenClaw(具体步骤在第四节)。

三、最简版本:只有天气,3 分钟搞定

先从最简单的开始——只发天气,确认整个机制跑通之后,再加日程。

方式一:通过 CLI 命令添加(最快)

openclaw cron add \
  --name "morning-weather" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --message "查询今天上海的天气预报,包括气温范围、降水概率和穿衣建议,用简洁的方式告诉我" \
  --announce

参数解释:

  • --name:任务名称,随便取,方便以后管理
  • --cron "0 7 * * *":每天 7:00 执行(标准 Cron 表达式,分 时 日 月 星期)
  • --tz "Asia/Shanghai":使用上海时区(不设置会按 Gateway 所在服务器时区)
  • --message:触发后发给 AI 的指令
  • --announce:任务完成后把结果发到你的频道

方式二:通过 openclaw.json 配置(更灵活)

{
  "crons": [
    {
      "id": "morning-weather",
      "name": "每日天气早报",
      "cron": "0 7 * * *",
      "tz": "Asia/Shanghai",
      "message": "查询今天上海的天气预报,包括气温范围、降水概率和穿衣建议,用简洁的方式告诉我",
      "announce": true,
      "session": "isolated"
    }
  ]
}

"session": "isolated" 很重要——它让这个定时任务在独立会话中运行,不会污染你平时和 AI 的对话历史,也防止上下文无限积累。

验证配置是否生效

# 查看所有 Cron 任务
openclaw cron list

# 手动触发一次,测试效果(不等到明天 7 点)
openclaw cron run morning-weather

# 观察日志
openclaw logs --follow

手动触发后,稍等几秒,你的 Telegram 或微信应该收到一条天气报告。如果收到了,恭喜——最简版已经跑通。

四、加入日程:连接 Google Calendar

想在天气之后顺带列出今天的日程?需要让 OpenClaw 能访问你的 Google Calendar。

方法一:Gmail Pub/Sub(官方推荐,支持实时事件)

如果你的 OpenClaw 连接了 Gmail,并且启用了 Gmail Pub/Sub,OpenClaw 可以直接通过 Gmail 渠道访问 Google Calendar 数据,无需额外配置。

{
  "channels": {
    "gmail": {
      "enabled": true,
      "pubsub": true
    }
  }
}

方法二:在 Cron 任务里直接让 AI 查询 Calendar MCP

如果你安装了 Google Calendar MCP 插件,AI 在执行 Cron 任务时可以直接调用它:

openclaw plugins install clawhub:google-calendar-mcp

安装后,Cron 任务的 message 可以写成:

"查询今天(亚洲/上海时区)的 Google Calendar 事件列表,以及今天上海的天气预报(含气温范围、是否有雨、穿衣建议),整理成一条早报发给我。格式:先天气,再今日日程(按时间排序),最后一句今日提醒"

方法三:如果用 Notion 或其他日历

同理,安装对应的 MCP 或技能,然后在 Cron message 里指示 AI 去查询:

"从我的 Notion 日历页面读取今天的日程……"
"从 Fantastical 导出的 ics 文件里读取今天的事件……"

OpenClaw 的 AI 足够灵活,能从各种来源获取信息,你只需要让 AI 知道去哪里找。

五、完整早报版本:天气 + 日程 + 今日提醒

下面是一个完整的”每日早报”Cron 配置,包含天气、日程和一句今日激励:

{
  "crons": [
    {
      "id": "morning-briefing",
      "name": "每日早报",
      "cron": "0 7 * * *",
      "tz": "Asia/Shanghai",
      "session": "isolated",
      "announce": true,
      "message": "现在是早上 7 点,帮我生成今天的早报。包含三个部分:\n\n1. 【今日天气】查询上海今天的天气,包括最高最低气温、降水概率、体感温度,以及穿衣建议(一句话)。\n\n2. 【今日日程】从我的日历里获取今天所有的会议和任务,按时间顺序列出,标注地点(如有)。如果今天没有日程,就说"今天暂无安排"。\n\n3. 【今日一句】随机生成一句简短的正向提醒或有用的小知识,不超过 20 字。\n\n整体格式简洁,适合手机快速阅读,不要使用大量 markdown 格式符号。"
    }
  ]
}

添加后验证并手动触发一次:

openclaw daemon restart
openclaw cron list
openclaw cron run morning-briefing

效果大概长这样:

🌤️ 今日天气
上海 今天多云转晴,18~26℃,降水概率 10%
体感温度较低,建议穿轻薄外套

📅 今日日程
10:00  产品周会(腾讯会议)
14:30  和 @李明 1:1 沟通
17:00  代码 Review

💡 今日一句
深呼吸,一次只做一件事。

六、进阶配置:工作日专用 + 周末特别版

只在工作日发早报

{
  "id": "weekday-briefing",
  "cron": "0 7 * * 1-5",   // 1-5 表示周一到周五
  "tz": "Asia/Shanghai",
  "message": "今天是工作日,帮我生成早报……",
  "announce": true,
  "session": "isolated"
}

周末发不一样的早报

{
  "id": "weekend-briefing",
  "cron": "0 8 * * 6,0",   // 6 = 周六,0 = 周日(周末晚一小时)
  "tz": "Asia/Shanghai",
  "message": "今天是周末,帮我生成一份轻松版早报:今天天气如何,有什么适合的户外活动,以及一个今天可以尝试的小创意或放松方式",
  "announce": true,
  "session": "isolated"
}

给不同城市做多份早报

如果你经常出差,或者家人在不同城市,可以配置多个任务:

{
  "crons": [
    {
      "id": "shanghai-briefing",
      "cron": "0 7 * * *",
      "tz": "Asia/Shanghai",
      "message": "查询上海今天的天气……",
      "announce": true,
      "session": "isolated"
    },
    {
      "id": "beijing-briefing",
      "cron": "0 7 * * *",
      "tz": "Asia/Shanghai",
      "message": "查询北京今天的天气……",
      "announce": true,
      "session": "isolated"
    }
  ]
}

七、Cron 任务管理常用命令

配置好之后,这几条命令够你日常管理所有定时任务:

# 查看所有 Cron 任务和状态
openclaw cron list

# 立刻手动触发某个任务(测试用)
openclaw cron run morning-briefing

# 暂停某个任务(不删除)
openclaw cron pause morning-briefing

# 恢复暂停的任务
openclaw cron resume morning-briefing

# 删除某个任务
openclaw cron remove morning-briefing

# 查看某个任务的历史运行记录
openclaw cron logs morning-briefing

# 编辑任务(支持修改时间、message 等)
openclaw cron edit morning-briefing --cron "30 7 * * *"   # 改为 7:30

v2026.4.1 之后,也可以用 /tasks 命令直接在聊天窗口里查看所有后台任务的运行状态,包括最近的 Cron 任务执行结果。

八、常见问题排查

任务到时间了没有触发

最常见原因是时区没有设置,或者设置了错误的时区。检查:

openclaw cron list
# 查看任务的 next run 时间,确认是否是你期望的本地时间

# 如果时间不对,重新设置时区
openclaw cron edit morning-briefing --tz "Asia/Shanghai"

另一个原因:Gateway 在任务触发时没有运行。确保 Gateway 以 launchd(macOS)或 systemd(Linux)守护进程方式运行,开机自启动:

openclaw gateway install   # 注册为系统服务

任务触发了但消息没发出来

openclaw cron logs morning-briefing
openclaw logs --follow

查看日志,确认是 AI 执行失败(模型报错)还是消息投递失败(渠道断线)。如果是渠道问题:

openclaw channels status --probe

天气查出来了但日程是空的

AI 没有访问日历的权限或工具。检查 Google Calendar 集成是否正确安装,或者直接在 message 里改成一个不依赖日历的版本先跑通,再逐步加入日历功能。

想收到通知但消息发到了主会话而不是 Telegram

检查 announce 的投递目标。默认情况下,announce: true 会发到触发 Cron 任务的渠道(通常是你最近活跃的渠道)。如果需要指定发到某个特定渠道,可以用 --deliver 参数或在配置里指定:

{
  "id": "morning-briefing",
  "deliver": "telegram",
  ...
}

总结:搭建早报的完整步骤

  1. 安装 weather 技能:openclaw plugins install clawhub:weather
  2. (可选)配置日历集成:Google Calendar MCP 或 Gmail Pub/Sub
  3. 添加 Cron 任务:写好 message(告诉 AI 要查什么、怎么整理),设置时间和时区
  4. 手动触发测试:openclaw cron run morning-briefing
  5. 确认消息正确发到你的频道
  6. 确保 Gateway 已注册为系统服务,能开机自启动

整个配置不超过 15 分钟。配置完成后,这个早报会每天准时出现在你手机里,不需要你再做任何操作。

这是 OpenClaw 最典型的价值呈现方式——不是你问它答,而是它主动把有用的信息整理好送到你面前。

想了解更多 OpenClaw 自动化场景配置,欢迎访问 OpenClaw 中文版官网