Cron 排程
Cron 讓 Hermes 在指定時間自己執行任務,並把結果送到你指定的平台:例如每天早上九點整理 Hacker News 的 AI 新聞,傳到 Telegram。排程由 Gateway 每 60 秒檢查一次,所以 Gateway 必須在執行中。
三種建立方式
用白話(最簡單)
直接在對話裡說:
Hermes 會用內建的 cronjob 工具幫你建好。
用聊天指令 /cron
/cron add "in 30m" "提醒我檢查建置結果"
/cron add "every 2h" "檢查伺服器狀態"
/cron add "every 1h" "整理新的 feed 項目" --skill blogwatcher
用終端機 hermes cron
hermes cron create "every 2h" "檢查伺服器狀態"
hermes cron edit <job_id> --schedule "every 4h"
hermes cron pause <job_id> # 也可用 resume、run、remove
排程格式
| 類型 | 範例 | 說明 |
|---|---|---|
| 一次性 | in 30m、in 2h、in 1d |
相對時間後執行一次 |
| 固定間隔 | every 30m、every 2h、every 1d |
週期執行 |
| 自然語言 | every monday 9am、weekdays at 9am、every day at 9am |
每週一 9 點、平日 9 點、每天 9 點 |
| Cron 運算式 | 0 9 * * *、0 9 * * 1-5、0 */6 * * * |
每天 9 點、平日 9 點、每 6 小時 |
| ISO 時間 | 2026-03-15T09:00:00 |
指定時間點執行一次 |
結果送去哪裡
| 目標 | 說明 |
|---|---|
origin |
回到建立這個任務的地方(預設) |
local |
只存到 ~/.hermes/cron/output/ |
telegram、telegram:123456 |
Telegram 的主聊天室,或指定聊天室 |
discord、discord:#engineering |
Discord 的主頻道,或指定頻道 |
slack、email、sms |
其他平台 |
all |
所有已連接的主聊天室 |
telegram,discord |
同時送到多個目標 |
每次的輸出會存成 ~/.hermes/cron/output/{job_id}/{時間戳}.md。代理的最終回覆會自動送到目標,所以任務提示裡不需要叫它「傳訊息」。
撰寫任務提示的注意事項
- 提示要自給自足。 每次執行都是全新的代理對話,沒有前一次的記憶;除了附加的技能之外,代理需要的資訊都要寫在提示裡。
- 不能遞迴排程。 排程執行中的代理無法再建立新的排程,避免失控。
- 會被安全掃描。 建立與修改時,提示會被檢查是否含有提示注入或竊取憑證的樣式。
- 無人值守時的危險指令。 預設
approvals.cron_mode: deny,也就是沒人核准時會拒絕,見 安全與部署。
從 OpenClaw 搬來的用戶
遷移指令不會帶走排程,需要在 Hermes 重建,見 從 OpenClaw 遷移。
更多範例見官方 Automate with Cron 與 Cron Troubleshooting。