OpenClaw 定时任务完全指南(自动推送消息到微信)

OpenClaw 定时任务完全指南(自动推送消息到微信)

📝 文章导读

想要每天早上自动收到天气推送?想要重要事件自动提醒到微信?想要定时执行脚本并把结果发给自己?OpenClaw 帮你搞定!这篇教程包含完整的安装、配置、测试步骤,还有可以直接用的脚本模板。30 分钟就能搭建好自己的自动化系统。

✨ 本文特点:每个步骤都有详细命令和说明,附带截图位置提示,跟着操作一定能成功。


🎯 本文你将学到

  • ✅ OpenClaw 的实际应用场景和能解决什么问题
  • ✅ 完整的配置步骤,每一步都有可复制的命令
  • ✅ 常见问题的排查方法和解决方案
  • ✅ 最佳实践和注意事项,避免踩坑
  • ✅ 可以直接使用的脚本模板和配置示例

⏱️ 预计阅读时间:15-20 分钟 | 难度等级:⭐⭐ 入门级 | 实践时间:约 30 分钟


📦 准备工作

  • 一台能运行 OpenClaw 的设备(电脑、服务器、树莓派都可以)
  • Node.js 18 或更高版本
  • 微信账号(接收消息用)
  • 大约 30 分钟时间

📋 详细操作步骤

下面是完整的操作步骤,每一步都有详细说明和可复制的命令。建议从头到尾按顺序操作,不要跳步。
如果遇到任何问题,可以查看后面的常见问题解答部分。

步骤 1:安装 OpenClaw

OpenClaw 支持多种安装方式。最简单的是用 npm 全局安装:npm install -g openclaw。也可以用 Docker:docker run openclaw/openclaw。安装完成后,输入 openclaw –version 检查是否成功。

步骤 2:配置微信渠道

OpenClaw 需要通过特定渠道发送微信消息。如果是个人使用,可以用 WeChat 机器人方案;企业用户可以用企业微信。配置信息保存在 ~/.openclaw/config.yaml 文件里。

步骤 3:创建第一个定时任务

用 crontab 创建定时任务。输入 crontab -e 编辑,添加一行:0 8 * * * /path/to/script.sh。这表示每天早上 8 点执行脚本。记得脚本要用绝对路径。

步骤 4:编写推送脚本

创建一个 shell 脚本,获取天气、新闻或其他信息,然后用 OpenClaw 发送到微信。脚本可以是 shell、Python、Node.js 任何你熟悉的语言。

步骤 5:测试和调试

先手动运行脚本,确认能正常发送消息。然后等待定时时间,检查是否自动执行。如果没收到消息,查看日志文件找问题。

步骤 6:添加更多任务

用同样的方法,可以添加更多定时任务:整点报时、股票提醒、待办事项、系统监控等。每个任务一个脚本,互不干扰。


💻 代码和命令示例(可直接复制)

下面是完整的代码和命令示例,每个都有详细说明。点击代码块右上角的复制按钮,粘贴到终端或编辑器中即可使用。

步骤 1:安装 OpenClaw

# 方法 1:npm 全局安装
npm install -g openclaw

# 方法 2:Docker 安装
docker pull openclaw/openclaw
docker run -d openclaw/openclaw

# 验证安装
openclaw --version
# 应该显示版本号,如 1.0.0

步骤 2:配置文件示例 (~/.openclaw/config.yaml)

channels:
  weixin:
    enabled: true
    type: wechat-robot
    config:
      botToken: "your-bot-token"
      receiver: "your-wechat-id"

logging:
  level: info
  file: /var/log/openclaw.log

步骤 3:创建定时任务

# 编辑 crontab
crontab -e

# 添加以下行(每天早上 8 点执行)
0 8 * * * /home/user/scripts/morning-notify.sh >> /var/log/morning-notify.log 2>&1

# 添加后保存退出(nano: Ctrl+X, Y, Enter)

# 查看已配置的定时任务
crontab -l

步骤 4:天气推送脚本(morning-notify.sh)

#!/bin/bash
# 每天早上推送天气和待办事项

# 获取天气(用 wttr.in 免费 API)
CITY="Beijing"
WEATHER=$(curl -s "wttr.in/${CITY}?format=3")

# 获取今天的日期
DATE=$(date +%Y-%m-%d)
WEEKDAY=$(date +%A)

# 组合消息
MESSAGE="☀️ 早上好!今天是 ${DATE} ${WEEKDAY}
📍 城市:${CITY}
🌡️ 天气:${WEATHER}

💡 提醒:记得带伞/防晒/添衣(根据天气调整)

祝你有美好的一天!"

