toclaw支持四种定时任务配置方式:一、内置cron调度器,通过config.yaml启用并设置时间表达式与任务名;二、系统crontab调用cli命令;三、webhook接收外部http触发;四、docker容器结合脚本与重启策略模拟定时执行。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望让ToClaw工具在无人干预的情况下按计划自动执行爬取、数据导出或API调用等任务,则需正确配置其内置的定时任务机制。以下是实现该目标的具体操作路径:
一、使用ToClaw内置Cron调度器
ToClaw原生集成轻量级Cron引擎,支持类Unix时间表达式语法,在本地服务持续运行前提下可稳定触发预设动作。
1、打开ToClaw主程序目录下的config.yaml文件。
2、在scheduler:节点下添加如下字段:
3、设置enabled: true启用调度功能。
4、配置cron: "0 0 * * *" 表示每天凌晨0点执行一次任务。
5、指定job: "export_to_csv"为待执行的预定义任务名称。
二、通过系统级crontab调用ToClaw CLI
当ToClaw以命令行模式部署时,可借助操作系统原生定时服务实现跨会话持久运行,不依赖GUI进程存活。
1、在终端中执行crontab -e进入编辑模式。
2、新增一行:0 6 * * * /usr/local/bin/toclaw run --task=fetch_news --output=/data/daily
3、保存并退出,系统将自动加载新规则。
4、验证是否生效:执行systemctl status cron确认服务处于active状态。
三、绑定Webhook触发远程定时任务
ToClaw支持HTTP回调接口接收外部调度指令,适用于与第三方任务编排平台(如Apache Airflow、Node-RED)集成的场景。
1、启动ToClaw时启用Web服务:toclaw serve --port=8081 --enable-webhook
2、获取Webhook地址:http://localhost:8081/api/v1/webhook/trigger
3、向该地址发送POST请求,Body中包含JSON格式的{"task": "scrape_product", "params": {"url": "https://example.com"}}
4、在外部调度平台中配置固定时间向此端点发起请求。
四、利用Docker容器的健康检查与重启策略模拟定时行为
在容器化部署环境中,可通过组合Docker的restart: on-failure与脚本退出机制,使ToClaw单次任务结束后自动终止并由守护进程拉起下一轮执行。
1、编写run_once.sh脚本,内容为toclaw run --task=backup_logs && exit 0
2、构建Docker镜像时将该脚本设为ENTRYPOINT。
3、运行容器时添加参数:--restart=on-failure:5 --health-cmd="exit 0"
4、设置容器内定时器:每1800秒执行一次run_once.sh











