---
title: "W10 说明：让 Hermes 主动——定时任务、检查脚本、推到飞书"
---

# 🛠 让 Hermes 主动：定时任务、检查脚本、推到飞书

[W10 材料入口](https://ai.lingnan.top/materials/2026-autumn/w10) · [上一篇：让 Hermes 懂你](https://ai.lingnan.top/materials/2026-autumn/w10/hermes-memory)

## 第 5 章 主动：定时任务、检查脚本、推到飞书

这一章让 Hermes 到点自己干活，把结果推到飞书。定时任务由后台网关执行，所以先确认第 2.5 节做过：网关登录后自动在后台运行，电脑开着、没睡眠。

**先设好结果发到哪。** 在你和机器人的飞书对话里发一次 `/sethome`，看到 `Home channel set to …` 就设好了。以后定时任务的结果都发到这个对话。

### 5.1 一句话建一个定时任务

**第 1 步：在飞书里说清楚。** 定时任务每次运行都是一个全新的对话，看不到你们之前聊过什么，所以要一次说全：什么时候跑、读哪个文件、找什么、怎么排、没有的时候说什么。比如：

“帮我建一个定时任务：每天早上 8 点，读笔记库里的 收件箱/待办.md，把三天内到期、还没打勾的事发给我，按日期排；三天内没有到期的就回一句‘这三天没有到期的待办’。任务名叫‘每日待办巡查’。”

它回“建好了”，列出任务名、ID、每天 8:00（Asia/Shanghai）、下次运行时间、投递到本对话。

**第 2 步：在电脑上看一眼。** 终端运行：

```powershell
hermes cron list
```

能看到这个任务，状态 `[active]`，`Schedule` 是 `every day at 8am`，`Deliver` 是 `origin`（发回建任务的那个对话），`Workdir` 是你的笔记库。

![hermes cron list 里的定时任务](/course-materials/2026-autumn/w10/hermes-cron/hermes-ch5-02-cron-list.png)

### 5.2 先手动跑一次

不用等到明早，终端运行（任务名换成你的）：

```powershell
hermes cron run 每日待办巡查
```

看到 `Ran now: succeeded.`，一分钟内飞书里会收到一条以 `Cronjob Response: 每日待办巡查` 开头的消息，就是这次的结果。

![建任务的回复，和手动跑一次的结果](/course-materials/2026-autumn/w10/hermes-cron/hermes-ch5-01-create-and-run.webp)

`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 待办变动提醒`。飞书里收到一条提醒，只列出新增的那一条。

![待办文件改了，才收到提醒](/course-materials/2026-autumn/w10/hermes-cron/hermes-ch5-03-change-alert.webp)

🤖 检查脚本不用自己写：在飞书里说清“什么情况算有变化、变了要告诉我什么”，让它写；你在电脑上打开脚本读一遍，看它查的是不是你要的那个文件。

### 5.4 暂停和删除

在飞书里说“先把‘待办变动提醒’暂停，然后列出我现在所有的定时任务和状态”，它会暂停并列出所有任务。也可以在终端里：

```powershell
hermes cron pause 待办变动提醒
hermes cron resume 待办变动提醒
hermes cron remove 待办变动提醒
```

分别是暂停、恢复、删除。

![在飞书里暂停一个任务并列出全部](/course-materials/2026-autumn/w10/hermes-cron/hermes-ch5-04-pause.webp)

几点提醒：

- 每次叫醒模型都在用你的模型额度，巡查频率按需要定，用不着的任务及时暂停。
- 电脑关机、睡眠或网关没在运行时，任务不会跑；网关恢复后会补跑一次错过的任务。
- 定时任务里碰到危险命令默认拒绝，不会等人批准，见第 6 章。

官方文档：[Scheduled Tasks (Cron)](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)、[Automate Anything with Cron](https://hermes-agent.nousresearch.com/docs/guides/automate-with-cron)、[Script-Only Cron Jobs](https://hermes-agent.nousresearch.com/docs/guides/cron-script-only)。

✅ 自查

- [ ] `hermes cron list` 里有你建的任务
- [ ] 手动运行后飞书收到 `Cronjob Response`
- [ ] 待办文件没改时运行检查任务，飞书不收消息
- [ ] 改了以后再运行，收到只含新增内容的提醒
