Lazy loaded image
🏇Hermes Agent 教学 08 | 定时任务与自动化
字数 1433阅读时长 4 分钟
2026-4-21
本文是 Hermes Agent 教学系列 第 08 篇。让 agent 从「你问他答」变成「他主动干」。

什么是「主动」

到这一篇为止,Hermes 还是个被动的助手。你发消息 → 它响应。定时任务让它变主动:
  • 每天早 8 点把今日要闻合成中文推送发我邮箱
  • 每小时检查一次某网站是否存货,有货发 Telegram 通知
  • 每周一生成上周 GitHub 仓库活跃报表
这是 Hermes 那句「AI agent that grows with you」里「grows with you」的另一层含义——它不只在你主动问话时体现你,还会在你不在场时为你干事。

最简单的调度:自然语言设定

在 CLI 里直接说:
Hermes 会:
  1. 解析出 cron 表达式 0 8 * * *
  1. 生成一个任务定义文件保存到 ~/.hermes/scheduled/
  1. 注册到内部调度器
  1. 确认你是否启用

查看与管理定时任务

手写任务定义

任务本质是一个 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 记忆触发

这个比较高级,只在需要环境适应型行为时用。

注意事项

  1. 让任务跑在期限内max_runtime 务必设,不然 LLM 有可能陷入循环吃 token
  1. 失败要可观测on_failure: notify 改变默认重要任务务必设,静默失败会让你在需要时缺席
  1. 成本预算hermes schedule cost <id> 看历史 token 消耗,定时任务会静静扣完你的额度
  1. 权限隔离。定时任务默认不问你确认(问了你也不在),写操作、发邮件这类要提前考虑周全
  1. 使用隐藏 token。别在 prompt 里明文寫 API key,引用 ${ENV_VAR}

实例:三个马上能拼出来尝试的任务

1. 简历上社区带收藏

2. 商品价格监控

3. 周报自动生成

下一篇

现在 Hermes 能帮你跑定期任务了,但一个任务跑在主上下文里会出于污染 token。下一篇进入 子 agent 与并行——让 Hermes 派发隔离的下属去启动一个事,结果汇总回主会话,不污染主上下文。

本系列文章持续更新,下篇见。
上一篇
Hermes Agent 教学 09 | 子 agent 与并行
下一篇
Hermes Agent 教学 07 | MCP 集成:接上你的 Notion / Gmail / GitHub