定时任务 API

创建与管理定时任务的 API。支持间隔、每日、每周三种触发方式,任务持久化并由 Agent 执行。

任务类型

支持三种触发类型,config 字段存放各类型专属参数。

interval  {"minutes": 60}                     每 60 分钟执行一次
daily     {"hour": 9, "minute": 0}             每天 09:00 执行
weekly    {"weekdays": [0, 2], "hour": 9, "minute": 0}  每周一、三 09:00 执行

weekday 取值:0=周一 … 6=周日

创建任务

Create Task

POST /api/scheduler
Content-Type: application/json

{
  "name": "每日天气播报",
  "task_type": "daily",
  "prompt": "查询北京今天的天气并播报",
  "config": { "hour": 8, "minute": 30 },
  "enabled": true,
  "session_id": null
}

Response: {
  "success": true,
  "task": { "id": "task_xxx", "name": "每日天气播报", "type": "daily", "enabled": true }
}

管理任务

List Tasks

GET /api/scheduler
Response: { "success": true, "tasks": [ ... ] }

Get Task

GET /api/scheduler/{task_id}
Response: { "success": true, "task": { ... } }

Update Task

PUT /api/scheduler/{task_id}
Body: { "name": "...", "prompt": "...", "config": { ... }, "enabled": true }
Response: { "success": true, "task": { ... } }

Delete Task

DELETE /api/scheduler/{task_id}
Response: { "success": true }

Toggle Task

PATCH /api/scheduler/{task_id}/toggle
Response: { "success": true, "enabled": false }

调度统计

Task Stats

GET /api/scheduler/stats
Response: {
  "success": true,
  "stats": { "total": 5, "enabled": 3, "running": 0, "failed": 1 }
}

Execution History

GET /api/scheduler/history/list?limit=20
Response: { "success": true, "history": [ { "task_id": "...", "status": "success", "started_at": "..." } ] }

自然语言调度

也可以直接用自然语言让 Agent 创建任务,它会自动调用调度工具。