定时任务(Cron)
- 英文名:scheduled_tasks(实现包名建议 schedule)
来源 docs/core-mechanisms/定时任务/定时任务.md
- 英文名:
scheduled_tasks(实现包名建议schedule) - 中文名:定时任务
- 对标:OpenClaw Scheduled tasks(Gateway 内建 Cron;Cadau 自研,不调用 OpenClaw)
用户为 自己的智能体 设定「到点提醒」或「到点自动跑一轮」:仅提醒经 服务通知 触达;自动执行写入 该次定时会话(智能体未读),不再另发服务通知。与 任务(TASKS.md,静态注入)不同;与 记忆锻造(管理员知识反哺)无关。
分阶段落地:见 ../记忆锻造与定时任务实施计划.md(ST 轨道)。
目标
- 到点 提醒 用户(可不调用模型)。
- 到点 自动执行 智能体一轮(预设指令,结果写入会话)。
- 支持 一次性、固定间隔、Cron 表达式(带时区)。
- 每次执行 可审计、可回看(执行历史)。
与相邻能力
| 能力 | 区别 |
|---|---|
| 任务 | 无调度;对话时节选 TASKS.md |
| 服务通知 | 仅 提醒类 到点产生通知;自动执行类靠定时会话未读,用户 创建 的仍是 Cron job |
| 记忆锻造 | 管理员离线分析对话;不写入用户 Cron |
| OpenClaw Heartbeat | 近似周期巡检主会话;Cadau 首期不做,与用户 Cron 分工同 OpenClaw 文档 |
用户可见能力(规格意图)
- 在 智能体详情 → 定时 新建/编辑/暂停/删除任务。
- 类型:仅提醒 / 自动执行(到点智能体按指令回复)。
- 时间:指定时刻一次;或每天/每周/自定义重复。
- 到点后:仅提醒收到 服务通知;自动执行在消息里出现一条新的定时会话(可点开看完整回复)。
- 查看 最近执行记录 与失败原因。
OpenClaw 映射(实现参考)
| OpenClaw | Cadau |
|---|---|
at | schedule_kind=at |
every | schedule_kind=every |
cron + --tz | schedule_kind=cron + timezone |
session isolated | 每任务固定会话,每 run 一轮独立 transcript 或 cron:{task_id} |
--announce | 提醒→服务通知;自动执行→会话未读(可选移动推送后期) |
cron runs | agent_scheduled_task_runs |
cron run <id> | POST .../scheduled-tasks/{id}/run-now |
治理(企业 SaaS)
- 绑定 用户 + 工作区 + 智能体;不可跨账号读取。
- 内置帮助智能体 不提供用户 Cron(避免与产品引导混淆)。
- 自动执行 默认不开放 联网/文件等高风险工具;工作区策略可覆盖。
- 配额:每用户 active 任务数、单次
timeout_seconds、最小重复间隔。 - 审计:
user_agent.schedule.create|update|delete|run。
当前已落地
- 数据模型:
agent_scheduled_tasks、agent_scheduled_task_runs(SQLite 迁移于db.Open)。 - 调度器:进程内 ticker(
SCHEDULE_ENABLED,默认开启;SCHEDULE_TICK_INTERVAL默认 30s)。 - API:
GET/POST/PATCH/DELETE /api/v1/user-agents/{id}/scheduled-tasks,POST .../run-now,GET .../runs。 - 执行:
reminder→ 服务通知;agent_run→ 内部 chat 编排并新建定时会话(不发服务通知;API 默认allow_tools=false;Web 创建「自动执行」默认勾选允许工具,便于取数/写文件)。 - 重复:
at(一次性/相对时间如5m)、every(≥300s)、cron+ IANA 时区。 - 前端:智能体详情 → 「定时」 Tab(
AgentScheduledPanel);功能菜单 定时任务。 - 对话工具(ST-5):工作智能体可用
schedule_list/schedule_create/schedule_delete;创建与删除须confirm=true(先预览再确认)。定时到点执行轮次不注入这些工具。 - 记忆锻造自动扫描(管理员侧):
MEMORYFORGE_AUTO_SCAN_ENABLED+MEMORYFORGE_AUTO_SCAN_INTERVAL。
相关机制
- 服务通知.md — 触达通道
- 智能体记忆.md — 自动执行后的记忆副作用(可选门控)
- 记忆锻造/记忆锻造.md — 勿与 Cron 混淆