早间自动简报:从天气到日程的晨起自动化

科技4小时前发布 muybien
0 0 0

早间自动简报:从天气到日程的晨起自动化

用OpenClaw打造你的专属晨起简报

每天早上醒来,你是否也经历着这样的碎片化信息轰炸?先看天气App,再查日历待办,还要刷一遍未读消息……等你真正开始工作,15分钟已经过去了。

用OpenClaw的定时任务,你只需花5分钟配置一次,就能每天准时收到一份定制化的晨起简报。这不是科幻,而是实实在在可以落地的自动化方案。

一、Cron表达式:定时任务的调度核心

要实现自动化简报,第一步是理解Cron表达式。OpenClaw采用标准的5位Cron格式,分别代表:分、时、日、月、周。

┌───────────── 分钟 (0-59)
│ ┌─────────── 小时 (0-23)
│ │ ┌───────── 日 (1-31)
│ │ │ ┌─────── 月 (1-12)
│ │ │ │ ┌───── 周几 (0-7,0和7都是周日)
│ │ │ │ │
* * * * *

看几个实用案例:

  • 0 7 * * * — 每天早上7:00准时执行
  • 30 6 * * 1-5 — 工作日6:30,适合早起用户
  • 0 8 * * 0,6 — 周末8:00,睡懒觉也不耽误

有一点特别提醒:Cron的周几字段中,0和7都代表周日。有些新手会在这里踩坑,以为1才是一周开始。

二、搭建早间简报工作流

现在进入实战环节。我们要在OpenClaw中创建一个完整的早间简报任务,包含三个核心模块:天气信息、日程待办、未读消息摘要。

步骤1:创建定时任务

# 在OpenClaw CLI中创建任务
claw task create morning-briefing \
  --schedule "0 7 * * *" \
  --name "晨起简报" \
  --timezone "Asia/Shanghai"

执行后你会得到一个任务ID,后续所有配置都绑定在这个ID上。

步骤2:编写简报生成脚本

创建一个Python脚本,实现三个数据源的聚合:

# morning_briefing.py
import requests
from datetime import datetime

# 配置你的API密钥(建议放在环境变量中)
WEATHER_API = os.environ.get('WEATHER_API_KEY')
CALENDAR_TOKEN = os.environ.get('CALENDAR_TOKEN')

def get_weather():
    """获取今日天气"""
    resp = requests.get(
        f"https://api.weather.com/v3/wx/conditions/current",
        params={"apiKey": WEATHER_API, "location": "Shanghai"}
    )
    data = resp.json()
    return {
        "temp": data['temp'],
        "condition": data['wxPhrase'],
        "humidity": data['humidity']
    }

def get_today_events():
    """获取今日日历事件"""
    resp = requests.get(
        "https://api.calendar.com/events",
        headers={"Authorization": f"Bearer {CALENDAR_TOKEN}"},
        params={"date": datetime.now().date(), "limit": 5}
    )
    return resp.json()['events']

def generate_briefing():
    """生成简报内容"""
    weather = get_weather()
    events = get_today_events()
    
    briefing = f"""
    ☀️ 早安!现在是{datetime.now().strftime('%H:%M')}
    
    📍 上海今日天气
    温度:{weather['temp']}°C
    状态:{weather['condition']}
    湿度:{weather['humidity']}%
    
    📅 今日日程 ({len(events)}个事件)
    """
    for e in events:
        briefing += f"\n    • {e['time']} - {e['title']}"
    
    return briefing

# 输出到钉钉/企业微信/飞书
def send_notification(content):
    """推送到即时通讯工具"""
    requests.post(
        "https://oapi.dingtalk.com/robot/send",
        json={"msgtype": "text", "text": {"content": content}}
    )

if __name__ == "__main__":
    briefing = generate_briefing()
    send_notification(briefing)
    print("简报已发送")

步骤3:关联脚本到定时任务