# 用 OpenClaw 发送到微信
openclaw message send \
  --channel weixin \
  --to "@your-wechat-id" \
  --message "$MESSAGE"

echo "[$(date)] 天气推送完成"

步骤 5:给脚本添加执行权限

# 添加执行权限
chmod +x /home/user/scripts/morning-notify.sh

# 手动测试运行
/home/user/scripts/morning-notify.sh

# 检查是否收到微信消息

步骤 6:查看执行日志

# 实时查看日志
tail -f /var/log/morning-notify.log

# 查看今天的日志
grep "$(date +%Y-%m-%d)" /var/log/morning-notify.log

# 查看 OpenClaw 日志
tail -f /var/log/openclaw.log

额外示例:系统监控推送脚本

#!/bin/bash
# 监控服务器资源,异常时推送告警

# 获取 CPU 使用率
CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)

# 获取内存使用率
MEM=$(free | grep Mem | awk '{printf("%.1f", $3/$2 * 100.0)}')

# 获取磁盘使用率
DISK=$(df -h / | tail -1 | awk '{print $5}' | cut -d'%' -f1)

# 告警阈值
CPU_THRESHOLD=80
MEM_THRESHOLD=80
DISK_THRESHOLD=90

# 检查是否超过阈值
ALERT=""
if (( $(echo "$CPU > $CPU_THRESHOLD" | bc -l) )); then
    ALERT="${ALERT}⚠️ CPU 使用率过高:${CPU}%\n"
fi

if (( $(echo "$MEM > $MEM_THRESHOLD" | bc -l) )); then
    ALERT="${ALERT}⚠️ 内存使用率过高:${MEM}%\n"
fi

if (( $(echo "$DISK > $DISK_THRESHOLD" | bc -l) )); then
    ALERT="${ALERT}⚠️ 磁盘使用率过高:${DISK}%\n"
fi

# 如果有告警,发送消息
if [ -n "$ALERT" ]; then
    MESSAGE="🚨 服务器告警\n\n${ALERT}\n请及时处理!"
    openclaw message send --channel weixin --to "@your-id" --message "$MESSAGE"
fi

📸 操作效果截图说明

为了让你更清楚每个步骤的效果,建议在操作时参考以下截图位置。实际操作中,你可以自己截图保存,方便以后回顾或遇到问题时求助。

📸 截图 1 – 步骤 1

OpenClaw 安装成功的终端截图,显示版本号的输出

📸 截图 2 – 步骤 3

crontab -l 的输出截图,显示已配置的定时任务列表

📸 截图 3 – 步骤 5

微信收到的天气推送消息截图,显示完整的消息内容

📸 截图 4 – 步骤 6

日志文件的截图,显示脚本执行的时间戳和状态

💡 提示:实际文章中会插入真实的操作截图,让你更直观地看到每一步的效果。


⚠️ 注意事项和最佳实践

下面是操作过程中需要特别注意的地方,建议仔细阅读,能帮你避免很多坑:

  • 定时任务记得用绝对路径,相对路径会找不到文件
  • 日志文件定期清理,避免占满磁盘:find /var/log -name “*.log” -mtime +30 -delete
  • 重要操作前备份配置文件,可以用 git 管理配置
  • 测试时先用分钟级定时任务,确认正常后再改成每天
  • 脚本里涉及密码和密钥的,用环境变量而不是硬编码

❓ 常见问题解答(FAQ)

根据经验,初学者经常会遇到以下问题。如果你的问题不在这里,可以在评论区留言,我会尽快回复。

Q1:定时任务不执行怎么办?

A:检查 crontab 服务是否运行:systemctl status cron,查看日志找错误

Q2:微信收不到消息怎么办?

A:检查 OpenClaw 配置是否正确,手动运行脚本测试,查看 OpenClaw 日志

Q3:可以用 Python 写脚本吗?

A:可以,任何语言都行,只要能在命令行执行并调用 OpenClaw 命令


📝 总结

通过本文的完整学习,你已经掌握了OpenClaw从入门到实践的全部技能。现在你可以:

  • ✅ 独立完成完整的配置和部署
  • ✅ 复制文中的命令和脚本直接使用
  • ✅ 根据自己的实际需求调整和扩展
  • ✅ 排查和解决常见的问题

💬 有问题?欢迎在评论区留言,我会尽快回复!如果觉得这篇文章对你有帮助,也请分享给需要的朋友。

📚 进阶学习:想深入学习更多技能?关注本站,后续会发布更多实战教程。


本文原创内容,转载请注明出处 | 更新时间:2026 年 4 月 | 作者:技术教程团队

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注