本页目录
第 5 章 主动:定时任务、检查脚本、推到飞书
这一章让 Hermes 到点自己干活,把结果推到飞书。定时任务由后台网关执行,所以先确认第 2.5 节做过:网关登录后自动在后台运行,电脑开着、没睡眠。
先设好结果发到哪。 在你和机器人的飞书对话里发一次 /sethome,看到 Home channel set to … 就设好了。以后定时任务的结果都发到这个对话。
5.1 一句话建一个定时任务
第 1 步:在飞书里说清楚。 定时任务每次运行都是一个全新的对话,看不到你们之前聊过什么,所以要一次说全:什么时候跑、读哪个文件、找什么、怎么排、没有的时候说什么。比如:
“帮我建一个定时任务:每天早上 8 点,读笔记库里的 收件箱/待办.md,把三天内到期、还没打勾的事发给我,按日期排;三天内没有到期的就回一句‘这三天没有到期的待办’。任务名叫‘每日待办巡查’。”
它回“建好了”,列出任务名、ID、每天 8:00(Asia/Shanghai)、下次运行时间、投递到本对话。
第 2 步:在电脑上看一眼。 终端运行:
hermes cron list
能看到这个任务,状态 [active],Schedule 是 every day at 8am,Deliver 是 origin(发回建任务的那个对话),Workdir 是你的笔记库。

5.2 先手动跑一次
不用等到明早,终端运行(任务名换成你的):
hermes cron run 每日待办巡查
看到 Ran now: succeeded.,一分钟内飞书里会收到一条以 Cronjob Response: 每日待办巡查 开头的消息,就是这次的结果。

hermes cron run 要在你自己的终端窗口里运行。
5.3 没事不打扰,也不花钱
上面的巡查每次都会叫醒模型读文件,哪怕什么都没变,也要用一次模型额度。改成“先让一个小脚本看看有没有变化,变了才叫醒模型”:
第 1 步:在飞书里说。 “再建一个定时任务,任务名叫‘待办变动提醒’:每 30 分钟用一个 Python 检查脚本看 收件箱/待办.md 有没有被改过。没改就什么都不做:不叫醒你、不调用模型、不发消息。改了才叫醒你,把新增的待办告诉我。脚本放在 Hermes 规定的 scripts 文件夹里。”
它会自己写一个 Python 脚本,放在 %LOCALAPPDATA%\hermes\scripts\ 里(定时任务只认这个文件夹里的脚本),再建好任务。它的做法是:脚本只输出待办文件里还没打勾的那几行;和上次输出一样,就跳过这一次,不叫醒模型、不发消息;不一样才叫醒模型,把变化交给它看。
第 2 步:验证没变化时不发。 终端运行 hermes cron run 待办变动提醒,飞书里不会收到消息。打开 %LOCALAPPDATA%\hermes\cron\output\ 下这个任务的文件夹,最新一份记录里写着 Status: no_change (agent run suppressed),表示这次没有调用模型。
第 3 步:验证有变化时会发。 用记事本在 收件箱/待办.md 末尾加一条,比如 - [ ] 2026-11-13 预习中级微观第 7 讲(生产者剩余),保存,再运行一次 hermes cron run 待办变动提醒。飞书里收到一条提醒,只列出新增的那一条。

🤖 检查脚本不用自己写:在飞书里说清“什么情况算有变化、变了要告诉我什么”,让它写;你在电脑上打开脚本读一遍,看它查的是不是你要的那个文件。
5.4 暂停和删除
在飞书里说“先把‘待办变动提醒’暂停,然后列出我现在所有的定时任务和状态”,它会暂停并列出所有任务。也可以在终端里:
hermes cron pause 待办变动提醒
hermes cron resume 待办变动提醒
hermes cron remove 待办变动提醒
分别是暂停、恢复、删除。

几点提醒:
- 每次叫醒模型都在用你的模型额度,巡查频率按需要定,用不着的任务及时暂停。
- 电脑关机、睡眠或网关没在运行时,任务不会跑;网关恢复后会补跑一次错过的任务。
- 定时任务里碰到危险命令默认拒绝,不会等人批准,见第 6 章。
官方文档:Scheduled Tasks (Cron)、Automate Anything with Cron、Script-Only Cron Jobs。
✅ 自查
hermes cron list里有你建的任务- 手动运行后飞书收到
Cronjob Response - 待办文件没改时运行检查任务,飞书不收消息
- 改了以后再运行,收到只含新增内容的提醒