# 将脚本绑定到任务
claw task attach morning-briefing \
  --file morning_briefing.py \
  --runtime python3.11

# 设置环境变量(不暴露在脚本中)
claw task env set morning-briefing \
  WEATHER_API_KEY=your_key_here \
  CALENDAR_TOKEN=your_token_here

# 验证任务配置
claw task list --name morning-briefing

完成这三步后,每天早上7:00,OpenClaw会自动执行脚本,生成并推送简报到你的设备。

三、扩展:晚间汇总与监控告警

早间简报只是起点。把这套逻辑反过来,就是晚间汇总;加上阈值判断,就是监控告警。

晚间汇总:反向工作流

许多人习惯晚上复盘。用同样的思路,创建一个22:00的晚间汇总任务:

claw task create evening-summary \
  --schedule "0 22 * * *" \
  --name "晚间汇总"

# 晚间汇总脚本逻辑
def evening_summary():
    today_events = get_completed_events()  # 今日完成事项
    tomorrow_forecast = get_forecast(days=1)  # 明日天气
    pending_tasks = get_pending_tasks()  # 未完成任务
    
    return f"""
    🌙 今日复盘 - {datetime.now().strftime('%Y-%m-%d')}
    
    ✅ 已完成:{len(today_events)}项
    📋 待办:{len(pending_tasks)}项
    ☔ 明日天气:{tomorrow_forecast['condition']} {tomorrow_forecast['temp']}°C
    
    早点休息,明天继续!
    """

监控告警:智能阈值触发

定时任务加上一层条件判断,就变成了监控告警系统。例如监控服务器磁盘使用率:

# disk_monitor.py
import psutil

def check_disk_usage():
    for partition in psutil.disk_partitions():
        usage = psutil.disk_usage(partition.mountpoint)
        percent = usage.percent
        
        # 超过80%告警
        if percent > 80:
            send_alert(
                f"⚠️ 磁盘告警\n"
                f"分区:{partition.mountpoint}\n"
                f"使用率:{percent}%\n"
                f"剩余空间:{usage.free / (1024**3):.1f} GB"
            )
            
# 每小时检查一次
claw task create disk-monitor \
  --schedule "0 * * * *" \
  --file disk_monitor.py

这个模式可以延伸到CPU负载、内存占用、API响应时间等各种监控场景。核心逻辑始终是:定时执行 → 数据采集 → 条件判断 → 触发动作。

四、实战技巧与避坑指南

经过大量用户实践,总结出几个关键经验:

  • 时区必须明确指定:服务器默认UTC时间,如果你在北京,忘记设置timezone会出现6-8小时偏差。上文示例中的--timezone "Asia/Shanghai"就是解决方案。
  • 重试机制很重要:网络请求可能失败。用OpenClaw的任务重试配置,设置--retry 3 --retry-delay 30s,避免一次失败就错失关键告警。
  • 日志要定期清理:每个任务都会生成执行日志,长期积累占用空间。配置日志保留策略:claw task log --retention 7d,保留最近7天即可。
  • 敏感信息放环境变量:API密钥、Token绝对不要硬编码。使用环境变量不仅安全,还方便在不同环境间切换。

最后一个小技巧:如果某天你不需要简报(比如出差或休假),可以在OpenClaw中临时禁用任务,而不必删除配置:

# 暂停任务
claw task pause morning-briefing

# 恢复任务
claw task resume morning-briefing

总结

OpenClaw的定时任务功能,本质上是一个可靠的任务调度器。配合Cron表达式实现精准时间控制,配合脚本实现灵活的数据处理和消息推送,你可以在这个基础上搭建出各种自动化场景。

从早间简报开始,尝试搭建你的第一个自动化工作流。5分钟的配置,换来每天省下的15分钟碎片时间,以及一个永远不会忘、永远不会迟到的信息助手。

整理自 OpenClaw 官方文档 | 2026年06月25日

© 版权声明

相关文章

暂无评论

none
暂无评论...