第6关·Hermes Agent智能体实战
第5节:让Hermes自动工作——定时任务(Cron)

---
一、学习目标(这节课学完你能做什么?)
1. 理解定时任务是什么——知道它到底能帮你省多少事
2. 能创建第一个定时任务——亲手给自己的Hermes排个班
3. 会设置Cron表达式——那个看起来像天书的五个数字,其实超简单
4. 能用定时任务实现自动推送——到点了,它自己发,不用你管
---
二、开场引入:为啥要学这个?
各位老板、各位会员朋友,大家好!欢迎来到第6关第5课。
今天这课之前,先讲个故事。
王老板的\"三天打鱼\"
我们协会有个会员,王老板,在文山开了一家土特产店,专卖三七、石斛这些。他在群里说:\"我每天早上都在客户群里发早安问候,效果特别好,客户都说暖心。\"
我说:\"那坚持了多久了?\"
他说:\"嗯……三天。\"
第三天就没坚持住了。原因很简单——第一天还记得,第二天定了闹钟,第三天闹钟响了正忙着发货,心想\"等会儿再发\",然后就没有然后了。第四天想起来了,觉得\"断了一天了,重新开始吧\"——然后又坚持了两天,又断了。
各位,你们有没有过这种经历?不只是发早安,还有——
不是你不勤快,是这种事真的不该人来做。
人就会忘,人就会忙,人就会被其他的事情打断。这是人性,不是你的问题。
但机器不会忘。机器到了点,它就干活。你过年它干活,你睡觉它干活,你出去旅游它干活。一天不落,一年不落。
这就是定时任务的意义——把那些\"应该每天做但总是忘记做\"的事情,交给机器去做。
你说那我能设个手机闹钟提醒自己呀。但闹钟只能提醒你,不能替你干活。闹钟响了,你还得编辑文字、复制粘贴、找到群、发出去。定时任务不一样——它闹钟都不用响,直接帮你把活干了。
---
#### 我们协会自己的数据——不是吹的
好,光说理论你可能觉得我在画饼。来,我们直接上数据。这是咱们文山州互联网协会自己跑了几个月的数据,一个数字不吹:
**AI早报:** 每天06:00自动抓取新闻→精编→推送到群里。已经稳定跑了42天,一天没断。
**整点报时:** 每天09:00到21:00,每小时整点推一条经典金句到群里。已经跑了300多次。
**每日话题:** 每天10:00自动出讨论话题,推送到交流群。已经跑了23天。
**前端巡检:** 每天08:00自动检查协会网站能不能正常访问。已经跑了30天。
**系统健康检查:** 每天07:00自动检查服务器运行状态。已经跑了29天。
累计执行超过4000次,零故障。
看到这些数字什么感觉?你想想,如果这些事全部要一个人来做——每天早上6点起来整理新闻、每到整点发金句、每天去检查网站……这个人一天啥也不用干了,光干这些事就够呛。而且他还会生病、会请假、会忘记。
但Hermes干了4000多次,一次没掉链子。
这就是定时任务的价值——**一次设置,长期自动运行。你只管当甩手掌柜,它到点干活。**
好,有没有被说服?要是觉得这个功能你需要,那就跟着我往下走。
---
三、核心讲解
#### 1. 什么是定时任务?到点自动干活的员工
定时任务这个词,听起来有点技术。但我换个说法你就懂了。
定时任务 = 到点自动干活的闹钟。
你设过闹钟吧?设好了,到点了,闹钟自己就响了,不需要你按什么按钮。定时任务也是一样——你告诉Hermes:\"每天早上8点,帮我发一条早安问候。\"Hermes记住了这个事,然后每天早上8点一到,它就自动执行这个任务。
你什么都不用做。睡觉也行、出门也行、忙别的也行。到点了它自己就干了。
跟手机闹钟有什么区别?
手机闹钟只能提醒你\"该干活了\",但活还得你自己干。定时任务不一样——它不只是提醒,它直接把活干了。闹钟响了你还得爬起来发早安,定时任务你不用起来,它自己发。
我再打个比方。
请了个员工 vs 买了个自动化机器
你店里的员工,你得告诉他什么时候干什么活。早上8点发早安、晚上10点关店。他可能迟到、可能忘记、可能心情不好不想发。
但如果你买了个自动化的机器呢?你设好程序,每天早上8点它自动打印早安传单、自动派发出去。它不会迟到、不会忘记、不会闹脾气。
定时任务就是那个自动化的机器。
什么时候用它最合适?
适合用定时任务的事情有三个特点:
第一,**固定的时间重复做。** 每天、每周、每月固定时间做的事——早安问候、发周报、出报表、检查网站。
第二,**不需要人工判断的事情。** 到点了直接干,不需要\"我看看今天状态好不好再决定要不要发\"。
第三,**你不做也没关系,但做了效果很好。** 早安问候就是这样——你每天发,客户觉得你贴心;你几天不发,人家觉得你不靠谱。但你自己又总是忘记发。
这三个特点全中?那这件事就适合交给定时任务。
好,概念搞清楚了。接下来我们看看怎么设置时间。
---
#### 2. Cron表达式——5个位置决定什么时候干活
好,现在到了很多人最怕的部分。
Cron表达式,听起来像什么黑客代码一样。什么`0 8 * * *`,什么`*/10 * * * *`,看着就头疼。
别怕,我一句话给你讲明白。
Cron表达式就是一句话,告诉Hermes:什么时间干活。
它长这样:
```
分 时 日 月 星期
* * * * *
```
五个位置,用空格隔开。
从左到右,分别是:**分钟、小时、日期、月份、星期几。**
每个位置填一个数字,告诉Hermes"在这个时间点干活"。
如果某个位置你想填"每天"或"每月"或"每周",不限定具体数字,那就写一个星号`*`。
就这么简单。
我们来拆开看。
第一个位置:分钟(0-59)
比如你填`0`,意思就是"整点的时候"——8点整、9点整、10点整。
填`30`呢?就是"每个小时的30分"——8点半、9点半。
填`15`就是每个小时15分。
你发现没有?你只需要填你想要的数字就行了。
常用的分钟值:
第二个位置:小时(0-23)
这里注意了——**24小时制!24小时制!24小时制!**
重要的事情说三遍。下午3点是`15`,不是`3`。下午5点是`17`,不是`5`。
很多第一次用Cron的人翻车就是翻在这个地方——写了个`5`,以为下午5点发,结果早上5点就发了,群里直接炸了。
所以记住:上午8点 → `8`,下午8点 → `20`。
常用的小时值:
第三个位置:日期(1-31)
这个就是每月的第几天。
最常用的写法就是`*`(星号),表示"每天"。
如果你想每个月1号执行,就写`1`。每个月15号执行,就写`15`。
第四个位置:月份(1-12)
1月到12月。
大部分情况写`*`就对了,表示"每个月"。
只有一些特殊任务才用得到,比如每年12月31号发年终结——那月份就写`12`。
第五个位置:星期(0-7)
这个稍微有点绕——0和7都表示周日。为什么?不用管,规定就是这样。
1=周一,2=周二,3=周三,4=周四,5=周五,6=周六。
常用的星期值:
---
来,我们做几个练习:
`0 8 * * *`
分钟=0,小时=8,日期=*,月份=*,星期=*
→ **每天早上8点整**
`30 6 * * *`
分钟=30,小时=6,日期=*,月份=*,星期=*
→ **每天早上6点半**
`0 9 * * 1`
分钟=0,小时=9,日期=*,月份=*,星期=1
→ **每周一早上9点**
`30 8 * * 1-5`
分钟=30,小时=8,日期=*,月份=*,星期=1-5
→ **工作日(周一到周五)早上8点半**
是不是没那么难?就是"分时日月星期",每个位置填数字或星号。
---
再教两个偷懒的写法:
场景一:每10分钟执行一次
你不会写`0 0 * * *`、`10 0 * * *`、`20 0 * * *`……一个一个写吧?
不用的。用`*/10`就行了。
`*/10 * * * *`
→ **每10分钟执行一次**
这个`*/10`的意思是"每隔10分钟"。`*/5`就是每5分钟,`*/30`就是每30分钟。
场景二:9点到下午5点,每个整点都执行
你也不用写`0 9 * * *`、`0 10 * * *`、`0 11 * * *`……一个一个写。
用横杠连接:`0 9-17 * * *`
→ **每天早上9点到下午5点,每个整点执行一次**
这个`9-17`就是9点到17点(下午5点)的意思。
---
常用Cron表达式速查表(不用背,截图保存):
| 场景 | 表达式 | 说明 |
|-----|-------|------|
| 🌅 每天8点 | `0 8 * * *` | 早上8点整 |
| 🌤 每天6:30 | `30 6 * * *` | 早上6点半 |
| 🏢 9点到17点整点 | `0 9-17 * * *` | 上班时间每小时 |
| ⏱ 每10分钟 | `*/10 * * * *` | 高频检查用 |
| 📆 每周一9点 | `0 9 * * 1` | 周一早上 |
| 🌙 午夜0点 | `0 0 * * *` | 凌晨12点 |
| 💼 工作日8:30 | `30 8 * * 1-5` | 周一到周五早上 |
| ☕ 每两小时 | `0 */2 * * *` | 每两小时整点 |
记住一句话就行:不用背,用的时候打开这节课查一下。
---
#### 3. 创建定时任务的步骤——动手来一个
好,理论讲完了。现在咱们来真的,动手建一个定时任务。
我们以"每日早安推送"为例——每天早上8点,自动在你的客户群里发一条早安问候。
第一步:输入命令
打开你的Hermes对话框(微信),输入:
```
/cron create
```
注意格式:斜杠`/` → 单词`cron` → 空格 → 单词`create`。
输入之后,Hermes会像向导一样,一步步引导你填写信息。
第二步:填任务名称
Hermes会问:任务叫什么名字?
取名的原则:**一看就知道是干嘛的。**
❌ 不要写"任务1"、"早上那个"——过两天你自己都忘了是干啥的。
✅ 要写"每日早安问候"、"网站巡检-每日"、"行业动态-每周一"——看名字就知道是什么任务。
所以这里填:`每日早安问候`
第三步:设时间(Cron表达式)
Hermes会问:什么时间执行?
这里就用到我们刚学的Cron表达式了。每天早上8点,那就是:
```
0 8 * * *
```
注意:数字之间用**空格**隔开,不要用逗号。
第四步:写任务内容
这是最关键的一步。Hermes会问:到点了要干什么?
你得把任务描述清楚,就像布置工作一样。描述越具体,结果越靠谱。
❌ 模糊写法:"发早安"——怎么发?发什么内容?什么风格?发到哪里?"
✅ 清晰写法:
```
请生成一段早安问候消息,内容包括:
1. 今天的日期
2. 今天的天气情况
3. 一句正能量短句
4. 祝大家今天工作顺利
语气温暖亲切,100字以内,适合在微信群推送。
```
你描述得越清楚,它执行得越好。这个时间值得花——写一次,以后每天自动执行,一劳永逸。
第五步:设推送方式
Hermes会问:推送到哪里?
你选一个目标:
**注意!** 选对群!别把早安问候发到客户投诉群里去了。之前有朋友就是手滑选错了群,早安问候发到了才进群的新客户群里——新客户莫名其妙收到一条"早安,祝大家今天工作顺利",还以为是群主在跟谁说话。倒也没出大问题,就是有点尴尬。
第六步:确认创建
Hermes会把任务信息汇总给你看一遍:
```
📋 即将创建定时任务:
名称:每日早安问候
时间:0 8 * * *(每天08:00)
内容:生成早安问候,含日期、天气、正能量短句
推送:XX客户群
```
检查没问题,确认创建。
恭喜你!你的第一个定时任务就建好了!
---
举个例子:我建一个"每周行业动态"
除了早安问候,另一个最常用的场景是行业动态。
很多老板说:\"我想每周一早上看看这周行业有什么新动态,但我哪有时间搜啊?\"
好办,交给Hermes。
```
/cron create
名称:每周行业动态
时间:0 9 * * 1(每周一早上9点)
内容:整理本周行业重要动态,包括:
1. 行业重要新闻3-5条
2. 政策变化提醒
3. 市场趋势分析
字数控制在200字以内,条理清晰。
推送:发给我自己(联系人)
```
建好之后,每周一早上9点,你正在上班路上,手机"叮"一声——行业动态就推送过来了。你边开车边听语音播放,到公司时心里已经有数了。
---
#### 4. 管理定时任务——查看、暂停、恢复、删除
任务建好了,怎么管?
Hermes提供了几个管理命令,非常简单。
查看所有任务:`/cron list`
输入这个命令,你会看到类似这样的信息:
```
📋 定时任务列表(共2个):
────────────────
🆔 1 | 📛 每日早安问候
⏰ 0 8 * * * | ✅ 运行中
📅 创建时间:2026-05-20
🆔 2 | 📛 每周行业动态
⏰ 0 9 * * 1 | ✅ 运行中
📅 创建时间:2026-05-22
────────────────
```
每个任务都有个ID(编号),后面管理的时候要用到这个ID。比如第一个任务的ID是1,第二个是2。
暂停任务:`/cron pause [任务ID]`
比如过年放假了,你不想每天早上8点还发早安,想暂停几天。那就输入:
```
/cron pause 1
```
这个任务就暂停了。到点了它不会执行。
暂停不等于删除。任务还在,只是暂时不干活了。
恢复任务:`/cron resume [任务ID]`
过完年回来了,想让它继续干活。输入:
```
/cron resume 1
```
任务恢复正常,明天早上8点继续发早安。
删除任务:`/cron delete [任务ID]`
如果这个任务以后再也不需要了,可以彻底删除。
```
/cron delete 1
```
**注意!** 删除后不能恢复!所以不确定的任务,先暂停,别删。
查看执行记录:`/cron log [任务ID]`
想知道这个任务执行得怎么样?有没有按时干活?输入:
```
/cron log 1
```
你会看到类似这样的执行记录:
```
📋 任务执行日志 - 每日早安问候(ID: 1)
────────────────
2026-06-01 08:00:00 ✅ 执行成功
2026-05-31 08:00:00 ✅ 执行成功
2026-05-30 08:00:00 ✅ 执行成功
2026-05-29 08:00:00 ✅ 执行成功
...
────────────────
5次执行,全部成功 ✅
```
就像员工的打卡记录一样,清清楚楚。如果哪天任务没执行,一看日志就知道。
---
五个管理命令汇总:
| 命令 | 作用 | 什么时候用 |
|-----|------|-----------|
| `/cron list` | 查看所有定时任务 | 想看看自己建了哪些任务 |
| `/cron pause [ID]` | 暂停某个任务 | 临时不想让它执行 |
| `/cron resume [ID]` | 恢复暂停的任务 | 想让任务继续执行 |
| `/cron delete [ID]` | 永久删除任务 | 彻底不需要这个任务了 |
| `/cron log [ID]` | 查看执行记录 | 检查任务是否正常执行 |
---
#### 5. 常见问题——碰到问题怎么办?
问题1:到点了啥都没收到?
别急,三步排查法:
第一步,检查Cron表达式是不是写对了。90%的问题出在这里。最常见的错误:把下午5点写成了`5`(应该是`17`),结果早上5点就执行了。再检查一下分钟和小时的位置是不是搞反了——`8 0 * * *`(早上0点8分)和`0 8 * * *`(早上8点整)完全不是一回事。
第二步,检查任务是不是处于"运行中"状态。用`/cron list`看一下,如果显示的是"已暂停",那就是之前不小心暂停了。用`/cron resume [任务ID]`恢复就行。
第三步,看看执行日志。用`/cron log [任务ID]`查看执行记录,看看它到底执行了没有,有没有报错信息。日志是最好的"监控器"。
问题2:建好的任务想改时间或内容,怎么办?
目前Hermes不支持直接修改已创建的任务。
正确做法:**暂停 → 删除 → 重新创建。**
```
/cron pause 1 → 先暂停
/cron delete 1 → 删除旧的
/cron create → 重新创建(这次填新的时间和内容)
```
是有点麻烦,但也就是多花一两分钟的事。比起每天手动干活,这点麻烦不值一提。
问题3:建了好几个任务,想批量管理?
目前只能一个一个操作。但你可以用`/cron list`一次查看所有任务的运行状态,然后决定哪些需要暂停、哪些需要恢复。
问题4:任务建好了,能不能提前测试一下?
目前没有"立即执行一次"的功能。但你可以手动在对话框里让Hermes干一次同样的活,看看产出的效果满不满意。效果满意再建定时任务。
---
四、具体任务
好了,今天的内容就讲完了。按照前面几课的老规矩,咱们得动手操作。
请完成以下任务:
任务1:建一个每天早上8点的早安推送
任务2:建一个每周一早上9点的行业动态整理
任务3:用`/cron list`查看你建的所有任务
看看列表里是不是显示两个任务,状态都是"运行中"。
任务4:暂停一个任务,检查列表状态,再恢复
比如先暂停早安任务:`/cron pause 1`
再用`/cron list`看看状态是不是变成"已暂停"了
然后恢复:`/cron resume 1`
再看看是不是又变回"运行中"了
这四个任务做完,你对定时任务的理解就完全到位了。
---
五、本课小结
好,这节课的内容就到这里。
来回顾一下你学会了什么。
第一,你理解了什么是定时任务。
就是到点自动干活的闹钟。你设好时间,它到点执行。你睡觉它干活,你忙它干活,你出去玩它还是干活。适合那些固定时间重复做、不需要人工判断、不做也行但做了效果更好的事情。
第二,你学会了Cron表达式。
五个位置:分、时、日、月、星期。每个位置填数字或星号。星号表示"每一天/每月/每周"。常用组合用速查表,不用背。记住24小时制——下午5点是17,不是5!
第三,你亲手创建了定时任务。
从`/cron create`开始,填名称、设时间、写内容、选推送、确认创建。你自己建了一个早安问候、一个行业动态。从明天开始,它们就会准时自动执行。
第四,你学会了管理定时任务的五个命令。
查看(list)、暂停(pause)、恢复(resume)、删除(delete)、查看日志(log)。
---
送大家一句话:
> **定时任务是Hermes最实用的功能之一。设好了,它自动干,你只管睡觉。**
你想想,明天早上8点,你还在睡梦中,你的Hermes已经准时在客户群里发了早安问候。客户们看到消息心想:"这个老板真用心,每天都发早安。"而你呢?还在被窝里。
这就是科技的魅力——**帮你干活,还不让你知道它在干活。**
下课!
下节课预告:**多工具协作——让Hermes变成全能助理。** 一堂课教会你,怎么让Hermes同时调用搜索、浏览器、文件、图片等多个工具,完成完整的工作流。比如:帮你搜行业资料→打开链接阅读→整理成报告→保存文件。一条龙搞定。
我们下节课见!
---
*文山州互联网协会AI学习平台 · 第6关·Hermes Agent智能体实战 · 第5课*