Hermes 应用

Hermes Cron 自动化:定时任务、后台检查与周期性提醒

Hermes cron 不只是定时提醒,它可以把 skills、profiles、workdir、消息投递和 no-agent watchdog 串成长期运行任务。

进阶 预计 20 分钟 核验 2026/6/7
本页目录

完成结果

学完后你会留下什么

一份 Hermes cron 上线清单:任务类型、skill 依赖、profile/workdir、投递目标、失败处理和停用策略。

适合谁
已经跑通 Hermes,希望让 Agent 定期检查、总结、提醒或执行低风险后台任务的人
开始前确认
  • Hermes CLI 或 gateway 已经可用
  • 已经理解 Memory、Skills、Profiles 或 Messaging Gateway 的基本边界
  • 知道哪些任务适合定时运行,哪些必须人工触发

用户搜索 “Hermes cron” 时,真正想知道的通常不是 cron 表达式怎么写,而是:我能不能让 Hermes 长期自动帮我检查、总结、提醒,并且失败时有人知道、出错时能停掉?

Hermes cron 的关键词不是“定时”,而是“长期运行”。一旦任务离开当前聊天窗口,你要关心的不只是 schedule,还要关心它在哪个 profile 里运行、加载哪些 skills、结果发到哪里、失败后谁能看见。

官方文档把 cron 管理集中在 cronjob 工具和 hermes cron 命令上,支持创建、暂停、恢复、编辑、触发和删除任务。对应用层用户来说,这意味着 Hermes 可以通过自然语言、CLI 或 gateway 把定时任务纳入同一套运行体系。

先分清 5 类任务

类型适合做什么第一阶段风险
reminder提醒、日程、周期复盘
watcher服务状态、CI、feed、价格或数据变化
summary job定期汇总日志、文档、issue、站点内容
skill-backed job定期调用一个或多个已审查 skills中到高
no-agent watchdog只跑脚本并直接投递 stdout / stderr取决于脚本

第一阶段建议从 reminder、watcher 或 summary job 开始,不要一上来就让 cron 修改生产资源。cron 的危险不在“会不会执行”,而在“它会不会每次都在你没注意时执行”。

设计一个 cron job 前先问 8 个问题

  1. 这个任务为什么必须定时,而不是事件触发?
  2. 它需要 LLM 推理,还是脚本输出就够?
  3. 它要不要加载 skills?
  4. 它要不要固定在某个 workdir?
  5. 它应该使用哪个 profile?
  6. 输出要发回 origin、local 文件,还是具体消息平台?
  7. 成功时要不要通知,失败时必须通知谁?
  8. 如何暂停、恢复、手动触发和删除?

这些问题比命令本身更重要。命令可以补,治理边界补晚了会很麻烦。

推荐配置顺序

  1. 先创建一个低风险 reminder 或只读 watcher。
  2. 明确 delivery:测试阶段优先 local 或个人消息入口。
  3. 如果任务依赖固定流程,再绑定经过审查的 skill。
  4. 如果任务依赖项目上下文,再设置绝对路径 workdir。
  5. 如果任务属于不同身份或环境,再固定 profile。
  6. 上线前确认 pause、resume、run、remove 都能正常操作。
  7. 最后再接入团队入口、告警流或长期日报。

这个顺序的好处,是你可以把调度、上下文、权限和投递分开验证。不要在第一次试点里同时引入 gateway、多个 skills、生产 workdir 和外部写操作。

一个 cron job 应该长什么样

长期运行任务最怕“创建时很清楚,三周后没人记得”。建议每个 cron job 至少记录一张任务卡:

字段说明
任务目标为什么要定时运行
触发频率每天、每周、每月或按业务节奏补充
profile / workdir在哪个身份和目录下执行
输入来源读文件、读 API、读日志,还是只用 prompt
delivery结果发到哪里,失败发到哪里
权限边界能读什么、能写什么、不能做什么
停用方式如何暂停、删除或回滚

如果你写不出这张卡片,这个任务大概率还不适合长期运行。

三个更像真实业务的例子

例子一:内容站每周复盘。cron 每周读取教程列表,统计哪些页面太短、哪些意图缺内容、哪些官方资料需要复核,然后把摘要发回个人消息入口。这种任务适合搭配 skill,因为流程稳定,结果也容易人工审查。

例子二:项目健康检查。cron 每天跑一次依赖、构建或简单 smoke,只有失败时提醒。这里不一定需要模型参与,no-agent watchdog 可能更合适。模型真正有价值的部分,是在失败后解释日志和整理下一步。

