跳转到内容

Day 7 · 全自动化与诊断

两件事:

  1. 创建一条每日定时任务,让 Hermes 每天固定时间给你发早报
  2. 跑通诊断命令,至少熟悉 hermes doctorhermes statushermes logs

如果你是从 OpenClaw 迁过来的,走完本章后直接看「从 OpenClaw 搬家」,那是独立的一篇迁移指南。


  • 已完成 Day 1–6
  • 做定时任务部分最好已经完成 Day 3(配了至少一个 IM gateway,这样早报能推送到 Telegram / Discord 之类)

Part A · 定时任务:让 Hermes 自己动起来

Section titled “Part A · 定时任务:让 Hermes 自己动起来”

Hermes 内置的 cronjob 工具让 agent 能自己排程、自己跑。原理上跟 unix cron 类似,但每次触发都是一次独立的 agent session(自带工具、自带技能、自带记忆),不是纯脚本。

  1. 自然语言(最省事)

    启动 Hermes,直接说:

    你:每天早上 9 点帮我扫一下 Hacker News,选出 3 条跟 AI 相关的,发到我的 Telegram。

    Hermes 会识别这是一个定时需求,调用 cronjob(action="create", ...),然后告诉你:job ID、调度规则、下一次触发时间。

  2. 对话里 slash 命令

    你:/cron add "0 9 * * *" "扫一下 HN,选 3 条 AI 新闻发到 Telegram"

    语法:/cron add <schedule> "<prompt>"

  3. 终端 CLI

    Terminal window
    hermes cron create "0 9 * * *" "扫一下 HN,选 3 条 AI 新闻发到 Telegram"

全部支持:

写法含义
30m2h1d相对延时,一次性(30 分钟后跑一次)
every 30mevery 2h每隔 N 分钟/小时/天循环
0 9 * * *标准 cron:每天 9 点
0 */6 * * *每 6 小时
2026-05-01T09:00:00ISO 时间戳,特定时刻一次性
Terminal window
hermes cron list # 看所有 job
hermes cron status <job_id> # 看单个 job 详情 / 上次结果
hermes cron edit <job_id> --schedule "0 10 * * *"
hermes cron tick # 立刻检查一遍到期 job(调试用)

对话里:

/cron list
/cron run <job_id> # 立即触发一次,不等下次到期
/cron pause <job_id>
/cron resume <job_id>
/cron remove <job_id>

让 cron 在运行前先加载一个 skill(Day 5 装的):

你:每天早上 9 点用 blogwatcher skill 汇总我订阅的 RSS,发到 Telegram。

Hermes 会把 skill 作为 agent 的前置 prompt,再叠加这条任务——相当于把 Day 5 装的技能放到无人值守的流程里跑

Gateway(Day 3 你装的那个长驻进程)每 60 秒检查一次到期 job。gateway 没跑,cron 不会触发——所以要让 cron 真正生效,先确保:

Terminal window
hermes gateway status # 确保 gateway 在 running

遇到任何奇怪的问题,第一个该跑的命令

Terminal window
hermes doctor
hermes doctor --fix # 能自动修的就修掉

它会检查:Python / Node / 依赖版本、配置文件语法、数据库完整性、Provider 认证是否还有效、gateway 状态、skills 目录权限等。

Terminal window
hermes status # 精简版
hermes status --all # 详细版(可贴到 issue 里,会自动脱敏)
hermes status --deep # 带主动探测(会发测试请求给 Provider,稍慢)

贴 issue 时用 --all——它会把 API Key 等敏感信息脱敏成 sk-***

日志都在 ~/.hermes/logs/ 下。hermes logs 是查询入口:

日志里面是什么
agent(默认)API 调用、工具派发、会话活动
errors只有 warning 和 error
gateway平台连接、webhook 事件

常用场景:

Terminal window
hermes logs -f # 实时跟(tail -f)
hermes logs errors --since 1h # 最近 1 小时的错误
hermes logs --level WARNING --since 30m
hermes logs gateway -n 100 # gateway 日志最后 100 行
hermes logs --session 7e4f2b8c # 某个会话的全部日志

典型排查流程:

现象:Telegram 机器人又不回复了
1. hermes gateway status → 还活着吗?
2. hermes status --deep → Telegram 认证是否失效?
3. hermes logs gateway --since 30m -f → 最近半小时 gateway 日志
4. 若看到 401 → 重新 hermes gateway setup 更新 token
5. 若看到 rate limit → 配置 fallback_model(Day 2 讲过)

到这里你应该已经:

Day能力
1本机跑 hermes,完成第一次对话
2挑了 Provider、配了 Key、发了推理题
3至少一个 IM(TG / DC / Slack)能 @机器人了
4用过 web_search、terminal 至少 2 个内置工具
5装了第一个 skill,对话里触发过它 ✨
6会看 ~/.hermes/memories/、会 /compress、会 hermes backup
7会写 cron 让 Hermes 自己动起来、会用 doctor/status/logs 三件套排查故障

7 天覆盖的是最小闭环。深入方向看你用法偏哪边:

方向去哪学
从 OpenClaw 搬过来本站的「从 OpenClaw 搬家」迁移指南
把 Hermes 嵌进自家软件官方 Developer Guide
写自己的 skill 给团队Day 5 进阶部分 + agentskills.io 范例
MCP 接入你自家内部服务Use MCP with Hermes
语音交互 / 本地部署Voice Mode / Self-hosting
从头读文档再过一遍官方 Learning Path

本站以后会继续补:「实战食谱」系列(每篇聚焦一个具体工作流:代码 review agent、内容聚合机器人、运维值班助手……),跟本教程互补。