本文是 Hermes Agent 教学系列 第 08 篇。让 agent 从「你问他答」变成「他主动干」。
什么是「主动」
到这一篇为止,Hermes 还是个被动的助手。你发消息 → 它响应。定时任务让它变主动:
- 每天早 8 点把今日要闻合成中文推送发我邮箱
- 每小时检查一次某网站是否存货,有货发 Telegram 通知
- 每周一生成上周 GitHub 仓库活跃报表
这是 Hermes 那句「AI agent that grows with you」里「grows with you」的另一层含义——它不只在你主动问话时体现你,还会在你不在场时为你干事。
最简单的调度:自然语言设定
在 CLI 里直接说:
Hermes 会:
- 解析出 cron 表达式
0 8 * * *
- 生成一个任务定义文件保存到
~/.hermes/scheduled/
- 注册到内部调度器
- 确认你是否启用
查看与管理定时任务
手写任务定义
任务本质是一个 YAML 文件,在
~/.hermes/scheduled/。手写可以调更多参数:保存后 Hermes 会自动加载。验证:
cron 语法快查
不掌握 cron 也能用,但认一认几个常用:
表达式 | 含义 |
0 8 * * * | 每天 8:00 |
*/30 * * * * | 每 30 分钟 |
0 9 * * 1 | 每周一 9:00 |
0 0 1 * * | 每月 1 号 0:00 |
0 18 * * 1-5 | 工作日 18:00 |
记得用 crontab.guru 验证复杂表达式。
不愿意写 cron?在 prompt 里直接用自然语言:
Hermes 会在加载时解析为 cron。
复杂场景:任务链
一个任务中调多个工具、多个步骤、跳转判断,这是任务链。
这里有个重要技巧:明确告诉 Hermes 什么情况不要输出,不然你会被「本轮检查无警报」轰炸。
条件触发
除了定时,还可以基于事件触发。常见形式:
Webhook 触发
Hermes gateway 会起一个 HTTP 服务接收这些调用。给 GitHub webhook 填你的 Hermes 公网地址 + endpoint 即可。
邮件触发
Hermes 记忆触发
这个比较高级,只在需要环境适应型行为时用。
注意事项
- 让任务跑在期限内。
max_runtime务必设,不然 LLM 有可能陷入循环吃 token
- 失败要可观测。
on_failure: notify改变默认重要任务务必设,静默失败会让你在需要时缺席
- 成本预算。
hermes schedule cost <id>看历史 token 消耗,定时任务会静静扣完你的额度
- 权限隔离。定时任务默认不问你确认(问了你也不在),写操作、发邮件这类要提前考虑周全
- 使用隐藏 token。别在 prompt 里明文寫 API key,引用
${ENV_VAR}
实例:三个马上能拼出来尝试的任务
1. 简历上社区带收藏
2. 商品价格监控
3. 周报自动生成
下一篇
现在 Hermes 能帮你跑定期任务了,但一个任务跑在主上下文里会出于污染 token。下一篇进入 子 agent 与并行——让 Hermes 派发隔离的下属去启动一个事,结果汇总回主会话,不污染主上下文。
本系列文章持续更新,下篇见。
- 作者:Vemperor
- 链接:https://tangly1024.com/article/hermes-08-scheduling
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。