例子三:研究型提醒。cron 每周提醒你复核 Hermes、Harness 或 OpenClaw 官方文档变化,但不自动改站点内容。真正写入教程前,仍然需要人工判断内容是否值得更新。

这三个例子有一个共同点:cron 负责触发,Agent 负责整理,最终发布、高风险写入或对外承诺仍保留人工确认。

no-agent 模式什么时候有价值

不是所有定时任务都需要模型。服务心跳、磁盘空间、内存阈值、CI ping、HTTP endpoint 探活这类 watchdog,如果脚本输出已经足够表达结果,就可以考虑 no-agent 模式。

它的价值是:

  • 不消耗模型调用。
  • 成功时可以静默。
  • 失败或非零退出时仍然能告警。
  • 适合把“只在异常时找我”做成稳定后台检查。

但 no-agent 不是“无风险”。脚本仍然可能读错文件、误删缓存、暴露 secret 或打爆外部 API。你仍然要设置超时、日志、环境变量边界和失败通知。

和 Messaging Gateway 的关系

Gateway 是入口,cron 是调度。一个长期运行的 Hermes 应用通常两者都会用:

  • 用户通过消息入口临时发起任务。
  • cron 定期做检查、摘要和提醒。
  • 两者都可能触发 skills。
  • 两者都可能写入 memory。
  • cron 结果可能通过 gateway 投递给个人或团队。

所以治理要放在一起看,不要只给 cron 单独开权限。如果 gateway 的触发规则很松,cron 又能调用高风险 skills,系统就会变成“谁都能间接触发后台自动化”。

和 Profiles 的关系

Cron 运行久了,profile 隔离会变得非常重要。不同类型的定时任务不应该全部挤在 default

Profile适合任务
personal-default个人提醒、生活计划、轻量总结
content-research资料复核、SEO 内容盘点、教程缺口分析
project-readonly项目健康检查、日志摘要、只读 dashboard
project-prod-guarded生产相关任务,只允许低风险检查和人工审批

如果一个 cron job 会读生产日志、调用外部 API 或触发团队通知,最好给它独立 profile 和明确 owner。

常见失败模式

失败模式处理方式
任务重复运行检查 schedule、手动触发记录、是否存在重复 job
输出没人看到检查 delivery 目标,给失败路径单独通知
Memory 被污染区分临时摘要和长期事实,不让所有 cron 输出自动进入 memory
Skill 权限过宽把写操作改成人工确认或只生成草稿
Cron 自我扩散依赖官方的 cron 管理限制,同时避免让任务生成新任务
日志暴露 secret输出前做脱敏,失败通知不要直接贴完整环境变量

排查时先暂停任务,再定位是哪一层问题。不要让一个失败 cron 在后台持续重试。

上线检查

  • 每个 cron job 都有明确 owner、目标和停用方式。
  • 高风险任务没有直接写生产环境。
  • Delivery 目标已经验证,不会把内部结果发错地方。
  • Skill、profile、workdir 和输入来源都有记录。
  • No-agent watchdog 有超时、失败告警和日志。
  • 成功、失败、超时、手动取消都有可读回执。
  • 任务不会把临时输出无差别写入长期 memory。

下一步

想看可直接迁移成任务卡的场景,继续读 Hermes cron job 示例。如果 cron 的结果需要发到消息入口,先补 Hermes Messaging Gateway。如果你准备给不同任务分身份,继续读 Hermes Profiles 与 API Server

完成检查

  • 你能区分 reminder、watcher、summary job、skill-backed job 和 no-agent watchdog。
  • 你已经知道 cron 与 gateway、profiles、memory 的边界。
  • 你能为每个 cron job 写出 schedule、delivery、risk、rollback 四项说明。
  • 你不会把“能定时运行”误当成“适合长期运行”。

官方资料

版本和参数,以这些来源为准

本文按实际任务重写,快速变化的信息仍应在操作前回到官方页面核对。

常见问题

继续操作前,先确认这些边界

Hermes cron 适合做什么?

适合周期性提醒、监控、摘要、低风险检查、定时报表和需要定期触发的 skill 工作流。高风险写操作应先保留人工审批。

cron job 能不能无限创建 cron job?

官方文档说明 cron 运行会禁用 cron 管理工具,避免递归创建任务导致调度失控。

什么时候应该用 no-agent 模式?

当脚本输出已经足够表达结果、只需要在异常时通知、或不需要模型推理时,可以优先考虑 no-agent watchdog。

继续学习

按当前任务继续推进