cron-task 技能
定时任务管理技能,用于创建、查看、启用/禁用、删除定时任务。
概述
当用户需要设置周期性提醒、定时执行任务、或管理工作日/特定时间触发的自动化操作时使用此技能。
核心概念
| 概念 | 说明 |
|---|---|
| task-id | 定时任务的唯一标识,创建后自动生成 |
| name | 任务名称,用于识别和管理 |
| schedule | Cron 表达式,定义执行时间 |
| message | 任务触发时发送给智能体的消息内容 |
| target | 目标规则链 ID(默认 main) |
| agent-id | 目标智能体 ID(默认 main) |
Cron 表达式格式
格式:秒 分 时 日 月 周
┌───────────── 秒 (0-59)
│ ┌───────────── 分 (0-59)
│ │ ┌───────────── 时 (0-23)
│ │ │ ┌───────────── 日 (1-31)
│ │ │ │ ┌───────────── 月 (1-12)
│ │ │ │ │ ┌───────────── 周 (0-6, 0=周日)
│ │ │ │ │ │
* * * * * *特殊字符
| 字符 | 含义 | 示例 |
|---|---|---|
* | 任意值 | * * * * * * = 每秒 |
/ | 间隔 | */5 = 每 5 单位 |
- | 范围 | 1-5 = 1 到 5 |
, | 列举 | 1,3,5 = 1、3、5 |
常用表达式
| 表达式 | 描述 |
|---|---|
0 0 8 * * * | 每天早上 8 点 |
0 0 9 * * 1-5 | 工作日早上 9 点 |
0 */5 * * * * | 每 5 分钟 |
0 0 */2 * * * | 每 2 小时 |
0 30 12 * * * | 每天中午 12:30 |
0 0 18 * * 1,3,5 | 周一、三、五下午 6 点 |
0 0 9 1 * * | 每月 1 日早上 9 点 |
命令参考
列出定时任务
bash
tpclaw cron list # 列出所有定时任务
tpclaw cron list -a <agent-id> # 列出指定智能体的定时任务创建定时任务
bash
tpclaw cron create <name> -s <cron> -m <message> [options]参数说明:
| 参数 | 必须 | 说明 |
|---|---|---|
<name> | 是 | 任务名称 |
-s, --schedule | 是 | Cron 表达式 |
-m, --message | 是 | 任务消息内容 |
-t, --target | 否 | 目标规则链 ID(默认 main) |
-a, --agent-id | 否 | 目标智能体 ID(默认 main) |
查看任务详情
bash
tpclaw cron get <task-id>启用/禁用任务
bash
tpclaw cron enable <task-id> # 启用任务
tpclaw cron disable <task-id> # 禁用任务删除任务
bash
tpclaw cron delete <task-id>使用场景
场景 1:每日提醒
创建每天早上 8 点的提醒任务:
bash
tpclaw cron create "每日提醒" -s "0 0 8 * * *" -m "早上好!今天有什么计划?"场景 2:工作日打卡提醒
创建工作日早上 9 点的打卡提醒:
bash
tpclaw cron create "打卡提醒" -s "0 0 9 * * 1-5" -m "该打卡上班了!发送到最新活跃通道"场景 3:周期性状态检查
创建每 5 分钟执行一次的检查任务:
bash
tpclaw cron create "定时检查" -s "0 */5 * * * *" -m "检查系统状态,并发送到我飞书"场景 4:指定智能体的定时任务
为特定智能体创建定时任务:
bash
tpclaw cron create "工作提醒" -s "0 0 9 * * 1-5" -m "开始工作" -a my-agent场景 5:下班提醒
创建工作日下午 6 点的下班提醒:
bash
tpclaw cron create "下班提醒" -s "0 0 18 * * 1-5" -m "下班时间到了,记得整理今天的工作"任务管理流程
┌─────────────────────────────────────────────────────────────┐
│ 1. 创建任务(tpclaw cron create) │
│ ↓ │
│ 2. 任务自动启用,按计划执行 │
│ ↓ │
│ 3. 可选:禁用任务(tpclaw cron disable) │
│ ↓ │
│ 4. 可选:重新启用(tpclaw cron enable) │
│ ↓ │
│ 5. 不再需要时删除(tpclaw cron delete) │
└─────────────────────────────────────────────────────────────┘最佳实践
1. 命名规范
使用有意义且易于识别的任务名称:
- ✅
每日早报提醒 - ✅
工作日打卡提醒 - ✅
周报生成任务 - ❌
task1 - ❌
提醒
2. 消息内容
消息内容应该清晰明确,便于智能体理解任务意图:
- ✅
请生成今日早报并发送到我的飞书 - ✅
检查服务器状态,如有异常发送告警到我的飞书 - ❌
早报 - ❌
检查
3. 时间设置
- 避免设置过于频繁的任务(如每秒执行)
- 考虑时区影响
- 工作日任务使用
1-5而非手动列举
4. 任务维护
- 定期检查任务列表,清理不再需要的任务
- 使用
disable暂时停用而非直接删除 - 重要任务建议记录备份
常见问题
Q: 任务没有按时执行?
检查步骤:
- 确认任务已启用:
tpclaw cron list - 验证 Cron 表达式是否正确
- 确认智能体正在运行
Q: 如何修改已创建的任务?
目前需要删除后重新创建:
bash
tpclaw cron delete <old-task-id>
tpclaw cron create "新任务名" -s "新表达式" -m "新消息"Q: 任务消息可以包含复杂指令吗?
可以。消息内容会被发送给智能体,可以包含任意指令:
bash
tpclaw cron create "早报任务" -s "0 0 8 * * *" -m "请执行以下操作:1. 获取今日天气 2. 查看日程安排 3. 生成早报并发送"与消息发送技能配合
定时任务可以与消息发送技能配合使用,例如:
- 发送通知:定时触发后使用
message send发送消息到最新活跃通道 - 飞书消息:定时发送消息到飞书群
- 数据处理:定时执行数据分析和报告生成
- 系统监控:定时检查系统状态并发送告警
bash
# 定时发送飞书消息示例
tpclaw cron create "每日报告" -s "0 0 18 * * *" -m "使用 feishu-api 技能,发送今日工作总结到群组 oc_xxx"相关文档
- message-send 技能 - 消息发送
- feishu-api 技能 - 飞书 API 调用
- CLI 命令参考 - 完整 CLI 命令
