最后更新 2026-10-05 · HermesAgent.Work 编辑组 整理维护(内容维护说明)· 步骤过时或无法复现可反馈
从低风险任务开始
定时任务最适合先做信息整理,而不是直接做外部操作。日报、周报、RSS 摘要、竞品监控和会议提醒都属于低风险文本任务,失败了也容易回滚。
必备设计
每个定时工作流都应该有触发时间、输入来源、输出位置、失败重试、日志记录和人工确认策略。没有这些设计,自动化会从省时间变成制造麻烦。
频率不要太高
很多任务不需要每 5 分钟跑一次。竞品监控可以每天一次,Newsletter 摘要可以每周一次,日报可以固定在早上或下班前。频率越高,成本和噪音越高。
daily-briefing: 09:00
weekly-report: Friday 16:00
competitor-monitoring: 08:30失败策略
定时任务一定会失败:模型限流、输入源为空、网络超时、Gateway 断开、Token 过期都可能发生。建议每个任务只重试有限次数,连续失败后通知维护者,并在输出里明确写出失败位置。
retry_count: 2
on_failure: notify maintainer
fallback: send last successful summary + error reason输入为空怎么办
很多自动化不是坏在模型,而是输入为空。日报没有 Issue、RSS 没有新内容、任务系统接口返回空数组时,要输出“今天没有新增内容”,而不是让模型编一段看起来合理的总结。
衡量效果
记录节省时间、失败次数、人工修改比例和每月 API 成本。真实数据比“感觉好用”更能指导优化。连续两周都没人看、没人点击、没人反馈的定时任务,就应该降低频率或暂停。
hermes cron:内置调度器的全部子命令
触发时间和失败策略想清楚之后,落地不需要先碰系统配置,内置的 hermes cron 覆盖任务的完整生命周期:
hermes cron create "0 9 * * 1-5" "把昨天的未读邮件整理成摘要" --deliver telegram # 新建:时间 + 任务描述
hermes cron list # 列出全部定时任务
hermes cron status # 看调度器本身是否在跑
hermes cron run # 让指定任务在下个 tick 立即执行
hermes cron pause # 暂停某个任务
hermes cron resume # 恢复
hermes cron edit # 修改描述或时间
hermes cron remove # 删除create 要两样东西:先是时间,可以写 30m、every 2h 这类间隔,也可以写标准 cron 表达式(上面的 0 9 * * 1-5 就是每个工作日早上九点;新版还认 every monday 9am 这类英文写法);然后是一句自包含的任务描述,中文就行,--deliver 指定结果发到哪个平台。想完全用一句中文来建任务,比如"每个工作日早上九点把未读邮件整理成摘要发给我",直接在 Hermes 会话里对它说,它会调用内置的定时任务工具替你建好,建完用 cron list 核对时间对不对。和系统 crontab 比,它的差别是任务描述交给 agent 执行,而不是你自己拼命令。排查"到点没跑"时最该先看的是 cron status:多数时候不是任务写坏了,而是调度器压根没在运行。调试新任务时用 cron run 立刻触发一次,看产出对不对,再放回时间表等它自己跑。维护窗口或长假用 pause 停掉,回来 resume,不必删了重建。
已有 crontab 的服务器:用 cron tick 交出调度权
机器上本来就有一套 crontab 运维习惯时,可以不让 Hermes 长驻当调度器。hermes cron tick 把到期任务执行一遍就退出,调度权交给外部:
*/10 * * * * hermes cron tick任务定义仍由 hermes cron 管理,何时检查到期由系统 crontab 决定,执行窗口之外不留任何常驻进程。两种模式的选择规则:自己的电脑或单机自用,让内置调度器跑着最省事;服务器上已经有 crontab 和配套监控,就用 tick 把 Hermes 纳入既有体系,调度入口统一在一处。产出要送进群里时接 hermes send,凭证直接复用 ~/.hermes/.env,投递这一步不再经过 LLM:
hermes send --to discord:#ops --file /tmp/report.md --subject "磁盘巡检结果"巡检、备份这类产出建议都带上 --subject,标题行能让群里翻历史时一眼分清是哪个任务发的。目标格式支持 platform:chat_id,要发进群组话题就在后面再补一段 thread_id。不确定可投递的目标有哪些,先用 hermes send --list telegram 列一遍再填。
还没有真实场景?可以先领取 Free Starter 模板包,从低风险只读任务开始试跑。
常见问题
把搜索里最常见的疑问集中放在这里,适合排查时快速确认方向。