简要总结
Automation Troubleshooting
这页说明书是帮你解决“小机器人”不听话的问题。有时候,你设置好的小机器人(我们叫它“自动化任务”)该干活的时候不干活,或者干活了却没把消息送出去。这页纸就是教你像小侦探一样,用几个简单的命令去检查它哪里“生病”了,然后把它修好。
五岁小孩版解释
这页纸是专门帮你解决小机器人(自动化任务)的麻烦的。小机器人主要有两种:一种是按时间表干活的“计划任务”(cron),另一种是像心脏一样规律跳动的“心跳检查”(heartbeat)。当它们不按你想的去做时,我们就来这里找办法。
首先,我们来当小侦探,用一些“检查咒语”看看小机器人整体健康不健康。你要按顺序在电脑的命令行里输入这些命令:
- 看看小机器人的状态:输入
openclaw status和openclaw gateway status。这就像问它:“嘿,你醒着吗?身体还好吗?” - 看看小机器人的日记:输入
openclaw logs --follow。这就像翻开它的日记本,看看它最近在想什么、做了什么。 - 让小机器人自己检查身体:输入
openclaw doctor。这就像带它去看医生,让它自己说出哪里不舒服。 - 检查送信的通道:输入
openclaw channels status --probe。小机器人干活后,常常需要把结果“送信”出去。这个命令就是检查送信的信道通不通。 - 专门检查计划任务和心跳:输入
openclaw cron status,openclaw cron list和openclaw system heartbeat last。这能让你知道计划任务有没有打开,下一次什么时候干活,以及上一次心跳检查是什么时候。
如果计划任务(cron)到时间了却不干活,我们可以这样检查:
- 先用
openclaw cron status和openclaw cron list看看任务是不是“开启”状态,时间设置对不对。 - 再用
openclaw cron runs --id <jobId> --limit 20看看这个任务最近20次尝试干活的结果。这里的<jobId>要换成你那个小机器人的真正名字(ID)。 - 同时,别忘了用
openclaw logs --follow看日记,找找错误信息。 如果一切正常,你会看到任务状态是“开启”,并且有下一次干活的时间。如果看到“scheduler disabled”(计划员被关掉了)或者“timer tick failed”(计时器出错了),那可能就是它不干活的原因。
如果计划任务干活了,但消息没送出去,我们要检查送信环节:
- 用
openclaw cron runs --id <jobId> --limit 20确认任务干活结果是“ok”(成功)。 - 检查这个任务是不是设置了要把消息送到外面去(比如通过某个“频道”)。
- 用
openclaw channels status --probe检查送信的频道是不是连接好了。 如果任务成功了但送信模式是“none”(不送),那它本来就不会往外发消息。如果送信的目标(比如频道地址)错了,或者频道的“钥匙”(权限)不对,消息也会被卡住。
如果心跳检查(heartbeat)被跳过或者不跳了,我们可以看看:
- 用
openclaw system heartbeat last看看上一次心跳是什么结果。 - 用
openclaw config get agents.defaults.heartbeat检查心跳功能是不是开着,间隔时间是不是大于零。 - 同样,用日记和检查频道的命令帮忙。 心跳可能因为一些原因休息,比如:在“安静时间”内、小机器人正在忙别的事、或者没有重要的事情要报告。这有时候是正常的。
要小心时间和时区这个小怪兽! 时间没设对,小机器人就会在错误的时间干活。
- 用
openclaw config get agents.defaults.heartbeat.activeHours等命令,检查心跳的“活跃时间”和时区设置。 - 用
openclaw cron list看看计划任务的时区对不对。 记住哦:如果没专门设置时区,小机器人会用电脑的本地时间。如果你在中国,但时区设成了美国时间,那小机器人就会在你睡觉的时候干活啦!所以,一定要检查这里。