欢迎光临
我们一直在努力

Hermes Cron 定时任务:让你的 AI 到点上班

大多数时候,是你找 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 本地日志,不推送
telegram Telegram Bot 会话
discord Discord 频道
signal Signal 联系人或群组
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 不是等你叫才干活——它该干什么、什么时候干,你提前说好就行。

赞(0)
未经允许不得转载:171主机测评 » Hermes Cron 定时任务:让你的 AI 到点上班
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址