Cron 调度器——让 Agent 按时上班
主动型 AI 的最后一块拼图
Cron Job 把 MateClaw 的整套能力翻译成「时间触发」。三个组件串在一起:
- Cron Job(mate_cron_job 表):一个定时任务一行——cron 表达式 + Agent + 目标渠道
- Agent 跑一遍:触发时间到了,调度器拉起 Agent 上下文,跑一整套工具链
- 结果通过渠道交付:Agent 输出自动落到你预设的 IM 渠道
整个过程没人值守。
怎么配
控制台 → 定时任务 → 新建,三步:
- Cron 表达式:标准六段 cron(秒 分 时 日 月 周),UI 里有图形化编辑器可以点选
- Agent:选一个已经配好工具和 system prompt 的 Agent(注意:定时任务里跑的 Agent 不会走交互式审批——Tool Guard 照样生效,但需要审批的工具调用会直接拒绝,不会挂起等人工)
- 结果交付:选一个已配置的渠道(飞书 / 钉钉 / Slack / 企业微信 / Telegram / 任意其他)
保存。下次触发时间一到,Agent 就开始上班。
别配 100 个 cron
和模型管理一样——你不需要 100 个定时任务,你需要一个真的有用的。先做「早上 9 点的简报」,跑两周看哪些信息你真的会读、哪些是噪音,再加第二个。
失败重试与审计
Cron 执行失败(Agent 跑崩、渠道推送超时等)会自动重试(指数退避)。每次执行都进审计日志——哪个任务在什么时候、花了多久、做了什么、结果是什么,全有记录。
底层数据(给好奇的人)
| 表 | 用途 |
|---|---|
| mate_cron_job | 每个定时任务一行 |
| mate_cron_job_run | 每次执行一行——开始/结束时间、状态、输出摘要、错误信息 |