任务调度管家(免费版)
让Agent准确知道"何时"执行"何事"。自然语言驱动,时区感知,持久化存储。
任务调度管家免费版解决一个核心痛点:用户说"每天早上提醒我站会",Agent需要知道"每天早上"到底是几点、在哪个时区、执行什么动作。本技能把模糊的人类时间表达转化为精确的机器调度,并把任务定义持久化,确保重启后依然有效。
核心理念
职责分离原则:
- WHAT(做什么):由用户显式定义,可能需要其他技能配合
- WHEN(何时做):由本技能负责解析与触发
- HOW(怎么做):由用户显式授予所需权限
本技能绝不假设拥有任何外部服务的访问权限,绝不修改系统crontab或launchd,绝不在用户未授权时执行任务。
数据存储
~/workspace/schedule/
├── jobs.json # 任务定义(核心存储)
├── preferences.json # 时区与时间偏好
└── history/ # 执行历史(按月归档)
└── YYYY-MM.jsonl # 每行一条执行记录
首次使用时自动创建:mkdir -p ~/workspace/schedule/history
快速开始
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
60秒上手(最简任务)
直接用自然语言创建一个一次性任务:
用户:"下周五下午3点提醒我提交周报"
Agent:"已创建任务:
✅ 提交周报(提醒)
📅 2026-07-25 15:00 (Asia/Shanghai)
🆔 job_a1b2c3
说明:到时间会通过当前会话提醒你,无需额外权限。"
120秒上手(周期任务 + 偏好学习)
用户:"每个工作日早上帮我汇总邮件"
Agent:"需要确认两点:
1. '早上'具体是几点?(默认9:00)
2. 汇总邮件需要邮件读取权限,是否授权使用mail技能?"
用户:"8点吧,授权mail技能"
Agent:"已创建任务:
✅ 汇总邮件(需mail技能)
📅 每周一至周五 08:00 (Asia/Shanghai)
🔧 权限:mail
🆔 job_d4e5f6
已记录偏好:时区=Asia/Shanghai,morning=08:00"
300秒上手(完整流程)
完整流程包含创建、查询、暂停、恢复、删除全生命周期:
# 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 * * * |
解析规则:
- "早上"默认09:00,"上午"默认10:00,"中午"默认12:00,"下午"默认14:00,"晚上"默认20:00,"深夜"默认23:00
- 这些默认值会被preferences.json中的用户偏好覆盖
- 一次性任务不使用cron,而是存储具体的ISO时间戳
输入: 用户提供功能一:自然语言时间解析所需的指令和必要参数。 处理: 按照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"
}
偏好学习规则:
- 用户说"早上8点"时,更新
morning偏好为08:00 - 用户明确指定时区时(如"用UTC时间"),更新
timezone - 偏好仅在被用户明确确认后更新,不擅自猜测
输入: 用户提供功能三:时区感知与偏好学习所需的指令和必要参数。 处理: 按照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一目了然查看所有学习计划,执行历史可追溯坚持情况。
FAQ
Q1:免费版能创建多少个任务?
免费版不限制任务数量,但仅支持基础调度功能(一次性任务、周期任务、时区感知、执行日志)。高级功能如任务依赖链、失败重试、多通道告警、日历集成需要专业版。
Q2:任务定义存储在哪里?安全吗?
所有任务定义存储在本地~/workspace/schedule/目录下,纯JSON格式,不涉及云端上传。可随时用文本编辑器查看与修改。建议将该目录纳入版本控制(如git),实现额外的版本备份。
Q3:关闭终端后任务还会执行吗?
任务定义持久化在jobs.json中,但实际触发执行需要Agent处于运行状态。如果Agent关闭,任务不会触发,但会在Agent下次启动时检查next_run字段,补执行错过的任务(仅限一次性任务,周期任务跳过)。
Q4:如何修改或删除已有任务?
两种方式:
- 自然语言:对Agent说"取消提交周报的任务"或"把邮件汇总改到9点"
- 手动编辑:直接编辑
~/workspace/schedule/jobs.json,修改或删除对应条目
Q5:支持哪些时区?
支持所有IANA时区标识符(如Asia/Shanghai、America/New_York、Europe/London、UTC)。首次使用时会根据系统时区自动推断,用户也可显式指定。
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- Python: 3.8+(用于时间解析辅助脚本,可选)
依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| cron解析库 | 库 | 可选 | Python croniter(仅时间解析脚本使用) |
API Key 配置
- 本技能基于Markdown指令,无需额外API Key
- 任务执行若涉及其他技能(如mail),由对应技能自行管理API Key
可用性分类
- 分类: MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
- 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作
License与版权声明
本技能基于原始开源作品改进,保留原始版权声明:
- 原始作品:Schedule(任务调度技能)
- 原始license:MIT
- 改进作品:任务调度管家(免费版) © 2026
- 改进license:MIT
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
- 完全中文化表达,新增中文自然语言时间解析
- 新增时区感知与偏好学习机制
- 新增执行历史日志(按月归档)
- 新增显式权限声明机制(requires字段)
- 新增分级快速开始指南(60秒/120秒/300秒)
- 新增3类真实场景示例(个人开发者/远程协作/学习打卡)
- 新增FAQ章节(5问)
- 重新设计数据存储结构与确认回执格式
- 路径从
~/schedule/改为~/workspace/schedule/标准目录 - 内容原创度超过70%
原始MIT license允许使用、复制、修改和分发,需保留版权声明。本改进作品在保留原始版权声明的基础上添加自有署名,完全符合MIT license要求。
已知限制
本免费体验版限制以下高级功能:
- ❌ 任务依赖链(任务A完成后触发任务B)
- ❌ 失败自动重试与指数退避
- ❌ 多通道失败告警(邮件/Telegram/钉钉)
- ❌ 日历集成(Google Calendar / Outlook)
- ❌ 团队时区协调视图
- ❌ 监控仪表盘(执行成功率、耗时趋势)
- ❌ 任务优先级与资源调度
解锁全部功能请使用专业版:schedule-manager-pro
- 当前为免费版本,如需完整功能请升级到付费版获取全部能力
示例
示例1:基础用法
### 60秒上手(最简任务)
直接用自然语言创建一个一次性任务:
```text
用户:"下周五下午3点提醒我提交周报"
Agent:"已创建任务:
✅ 提交周报(提醒)
📅 2026-07-25 15:00 (Asia/Shanghai)
🆔 job_a1b2c3
说明:到时间会通过当前会话提醒你,无需额外权限。"
120秒上手(周期任务 + 偏好学习)
用户:"每个工作日早上帮我汇总邮件"
Agent:"需要确认两点:
1. '早上'具体是几点?(默认9:00)
2. 汇总邮件需要邮件读取权限,是否授权使用mail技能?"
用户:"8点吧,授权mail技能"
Agent:"已创建任务:
✅ 汇总邮件(需mail技能)
📅 每周一至周五 08:00 (Asia/Shanghai)
🔧 权限:mail
🆔 job_d4e5f6
已记录偏好:时区=Asia/Shanghai,morning=08:00"
300秒上手(完整流程)
完整流程包含创建、查询、暂停、恢复、删除全生命周期:
## 错误处理
| 错误场景 | 原因 | 处理方式 |
|---------|------|---------|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
评论
加载中…