什么是定时任务
定时任务是一种在适当时机触发 Agent 的机制,可以:- 在指定时间触发(例如每天早上 7 点)
- 按固定间隔触发(例如每 30 分钟)
- 在特定事件发生时触发(例如文件发生变化)
定时任务类型
定时任务主要分为三种类型:Heartbeat(按间隔执行)
按照固定时间间隔重复运行任务。- 配置时间间隔(例如每 30 分钟)
- 执行 HEARTBEAT.md 中定义的所有任务
- 适用于:
- 定期检查
- 监控工作流
- 批量处理
Scheduled Task(按时间/事件执行)
在指定时间或触发条件满足时运行任务。- 按时间触发的选项:
- 每日、每周、每月
- 单次执行
- 自定义间隔
- 按事件触发:
- File Watch(添加、修改或删除文件时触发)
Webhook(由外部事件触发)
Webhook 允许外部系统通过 HTTP POST 请求触发 Agent 任务。 Webhook 任务不会按照时间自动运行,而是在外部服务向生成的 Webhook 端点发送请求时执行。 常见使用场景:- 系统事件发生后触发 Agent 工作流
- 将 CodeBanana 与外部服务连接
- 根据第三方事件自动执行工作流
- CI/CD 系统触发 Agent 审查部署结果
- 监控系统发送警报,并要求 Agent 分析问题
- 外部应用触发报告生成工作流
如何选择
- 这是一次性任务或提醒吗?
- 是 → 使用 Scheduled Task
- 否 → 继续判断
- 任务需要在准确时间运行吗?
- 是 → 使用 Scheduled Task
- 否 → 继续判断
- 该任务可以与其他周期性检查合并吗?
- 是 → 使用 Heartbeat(将任务添加到 HEARTBEAT.md)
- 否 → 使用 Scheduled Task
- 任务由文件变化或事件触发吗?
- 是 → 使用 Scheduled Task(File Watch)
- 否 → 继续判断
- 任务由外部事件触发吗?
- 是 → 使用 Webhook
- 否 → 按照上述规则选择
配置
Heartbeat- 打开右侧面板中的开关,启用 Heartbeat
- 设置执行间隔(例如每 10 分钟、每 30 分钟等)
- 系统会在每个时间间隔自动执行 HEARTBEAT.md 中定义的所有任务
- 点击 HEARTBEAT.md 旁的 Edit 修改任务
- 点击 Reset 恢复默认配置
1
打开 Cron Job 面板

2
创建 Heartbeat 任务

- 点击 Create New Task 创建任务
- 定义决定任务何时运行的触发条件:
- Scheduled(按时间触发),可以选择:
- Daily — 每天在指定时间运行
- Weekly — 每周在指定日期和时间运行
- Monthly — 每月在指定日期和时间运行
- Once — 只运行一次
- Every — 按固定间隔运行
- File Watch(按事件触发),所选目录发生变化时触发:
- 创建文件
- 修改文件
- 删除文件,例如:从文件夹中删除 Excel 文件时触发任务
- Scheduled(按时间触发),可以选择:
- 配置执行流程
- 选择执行任务的模型,之后可以修改
- 定义任务触发后 Agent 应执行的操作
- 可以设置任何由 Agent 处理的自动操作或工作流

- 选择 Webhook 作为触发类型
- 点击 Create Webhook Task
- 配置:
- 任务名称
- 模型
- 执行流程



