docs/tools/scheduler.mdx
创建和管理动态定时任务,支持灵活的调度方式和执行模式。
| 依赖 | 安装命令 |
|---|---|
croniter ≥ 2.0.0 | pip install croniter>=2.0.0 |
安装核心依赖时已包含:pip3 install -r requirements.txt
| 方式 | 说明 |
|---|---|
| 一次性任务 | 在指定时间执行一次 |
| 固定间隔 | 按固定时间间隔重复执行 |
| Cron 表达式 | 使用 Cron 语法定义复杂调度规则 |
通过自然语言即可创建和管理定时任务:
定时任务在隔离 session 中执行(内部规划与 tool 调用不污染用户会话),但最终输出会作为一对消息回写到接收者的真实会话,用户可以直接追问"刚才那条第二点展开说说"。
默认策略
配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
scheduler_inject_to_session | true | 总开关 |
scheduler_inject_max_per_session | 3 | 每会话保留 scheduler 消息对数上限 |
scheduler_inject_send_message | false | 是否同时注入固定消息类任务 |
{
"scheduler_inject_to_session": true,
"scheduler_inject_max_per_session": 3,
"scheduler_inject_send_message": false
}
定时任务的隔离 session 会保留最近几次执行的对话历史,便于做"对比上次"、"延续之前结论"等操作;但为了避免高频任务(如每 5 分钟监控)prompt 越积越长,会按公式自动裁剪:
scheduler_keep_turns = max(1, agent_max_context_turns / 5)
agent_max_context_turns 默认为 20,所以定时任务每次执行默认带最近 4 轮历史。需要更长记忆可调大 agent_max_context_turns。