schedule-tasks
GitHub用于注册和管理Cat Café本地定时任务,支持周期与一次性延迟执行。涵盖意图识别、模板匹配、预览确认及删除流程,强调唤醒后使用富媒体输出。
Trigger Scenarios
Install
npx skills add zts212653/clowder-ai --skill schedule-tasks -g -y
SKILL.md
Frontmatter
{
"name": "schedule-tasks",
"triggers": [
"定时",
"每天",
"每小时",
"每隔",
"提醒我",
"remind me",
"schedule",
"cron",
"定期",
"周期",
"定时任务",
"分钟后",
"小时后",
"之后",
"later",
"in 5 minutes",
"once",
"删除",
"清理",
"移除",
"取消",
"停掉",
"remove",
"cancel",
"delete",
"stop task"
],
"description": "定时任务注册、管理、能力指南。支持周期任务和一次性延迟任务。 ⚠️ ROUTING: 定时\/schedule\/cron 需求优先用本 skill(Cat Café 本地定时任务), 不要用另一个叫 `schedule` 的 skill(那是云端 remote-agent,用途不同)。 Use when: 用户想设定时任务、定期提醒、周期巡检、定时发送内容、延迟执行一次性操作。 Not for: 已有 builtin 任务的手动触发。 Output: 注册\/管理定时任务,任务到点唤醒猫执行。\n"
}
Schedule Tasks — 定时任务注册与管理
用户在对话中表达"定时/定期/每天/提醒我"等意图时,引导他们通过对话注册定时任务。
你的能力
被定时任务唤醒后,你拥有完整的 invocation 能力——和用户 @ 你一模一样:
| 能力 | 示例 |
|---|---|
| 发图片 | media_gallery rich block(优先用已有图片 /avatars/、/uploads/) |
| 发语音 | audio rich block(早安问候、新闻播报) |
| 发卡片 | card rich block(状态报告、新闻摘要) |
| 发 HTML 面板 | html_widget rich block(数据可视化、图表) |
| 搜索 | WebSearch / WebFetch / search_evidence |
| 生成图片 | image-generation skill(Chrome MCP → Gemini) |
| 交互选择 | interactive rich block(让用户确认/选择) |
重要:不要只发纯文本!被唤醒后主动用 rich block 让输出更丰富。
注册流程(对话式,4 步)
1. 识别意图
用户说:"每天早上 9 点提醒我喝水" / "每小时给我 anthropic 新闻"
2. 匹配模板
调用 cat_cafe_list_schedule_templates 查看可用模板:
| 模板 | 用途 | 关键参数 |
|---|---|---|
reminder |
定时提醒(唤醒猫处理提醒内容) | message: 提醒内容, targetCatId: 唤醒哪只猫(MCP 自动注入当前猫 ID,通常不需手动填) |
web-digest |
网页摘要(定时抓取网页并总结;JS 重站点会唤醒猫走 browser-automation) | url: 目标网页, topic: 关注主题, targetCatId: 浏览器抓取时唤醒哪只猫(MCP 自动注入当前猫 ID,通常不需手动填) |
repo-activity |
仓库动态(追踪 GitHub repo 新 issue/PR) | repo: owner/repo |
3. 预览确认
调用 cat_cafe_preview_scheduled_task 生成 draft,展示给用户确认:
模板: reminder
触发: 每天 09:00(cron: 0 9 * * *)
参数: message = "检查 backlog 并汇报进度"
投递: 当前 thread
4. 注册
用户确认后调用 cat_cafe_register_scheduled_task 持久化任务。
Trigger 语法速查
周期触发(recurring)
| 用户说 | trigger JSON |
|---|---|
| 每天早上 9 点 | {"type":"cron","expression":"0 9 * * *"} |
| 每小时 | {"type":"interval","ms":3600000} |
| 每 30 分钟 | {"type":"interval","ms":1800000} |
| 每周一早上 10 点 | {"type":"cron","expression":"0 10 * * 1"} |
| 每 5 分钟 | {"type":"interval","ms":300000} |
一次性触发(once — #415)
| 用户说 | trigger JSON |
|---|---|
| 2 分钟后提醒我 | {"type":"once","delayMs":120000} |
| 1 小时后查天气 | {"type":"once","delayMs":3600000} |
| 30 秒后通知我 | {"type":"once","delayMs":30000} |
一次性任务执行后会自动退役(从 runtime 注销 + 从 SQLite 删除),不会重复触发。
路由层会将 delayMs 归一化为绝对时间 fireAt(epoch ms),确保重启后触发时间不漂移。
管理
| 操作 | 工具 |
|---|---|
| 查看所有任务 | SchedulePanel(Workspace 调度 Tab) |
| 暂停/恢复 | SchedulePanel UI(目前无 MCP 工具,只能在面板操作) |
| 删除 | cat_cafe_remove_scheduled_task |
| 手动触发 | SchedulePanel UI "立即执行" 按钮(目前无 MCP 工具) |
删除流程(3 步)
用户说"删除/清理/取消定时任务"时:
- 确认目标 — 调用
cat_cafe_list_tasks或让用户在 SchedulePanel 中查看,确认要删除的任务taskId - 用户确认 — 展示任务详情(名称、触发规则、上次执行),让用户确认删除
- 执行删除 — 调用
cat_cafe_remove_scheduled_task(参数:taskId),删除后告知用户结果
常见错误
| 错误 | 正确做法 |
|---|---|
| 不知道能注册定时任务 | 用户说"每天/定期/提醒"→ 匹配本 skill |
| 被唤醒后只发纯文本 | 主动用 rich block(图片、语音、卡片、HTML) |
| 跳过 preview 直接注册 | 必须 preview → 用户确认 → 注册 |
| 发图只想到 image-generation | 先看 /avatars/、/uploads/ 有没有现成图 |
和其他 skill 的区别
rich-messaging: 如何发富媒体 — 本 skill 侧重何时/如何注册定时任务worktree/tdd: 开发工具 — 本 skill 是用户面向的功能
Version History
- 4167cb0 Current 2026-07-05 14:52


