Install
openclaw skills install @thcjp/schedule-manager-freeopenclaw skills install @thcjp/schedule-manager-free让Agent准确知道"何时"执行"何事"。自然语言驱动,时区感知,持久化存储。
任务调度管家免费版解决一个核心痛点:用户说"每天早上提醒我站会",Agent需要知道"每天早上"到底是几点、在哪个时区、执行什么动作。本技能把模糊的人类时间表达转化为精确的机器调度,并把任务定义持久化,确保重启后依然有效。
职责分离原则:
本技能绝不假设拥有任何外部服务的访问权限,绝不修改系统crontab或launchd,绝不在用户未授权时执行任务。
~/workspace/schedule/
├── jobs.json # 任务定义(核心存储)
├── preferences.json # 时区与时间偏好
└── history/ # 执行历史(按月归档)
└── YYYY-MM.jsonl # 每行一条执行记录
首次使用时自动创建:mkdir -p ~/workspace/schedule/history
直接用自然语言创建一个一次性任务:
用户:"下周五下午3点提醒我提交周报"
Agent:"已创建任务:
✅ 提交周报(提醒)
📅 2026-07-25 15:00 (Asia/Shanghai)
🆔 job_a1b2c3
说明:到时间会通过当前会话提醒你,无需额外权限。"
用户:"每个工作日早上帮我汇总邮件"
Agent:"需要确认两点:
1. '早上'具体是几点?(默认9:00)
2. 汇总邮件需要邮件读取权限,是否授权使用mail技能?"
用户:"8点吧,授权mail技能"
Agent:"已创建任务:
✅ 汇总邮件(需mail技能)
📅 每周一至周五 08:00 (Asia/Shanghai)
🔧 权限:mail
🆔 job_d4e5f6
已记录偏好:时区=Asia/Shanghai,morning=08:00"
完整流程包含创建、查询、暂停、恢复、删除全生命周期:
# 1. 创建任务(自然语言)
# 直接对Agent说:"每天晚上10点备份我的笔记到D盘"
# 2. 查看所有任务
cat ~/workspace/schedule/jobs.json
# 3. 查看执行历史
tail -20 ~/workspace/schedule/history/2026-07.jsonl
# 4. 暂停任务(手动编辑jobs.json,将enabled改为false)
# 5. 恢复任务(将enabled改回true)
# 6. 删除任务(从jobs.json移除对应条目)
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
支持中英文混合的时间表达,自动转化为标准cron表达式。
| 用户表达 | 解析结果 | cron表达式 |
|---|---|---|
| 每天早上 | 每日 09:00(默认) | 0 9 * * * |
| 每周一上午 | 每周一 10:00(默认) | 0 10 * * 1 |
| 工作日9点 | 周一至周五 09:00 | 0 9 * * 1-5 |
| 每月1号 | 每月1日 00:00 | 0 0 1 * * |
| 下周五下午3点 | 一次性 2026-07-25 15:00 | 一次性任务 |
| 每隔2小时 | 每2小时执行 | 0 */2 * * * |
| 每天8点和20点 | 每日 08:00、20:00 | 0 8,20 * * * |
解析规则:
输入: 用户提供功能一:自然语言时间解析所需的指令和必要参数。 处理: 按照skill规范执行功能一:自然语言时间解析操作,遵循单一意图原则。 输出: 返回功能一:自然语言时间解析的执行结果,包含操作状态和输出数据。
所有任务存储在~/workspace/schedule/jobs.json:
{
"daily_email_summary": {
"cron": "0 8 * * 1-5",
"task": "汇总今日邮件,列出前5封重要邮件",
"requires": ["mail"],
"timezone": "Asia/Shanghai",
"enabled": true,
"created": "2026-07-18",
"last_run": null,
"next_run": "2026-07-21T08:00:00+08:00",
"id": "job_d4e5f6"
},
"weekly_report_reminder": {
"type": "once",
"datetime": "2026-07-25T15:00:00+08:00",
"task": "提醒:提交本周周报",
"requires": [],
"enabled": true,
"created": "2026-07-18",
"id": "job_a1b2c3"
}
}
字段说明:
cron/datetime:周期任务用cron,一次性任务用datetimerequires:显式声明该任务需要的技能与权限enabled:是否启用(false表示暂停)next_run:下次执行时间(ISO 8601带时区)输入: 用户提供功能二:任务定义持久化所需的指令和必要参数。 处理: 按照skill规范执行功能二:任务定义持久化操作,遵循单一意图原则。 输出: 返回功能二:任务定义持久化的执行结果,包含操作状态和输出数据。
首次创建任务后,自动在preferences.json记录用户偏好:
{
"timezone": "Asia/Shanghai",
"time_preferences": {
"morning": "08:00",
"noon": "12:00",
"afternoon": "14:00",
"evening": "20:00",
"night": "23:00"
},
"notification_style": "concise",
"created_at": "2026-07-18"
}
偏好学习规则:
morning偏好为08:00timezone输入: 用户提供功能三:时区感知与偏好学习所需的指令和必要参数。 处理: 按照skill规范执行功能三:时区感知与偏好学习操作,遵循单一意图原则。 输出: 返回功能三:时区感知与偏好学习的执行结果,包含操作状态和输出数据。
每次任务执行后,记录到~/workspace/schedule/history/YYYY-MM.jsonl:
{"id":"job_d4e5f6","ts":"2026-07-21T08:00:00+08:00","status":"success","duration_ms":1200,"summary":"汇总了12封邮件,5封重要"}
{"id":"job_d4e5f6","ts":"2026-07-22T08:00:00+08:00","status":"failed","duration_ms":3000,"error":"mail技能未授权","retry":0}
日志字段:
status:success / failed / skippedduration_ms:执行耗时error:失败原因(若失败)summary:执行摘要(若成功)输入: 用户提供功能四:执行历史日志所需的指令和必要参数。 处理: 按照skill规范执行功能四:执行历史日志操作,遵循单一意图原则。 输出: 返回功能四:执行历史日志的执行结果,包含操作状态和输出数据。
每次创建、修改、删除任务后,返回统一格式的回执:
✅ [用户请求的任务描述]
📅 [执行时间] ([时区])
🔧 [所需权限/技能,若无则省略此行]
🆔 [任务ID]
输入: 用户提供功能五:确认回执格式所需的指令和必要参数。 处理: 按照skill规范执行功能五:确认回执格式操作,遵循单一意图原则。 输出: 返回功能五:确认回执格式的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:自然语言驱动的定、时任务管理、支持一次性与周期、时区感知与执行日、Agent、准确知道何时执行、任务调度管家免费、提供轻量但可靠的、任务调度能力、用户用自然语言描、做什么、何时做、本技能负责把模糊、解析为标准、并持久化到本地、确保任务定义在会、话重启后依然存在、Use、when、需要项目管理、任务规划、进度跟踪、团队协作时使用、不适用于实际人员、绩效评估等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
input_params参数,支持创建/查询/导出操作痛点:独立开发者容易沉浸编码忘记休息、忘记站会、忘记提交代码。
配置:
"每天下午5点提醒我提交代码并push"
"每周五下午4点提醒我写周报"
"每工作日中午12点提醒我午休"
效果:Agent在指定时间主动提醒,无需手动设置手机闹钟。任务定义持久化,即使关闭终端重新打开依然有效。
痛点:跨时区团队协作时,容易搞错对方当地时间,导致在不合适的时间发送消息。
配置:
"每周二晚上9点(北京时间)提醒我与纽约团队同步,对方时间是早上9点"
效果:Agent自动换算时区,在回执中同时显示两个时区的时间,避免打扰对方休息。
痛点:制定学习计划但忘记执行,缺乏外部提醒。
配置:
"每天晚上8点提醒我复习英语单词30分钟"
"每周六上午10点提醒我做一套模拟题"
"每天早上7点提醒我背5个新单词"
效果:多任务并行管理,通过jobs.json一目了然查看所有学习计划,执行历史可追溯坚持情况。
免费版不限制任务数量,但仅支持基础调度功能(一次性任务、周期任务、时区感知、执行日志)。高级功能如任务依赖链、失败重试、多通道告警、日历集成需要专业版。
所有任务定义存储在本地~/workspace/schedule/目录下,纯JSON格式,不涉及云端上传。可随时用文本编辑器查看与修改。建议将该目录纳入版本控制(如git),实现额外的版本备份。
任务定义持久化在jobs.json中,但实际触发执行需要Agent处于运行状态。如果Agent关闭,任务不会触发,但会在Agent下次启动时检查next_run字段,补执行错过的任务(仅限一次性任务,周期任务跳过)。
两种方式:
~/workspace/schedule/jobs.json,修改或删除对应条目支持所有IANA时区标识符(如Asia/Shanghai、America/New_York、Europe/London、UTC)。首次使用时会根据系统时区自动推断,用户也可显式指定。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| cron解析库 | 库 | 可选 | Python croniter(仅时间解析脚本使用) |
本技能基于原始开源作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
~/schedule/改为~/workspace/schedule/标准目录原始MIT license允许使用、复制、修改和分发,需保留版权声明。本改进作品在保留原始版权声明的基础上添加自有署名,完全符合MIT license要求。
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:schedule-manager-pro
### 60秒上手(最简任务)
直接用自然语言创建一个一次性任务:
```text
用户:"下周五下午3点提醒我提交周报"
Agent:"已创建任务:
✅ 提交周报(提醒)
📅 2026-07-25 15:00 (Asia/Shanghai)
🆔 job_a1b2c3
说明:到时间会通过当前会话提醒你,无需额外权限。"
用户:"每个工作日早上帮我汇总邮件"
Agent:"需要确认两点:
1. '早上'具体是几点?(默认9:00)
2. 汇总邮件需要邮件读取权限,是否授权使用mail技能?"
用户:"8点吧,授权mail技能"
Agent:"已创建任务:
✅ 汇总邮件(需mail技能)
📅 每周一至周五 08:00 (Asia/Shanghai)
🔧 权限:mail
🆔 job_d4e5f6
已记录偏好:时区=Asia/Shanghai,morning=08:00"
完整流程包含创建、查询、暂停、恢复、删除全生命周期:
## 错误处理
| 错误场景 | 原因 | 处理方式 |
|---------|------|---------|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |