Hermes Cron 定时任务:让你的 AI 到点上班
2026/6/6 1:47:58 网站建设 项目流程

大多数时候,是你找 AI 干活。 Cron 定时任务让 AI 反过来——到点自动找你,告诉你该知道的事。


一、Hermes Cron 是什么?

Hermes 内置了一个调度器,让你可以设置定时任务,让 AI 在指定时间自动干活

和 Linux 的 cron 不同的是——它不需要写脚本,不需要配邮件发送器。直接用自然语言说"每天早上 9 点发项目日报",剩下的 Hermes 自己搞定。

支持两种执行模式:

模式说明适合场景
Agent 模式(默认)LLM 驱动,AI 收到调度后走完整的思考-工具调用流程需要 AI 理解上下文、做判断的任务
Script 模式--no-agent不调 LLM,直接跑一个脚本,输出结果投递到目标轻量级系统监控、健康检查

二、快速上手:第一个 Cron 任务

前提条件

Cron 调度器依赖于 Hermes Gateway。你需要先确认 Gateway 在运行:

hermes gateway status

如果没跑,启动它:

hermes gateway run # 前台测试 hermes gateway install # 后台服务 hermes gateway start

创建第一个任务

hermes cron create "30m" "帮我检查服务器磁盘使用情况,如果超过 80% 就报警"

这条命令创建了一个每 30 分钟执行的定时任务。Hermes 收到调度后会检查你的磁盘,超过阈值就汇报。

查看任务:

hermes cron list

输出:

┌────────┬────────────┬────────────────────────┬────────┬──────────┐ │ ID │ Schedule │ Prompt │ Next │ Status │ ├────────┼────────────┼────────────────────────┼────────┼──────────┤ │ abc123 │ every 30m │ 检查服务器磁盘使用情况 │ 12:30 │ active │ └────────┴────────────┴────────────────────────┴────────┴──────────┘

查看调度器状态:

hermes cron status

三、调度格式——自然语言还是 Cron 表达式?

Hermes 支持两种调度格式:

3.1 自然语言(推荐)

写法含义
30m每 30 分钟
2h每 2 小时
every 30m每 30 分钟
every 2h每 2 小时
every day每天
every week每周

3.2 标准 Crontab 表达式

如果你熟悉 Linux cron 的 5 段式写法:

表达式含义
0 9 * * *每天早上 9 点
*/30 * * * *每 30 分钟
0 9 * * 1-5工作日早上 9 点
0 0 1 * *每月 1 号零点
0 */2 * * *每 2 小时整点

3.3 指定重复次数

默认情况下,定时任务会无限重复。你也可以限制执行次数:

hermes cron create "0 9 * * *" "发日报" --repeat 5

这个任务在每天早上 9 点执行,跑 5 次后自动停用。


四、投递目标——任务结果去哪了?

这是 Hermes Cron 和传统 cron 最大的区别——结果直接推送到你的消息平台

hermes cron create "0 9 * * *" "生成昨日代码commit总结" --deliver telegram

支持的目标:

选项投递到哪
origin(默认)创建任务的来源(终端或消息平台)
local本地日志,不推送
telegramTelegram Bot 会话
discordDiscord 频道
signalSignal 联系人或群组
platform:chat_id精确指定平台+聊天 ID

最佳实践:在 Telegram 等消息平台上,先对 Hermes Bot 说/sethome,然后指定--deliver origin。这样无论什么时候定的任务,结果都会推到你的手机。


五、实战场景

场景 1:每日项目日报

hermes cron create "0 9 * * 1-5" " 查看过去 24 小时的 git 提交记录,汇总成一个日报: - 改了哪些文件 - 关键修改描述 - 有没有风险点 " --name "daily-report" --deliver telegram --workdir /path/to/your/project

每天早上 9 点(工作日),Hermes 跑去你的项目目录看 git log,分析改动,用中文写一份日报推送到你手机上的 Telegram。

场景 2:服务器健康监控

hermes cron create "*/15 * * * *" " 检查一下系统状态,有问题才汇报: - CPU 负载超过 80% 报警 - 内存使用超过 85% 报警 - 磁盘 / 超过 80% 报警 - 没问题就沉默 " --name "health-check" --deliver telegram

每 15 分钟检查一次,正常时不打扰你,有问题才推送。

场景 3:脚本模式——轻量级系统监控

有些监控任务不需要 AI 理解上下文,直接跑个脚本拿到结果就行。这时候用--no-agent模式省 token。

先写一个脚本~/.hermes/scripts/disk-check.sh

#!/bin/bash THRESHOLD=80 USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') if [ "$USAGE" -gt "$THRESHOLD" ]; then echo "⚠️ 磁盘使用率: ${USAGE}% (超过阈值 ${THRESHOLD}%)" else echo "" # 空输出 = 静默,不推送任何东西 fi
hermes cron create "*/10 * * * *" \ --script disk-check.sh \ --no-agent \ --deliver telegram \ --name "disk-monitor"

Script 模式的关键行为:

  • 脚本 stdout 非空 → 投递到目标
  • 脚本 stdout 为空 → 静默,不推送
  • 不调 LLM,零 token 消耗
  • 适合:磁盘监控、内存告警、服务健康检查、ping 结果等

脚本语言不限——.sh.bash走 bash,其他后缀走 Python。

场景 4:配合 Skills

如果你有专门的技能,可以挂到 cron 任务上:

hermes cron create "0 9 * * 1" " review the past week's changes and generate a summary " --name "weekly-review" --deliver telegram --skill systematic-debugging

Hermes 在处理这个定时任务时会加载systematic-debugging技能,使用 AI 分析上周代码中系统性地存在哪些问题。

多个技能可以一起挂:

hermes cron create "0 9 * * *" "项目日报" \ --deliver telegram \ --skill plan \ --skill humanizer

场景 5:不同 Profile 执行不同任务

如果你有多个 Profile(工作模式、写作模式……),可以让不同的 cron 任务跑在不同的 Profile 下:

hermes cron create "0 9 * * *" "生成项目进度报告" \ --profile work --deliver telegram hermes cron create "0 8 * * *" "检查行业新闻并写简报" \ --profile writing --deliver telegram

六、Cron 任务管理

列出所有任务

hermes cron list # 只显示启用的 hermes cron list --all # 显示所有(包括禁用的)

暂停/恢复

hermes cron pause job_id hermes cron resume job_id

修改任务

创建后发现调度频率不对或者 prompt 要改?不用删了重建:

hermes cron edit job_id --schedule "0 10 * * *" hermes cron edit job_id --prompt "新的任务描述" hermes cron edit job_id --name "new-name" hermes cron edit job_id --deliver discord hermes cron edit job_id --workdir /new/project/path # 追加技能 hermes cron edit job_id --add-skill plan # 移除技能 hermes cron edit job_id --remove-skill systematic-debugging # 清空技能 hermes cron edit job_id --clear-skills # 切换执行模式 hermes cron edit job_id --no-agent # 改为 script 模式 hermes cron edit job_id --agent # 改回 agent 模式

立即触发一次

不等下一个调度时间,马上跑一次:

hermes cron run job_id

适合调试——先创建任务,手动跑一次看结果对不对,再等它自动调度。

删除任务

hermes cron remove job_id

查看调度器状态

hermes cron status

显示调度器是否运行、PID、当前有无活跃任务。


七、技术架构——秒级发生了什么

当调度器触发一个 Cron 任务时,内部流程是这样的:

时间到了 → 1. 调度器创建新的 Hermes 会话(独立会话,不干扰你现在聊天的) 2. 加载任务的 profile、skills、workdir 3. 如果是 agent 模式: 把 prompt 发给 LLM → LLM 调用工具 → 生成回复 如果是 script 模式: 执行脚本 → 捕获 stdout 4. 结果通过 Gateway 投递到目标(telegram / discord / ...) 5. 调度器等待下一次触发

关键设计:

  • 每个任务在独立会话中执行,互不干扰
  • 多个任务可以并行运行(max_parallel_jobs配置,默认不限制)
  • LLM 调用和脚本执行都有超时保护

~/.hermes/config.yaml中可以配置:

cron: wrap_response: true # 结果是否包装后再投递 max_parallel_jobs: null # 并行上限(null = 不限制)

八、注意事项和坑

⚠️ Gateway 必须运行

Cron 调度器是 Gateway 进程的一部分。如果 Gateway 没跑,cron 不会触发。

hermes gateway status # 确认在跑 hermes cron status # 确认调度器活跃

⚠️ 长时间执行的任务

AI 模式的任务如果有大量工具调用(比如大规模代码分析),可能耗时 5-10 分钟。这种任务建议设置较长的调度间隔(比如每小时而不是每 5 分钟),避免任务堆积。

⚠️ Script 模式不调 LLM

--no-agent模式下只跑脚本、不调 LLM、零 token 消耗。但如果你的脚本需要理解项目上下文、做判断,应该用默认的 agent 模式。

⚠️ 先调试再上线

创建任务后先用hermes cron run job_id手动触发一次,确保 prompt 写得对、结果正常推送到手机了,再等它自动调度。


九、从零到完整方案

给你一个完整的"每日开发者日报"方案,从创建到运行:

# 1. 确认 Gateway 运行 hermes gateway status # 2. 创建 cron 任务 hermes cron create "0 9 * * 1-5" " 作为资深开发者,分析项目过去24小时的git提交: 1. 检查 git log --since='24 hours ago' 2. 按模块分类所有修改 3. 标注每个改动的类型(新功能/修复/重构/文档) 4. 评估风险:有没有大范围改动、核心模块改动、测试缺失的修改 5. 如果有风险项,给出关注建议 报告格式要简短,直接用中文说,不要 markdown 表格。 " \ --name "daily-dev-digest" \ --deliver telegram \ --workdir /path/to/project \ --profile work # 3. 手动验证 hermes cron run <job_id> # 4. 查看结果——去 Telegram 确认报告长什么样 # 5. 确认无误后,检查调度器 hermes cron status # 6. 以后随时查看这个任务的执行情况 hermes cron list

每天早上 9 点,手机叮一声——Hermes 已经分析完了昨天的代码变动,报告躺在你的 Telegram 里。


十、总结

你想干嘛命令
每 30 分钟检查一次hermes cron create "30m" "prompt"
每天 9 点发日报hermes cron create "0 9 * * *" "prompt"
结果发到手机--deliver telegram
不调 LLM 跑脚本--script xxx.sh --no-agent
挂上技能--skill skill-name
用指定 Profile--profile work
手动测一次hermes cron run job_id
修改调度频率hermes cron edit job_id --schedule "新时间"

核心思想就一句话:Cron 把 Hermes 从"你问它答"变成了"它到点主动找你"。从此 AI 不是等你叫才干活——它该干什么、什么时候干,你提前说好就行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询