인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
생산성 및 협업 · SKILL.md

scheduled-tasks

scheduled-tasks

当用户想"按时间表反复或定点做某事并自动推送结果"时使用——创建/查看/修改/暂停/删除定时(周期)任务。触发词:定时、周期、每天、每周、每月、每隔、到点、提醒我、自动发、cron、schedule、日报/周报/月报、按时推送。指导如何用定时任务工具正确设置 cron、执行内容与投递目标。

Independent GitHub snapshot · Automated classification · Original documentation governs

Zzju-real / hugagentosApache-2.0

Skill 문서

GitHub

name: scheduled-tasks description: 当用户想"按时间表反复或定点做某事并自动推送结果"时使用——创建/查看/修改/暂停/删除定时(周期)任务。触发词:定时、周期、每天、每周、每月、每隔、到点、提醒我、自动发、cron、schedule、日报/周报/月报、按时推送。指导如何用定时任务工具正确设置 cron、执行内容与投递目标。

定时任务管理

当用户表达"按时间表反复或定点执行某事,并把结果自动发给我/发到本会话/发到某群"的意图时, 必须用本插件提供的工具完成,不要自己编造"已创建"。

可用工具(来自「定时任务管理」插件)

  • create_scheduled_task(cron_expression, prompt, name, deliver_to) — 创建
  • list_scheduled_tasks(status) — 列出(用户问"我有哪些定时任务"时用)
  • get_scheduled_task(task_ref) — 详情 + 最近运行记录
  • update_scheduled_task(task_ref, cron_expression?, prompt?, name?) — 修改
  • pause_scheduled_task(task_ref) / resume_scheduled_task(task_ref) — 暂停/恢复
  • delete_scheduled_task(task_ref) — 删除/取消

铁律(务必遵守)

  1. 先调用工具,再回话。 在工具返回 ok: true 之前,绝不说"已创建/已修改/已删除/已设置"。
  2. 创建/修改/删除类请求必须落到工具调用,不要只用文字描述应付。
  3. 删除/修改时若 task_ref 匹配到多个任务(返回 need_clarification),先向用户确认具体是哪一个,禁止猜删。

cron 表达式(5 段:分 时 日 月 周,Asia/Shanghai 时区)

需求cron
每天 9:000 9 * * *
每天 16:1010 16 * * *
每周一 9:000 9 * * 1
每月 1 号 8:000 8 1 * *
每小时整点0 * * * *
每 5 分钟*/5 * * * *

把用户的口语时间("每天早上九点半""每周五下午六点")准确翻译成 cron。

prompt 要自包含

到点执行时没有当前对话上下文,所以 prompt 要写清"做什么、产出什么", 例如"汇总今天的销售数据并生成 Markdown 日报",而不是"汇总一下"。

结果发到哪(deliver_to,一般留空)

  • 留空(默认):自动——在飞书等渠道会话里创建 → 推回该会话;在网页里创建 → 到点生成一条 站内侧栏会话(和在「自动化」页面手动建任务一样)。绝大多数情况都留空。
  • "inapp":用户明确说"发到我的网页/站内/不要发群里"时用 → 只发站内。
  • 指定别的会话(用户说"往运营群/给某某发",而不是当前会话):
    1. 先调 list_channel_conversations 拿到会话列表(含 title 和 conversation_id);
    2. 按用户说的群名/对象匹配 title,取其 conversation_id;
    3. 作为 create_scheduled_task 的 deliver_to 传入。 不要凭空臆造 conversation_id,必须来自 list_channel_conversations。

判断"当前会话是哪个"不需要你猜——系统已按用户发消息的来源自动确定;你只在用户要发到别的会话时才需要 list + 指定。

要让任务产出并投递文件(文档/表格/PDF/PPT)

投递是自动的,你不用、也没有任何"发送文件"的工具可调;但有一条硬前提:到点执行是一次 全新、无上下文的 run,只有被 pin_to_workspace 固定到工作区的文件才会 ①留在「我的空间」 ②作为附件随投递目标(站内 / 飞书 / 钉钉 / 企微 / 微信会话,按 deliver_to)一起发出。没 pin 的文件不投递、只发文字。 这与渠道无关——飞书也好、站内也好,都是这一套。

所以当用户要"生成 XX 文档并发出去"时,prompt 必须写清"生成 XX 文档并交付"(不是只"汇总一下")。 办公技能(word/excel/ppt/pdf-editing)收尾本就会 pin_to_workspace,prompt 只要明确"要产出一个文件" 即可。例:prompt="汇总今天的工单生成 Markdown 日报文档并交付"。

典型流程

  1. 用户:"每天早上 9 点把昨天的工单汇总发我。"
  2. 你:调用 create_scheduled_task(cron_expression="0 9 * * *", prompt="汇总昨天的工单并生成简报", name="每日工单简报", deliver_to="here")。
  3. 工具返回 ok: true 后,再用自然语言告诉用户任务名、执行时间与投递目标。

执行位置与项目

  • 创建时明确展示执行位置(local 本机 / cloud 云端)、时区及关联项目。
  • 当前会话绑定本机目录项目时默认本机,并携带 project_id;普通联网任务默认云端。 用户已经指定位置时无需重复询问;无法判断时用提问工具确认。
  • 本机任务执行时电脑必须开机且桌面服务运行;云端不能直接读取本机路径。 需要本机目录但尚未绑定项目时,先让用户绑定目录项目,不得用路径文字替代项目绑定。
  • create_scheduled_task 支持 execution_location、project_id、timezone。 list/get/update/pause/resume/delete 工具支持 execution_location;后续操作沿用返回的任务位置, 名称有歧义时先列出两端任务并用 task_id 精确选择。
  • 混合模式列表会区分本机与云端;两端不可访问时如实说明,不声称已列全。
  • invalid tool effect receipt token 是操作凭证校验失败,不能通过换投递目标或重复创建绕过。 云端写操作结果未知时应核对回执,禁止换一个操作重复创建或声称临时故障稍后必然恢复。
저장한 Skills