SuperAPI AI 工具集

task-manager

办公与效率

查看项目

更新于 10-15 08:49

技能介绍

用途

Task Manager 用于为用户创建和管理定时任务。当用户要求周期性执行某项操作(例如“每天早上9点总结我的邮件”)时,可以通过 Task HTTP API 创建计划任务。

识别任务意图

当用户表达以下类似语句时,应识别为定时任务需求:

  • “每天/每周/每小时……”
  • “提醒我……”
  • “在上午9点,做……”
  • “安排一个任务……”
  • “定期检查……”
  • “设置一个 cron job……”
  • “创建一个周期性……”
  • “设置一个计时器……”

创建任务

使用 Task HTTP API(运行在网关端口上):

curl -X POST http://localhost:$PORT/api/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "name": "daily-summary",
    "schedule": "0 9 * * *",
    "prompt": "Summarize the key updates from today",
    "enabled": true,
    "target": {
      "channel": "feishu",
      "chatId": "oc_xxxx"
    }
  }'

校验

创建任务前需确认:

  • schedule 字段是合法的 5 字段 cron 表达式。
  • prompt 非空,且足够具体,以便在无人值守运行时产生有用的输出。
  • 如果提供了 target,则 channel 为必填;chatId 可选(若省略,结果会发送到该渠道上所有已知会话)。
  • 如果 API 返回错误(非 2xx 状态码),应向用户报告失败及错误信息,而不是假定成功。

TaskRecord 结构

字段 类型 必填 说明
name string 是 人类可读的任务名称
schedule string 是 cron 表达式(见下文)
prompt string 是 任务触发时发送给智能体的提示词
enabled boolean 否 默认:true
target object 否 结果投递位置
target.channel string 是* 渠道名称:feishu、dingtalk、wecom、slack、telegram、discord、weixin
target.chatId string 否 会话/对话 ID。若省略,则发送到该渠道上所有已知会话

常用 cron 表达式

表达式 含义
0 9 * * * 每天上午 9:00
0 9 * * 1-5 工作日(周一至周五)上午 9:00
*/30 * * * * 每 30 分钟
0 */2 * * * 每 2 小时
0 9 * * 1 每周一上午 9:00
0 0 1 * * 每月第一天午夜

其他 API 端点

  • GET /api/tasks — 列出所有任务
  • PATCH /api/tasks/:id — 更新任务(部分更新)
  • DELETE /api/tasks/:id — 删除任务
  • POST /api/tasks/:id/run — 立即执行任务

适用场景

适用于需要按固定时间或周期自动触发智能体执行某项操作的场景,例如每日摘要、周期性检查、定时提醒等,并将结果投递到指定渠道。

限制

  • schedule 必须为合法的 5 字段 cron 表达式。
  • prompt 必须非空且足够具体。
  • 提供 target 时 channel 必填。
  • 其他限制暂未提供。