Hermes 定时任务实战

Hermes 定时任务实战
青萍叙事前言
大部分 AI 助手有个共同的局限:你问一句,它答一句。
你不说话,它就安安静静待着。
但日常工作和生活里,很多事情是周期性的。
每天早上想看一眼科技新闻摘要,每周想检查一次关注的仓库有没有新动态,某个网页更新了想第一时间知道。
这些事情反复做,每次手动问 AI 太累了。
Hermes Agent 的 Cron 定时任务功能就是来解决这个问题的。
你可以让 AI 在指定时间自动干活,结果直接推送到飞书、微信等消息平台。
相当于给 AI 管家装了一个闹钟,到点就上班。
Cron 是什么
Hermes 的 Cron 是内置在 Gateway 网关里的定时调度器。
Gateway 每 60 秒检查一次任务列表,发现到期任务就启动一个全新的 Agent 会话来执行。
执行完成后,结果自动推送到你指定的消息渠道。
跟传统 crontab 相比,最大的区别是 Hermes 的 Cron 任务由 AI 来执行,不是跑固定的 shell 命令。
你给它一段自然语言指令,它自己理解、拆解、调用工具、输出结果。
flowchart LR
A[Gateway 调度器] -->|每60秒检查| B[任务列表]
B -->|发现到期任务| C[启动独立 Agent 会话]
C --> D[执行 Prompt]
D --> E[结果自动推送]
E --> F[飞书 / 微信 / 钉钉]
创建任务的三种方式
最方便的是直接在对话里说自然语言。
比如直接对 Hermes 说,每天早上 9 点搜一下今天的 AI 新闻,整理成简报发到飞书。
Hermes 会自动创建任务,你不需要记任何命令。
需要精确控制参数时,可以用斜杠命令。
1 | /cron add "0 9 * * *" "搜索今天的 AI 领域新闻,整理成 5 条摘要,每条配链接" --name "每日AI简报" --deliver feishu |
终端操作的话,CLI 命令也可以。
1 | hermes cron create "0 9 * * *" "搜索今天的 AI 领域新闻,整理成 5 条摘要" --name "每日AI简报" --deliver feishu |
三种方式效果一样,选你顺手的就行。
调度格式速查
| 格式 | 示例 | 含义 |
|---|---|---|
| 相对延迟 | 30m |
30 分钟后执行一次 |
| 间隔循环 | every 2h |
每 2 小时执行一次 |
| Cron 表达式 | 0 9 * * 1-5 |
工作日每天 9 点 |
| ISO 时间戳 | 2026-06-21T09:00:00 |
指定时刻执行一次 |
常用的就是 Cron 表达式和间隔循环。0 9 * * * 是每天早上 9 点。0 9 * * 1-5 是工作日早上 9 点。0 */6 * * * 是每 6 小时一次。
每日新闻简报自动推送
这是最经典的应用。
创建一个每天早上 9 点运行的任务,自动搜索 AI 领域新闻,整理成简报推送到飞书。
1 | /cron add "0 9 * * *" "搜索过去 24 小时的 AI 领域重要新闻,选出最有价值的 5 条。每条包含标题、一句话摘要和原文链接。格式简洁,适合手机上快速浏览。" --name "每日AI简报" --deliver feishu |
每天到点,飞书就会收到一条整理好的新闻摘要。
早上喝咖啡的时间就把行业动态刷完了。
网站变更监控
想盯一个网页看它什么时候更新,手动刷新太蠢了。
这个场景有个关键技巧:[SILENT] 标记。
配一个脚本先检查网页内容有没有变化。
如果没变化,让 Agent 回复 [SILENT],Cron 就不会推送任何消息。
如果有变化,Agent 正常输出摘要,你才会收到通知。
1 | /cron add "every 1h" "如果脚本输出显示 CHANGE DETECTED,分析网页发生了什么变化并简要说明。如果输出是 NO_CHANGE,只回复 [SILENT]。" --script ~/.hermes/scripts/watch-site.py --name "网页监控" --deliver feishu |
只有网页真的变了,你才会被通知。
这就是 [SILENT] 的价值:让监控类任务在没事的时候保持安静。
GitHub 仓库动态
关注一个开源项目,想第一时间知道有没有新 issue 或 PR。
这个场景不需要写脚本,Hermes 内置的终端工具可以直接跑 gh 命令。
1 | /cron add "every 6h" "检查 NousResearch/hermes-agent 仓库过去 6 小时的新动态。用 gh issue list 和 gh pr list 命令查询,筛选出最近 6 小时内的更新。如果没有新动态,回复 [SILENT]。否则简要列出新增的 issue 和 PR。" --name "仓库监控" --deliver feishu |
每 6 小时自动检查一次,有动静才通知你。
任务全生命周期
创建之后,任务不是一成不变的。
Hermes 提供了完整的管理命令。
1 | /cron list # 查看所有任务 |
任务名不区分大小写,用名称代替 ID 就行。
改调度频率或提示词不需要删了重建,直接 edit。
两个关键注意点
提示词必须自包含。
Cron 任务运行在全新的会话里,没有你之前聊天的上下文。
如果你只写 检查一下那个服务器,Agent 根本不知道是哪台服务器。
IP 地址、用户名、具体命令都要写在 prompt 里。
Gateway 必须在运行。
Cron 调度器是 Gateway 网关的一部分。
Gateway 没跑,定时任务就不会触发。
用 macOS 的话,推荐用 launchd 托管 Gateway,设置 RunAtLoad=true 和 KeepAlive.SuccessfulExit=false,开机自动启动,意外退出自动重启。














