排程 Hermes:如何建立、檢查與控制自動化 Cron 任務
關於週期性 AI 任務、報告、傳送閘道與安全操作控制的實用指南。
Cron 任務是根據排程執行的任務。在 Hermes 中,排程指令可以呼叫模型、使用工具、建立檔案並透過閘道傳送報告。這使得 cron 任務比普通的提醒功能更強大——也因此更需要謹慎設計。
基本流程很直接:安裝 Hermes、設定模型、建立排程指令、檢查生成的檔案與報告,然後在依賴其時間表之前手動測試任務。
建立工作環境
Hermes 可以透過其支援的安裝命令進行安裝,並透過設定程序進行設定。選擇一個在工具使用方面可靠的模型提供者,並在建立自動化之前確認一般的互動式請求可以正常運作。
如果基礎代理無法持續回應,cron 任務只會在無人看管的情況下重複失敗。應優先解決提供者憑證、模型選擇、閘道設定與檔案權限等問題。
在選擇排程之前先設計任務
任務的目的應決定其執行頻率。每小時的排程適合變化快速的營運數據。每日排程適合簡報與摘要。每週排程適合研究、報告與維護。
撰寫任務時應假設沒有人會在現場進行釐清。應包含:
- 確切的目標;
- 經核准的資料來源;
- 要檢查的時間範圍;
- 預期的輸出格式;
- 檔案或報告的傳送目的地;
- 什麼情況算作沒有變化;
- 逾時或最大範圍;
- 需要核准的動作。
避免使用「檢查我的業務並加以改善」這類模糊的提示詞。它們會產生不可預測的工作與成本。
建立第一個 Cron 任務
Hermes 可以解讀自然語言請求來建立排程任務。例如,使用者可以要求在指定的當地時間產出每日研究報告。
建立後,檢查 cron 列表。確認任務名稱、排程表達式、時區、啟用狀態與下一次執行時間。一小時的時區錯誤可能導致簡報在夜間送達,因此不要假設顯示的排程是正確的。
Hermes 可能會建立輔助腳本與報告目錄。這些檔案是寶貴的證據。請閱讀它們以了解排程任務將執行什麼,而不是僅依賴對話式的解釋。
手動觸發任務
每個新的 cron 任務應手動執行一次。這可以驗證完整的鏈路:
- 排程器可以啟動任務。
- 模型與工具可用。
- 所需檔案可以讀取與寫入。
- 報告具有預期的結構。
- 結果到達選定的閘道。
檢查實際的成果,而不僅僅是成功訊息。任務可能成功完成,卻產出空白或低品質的報告。
暫停、恢復與按需執行
操作控制至關重要。Hermes 提供了列出任務、暫停、恢復與立即觸發的方法。
當資料來源變更、輸出變得嘈雜或相關專案處於非活躍狀態時,請暫停任務。不要僅僅因為個別任務的 token 成本看似很小,就讓不必要的排程繼續運作。
按需觸發對於測試與異常執行非常有用。它應使用與排程版本相同的設定,以便測試結果準確反映未來的行為。
建立每小時、每日與每週的分層
不同的排程可以支援同一個系統:
- **每小時:**檢查服務健康狀態、新的緊急客戶或閾值事件。
- **每日:**準備行事曆與收件匣簡報、總結完成的工作或收集選定的指標。
- **每週:**執行競爭者研究、檢視專案進度或產出管理報告。
避免各層之間的工作重複。每小時任務可以將事件收集到一個檔案中,而每日任務則總結該檔案。這比讓每個排程重複相同的廣泛研究更有效率。
透過閘道傳送結果
任務只有在結果到達正確位置時才有用。Hermes 可以透過已設定的訊息閘道傳送結果,或儲存成果供日後審查。
傳送指令應精確指定頻道或主題。來自不同專案的報告不應全部出現在一個通用聊天室中。如果傳送失敗,請在本機保留成果並發出錯誤訊息,而不是丟棄已完成的工作。
Telegram、Slack、電子郵件或其他閘道的憑證必須保存在密碼儲存空間中。Cron 定義應參照已設定的頻道,而不是包含密碼本身。
監控報告與錯誤
每次執行應留下記錄,包含開始時間、完成狀態、使用的模型或腳本、輸出位置以及任何錯誤。這個歷史記錄有助於區分一次性提供者中斷與有缺陷的工作流程。
有用的監控問題包括:
- 任務是否在預期時間執行?
- 花了多久時間?
- Token 使用量是否意外變化?
- 輸出是否已送達?
- 它處理了新資料還是重複了舊資料?
- 錯誤是否回報在可見的地方?
Cron 自動化是一項持續的服務,而不是一次性的設定。
無人值守任務的安全規則
排程任務應從唯讀動作開始。報告與草稿生成比發佈、刪除、付款或修改帳戶更安全。
當動作必要時,請將建議與執行分開。任務可以準備變更並發送核准請求。只有明確授權的回應才應允許最終動作。
儘可能使用冪等操作。重複執行不應建立重複的記錄或訊息。儲存檢查點,例如最近處理的訊息 ID 或報告日期。
一個可靠的 Cron 工作流程
完整的操作循環是:
- 定義成果與限制。
- 以互動方式測試任務。
- 使用明確的時區建立排程。
- 檢查生成的定義與腳本。
- 觸發一次手動執行。
- 驗證成果與傳送。
- 監控下一次實際的排程執行。
- 在數次執行後檢討成本與品質。
- 暫停或修改不再創造價值的任務。
Hermes cron 任務之所以強大,是因為它們可以結合排程執行與推理能力及工具。同樣的力量也使得透明度至關重要。一個可靠的任務具有明確的目的、有範圍限制的權限、可見的輸出以及經過測試的停止方式。
動手實作:建立並控制每日研究簡報
**成果:**一個不依賴目前對話上下文的 Cron 任務,可以被建立、列出、立即執行、暫停、恢復與檢查。
**時間:**15–20 分鐘。
**風險:**中。手動執行會呼叫已設定的模型,也可能使用網頁工具,因此會消耗 token 與外部 API 配額。
開始之前
先確認一般互動式代理程式可以運作。建立隔離的工作目錄與一個經核准的研究問題。
hermes doctor
hermes cron status
mkdir -p "$HOME/hermes-cron-lab/inputs"
mkdir -p "$HOME/hermes-cron-lab/outputs"
cat > "$HOME/hermes-cron-lab/inputs/research-questions.md" <<'EOF'
# 經核准的問題
本週 Hermes 官方 Cron 文件有哪些變更?
EOF
動手完成
使用絕對工作目錄、明確輸出、本機傳送與無資料時的處理方式建立任務。
hermes cron create "every 1d at 09:00" "讀取 inputs/research-questions.md。只使用 Hermes 官方來源研究列出的問題。建立 outputs/daily-research-brief.md,包含「來源」、「發現」與「不確定事項」。附上來源 URL。如果輸入沒有問題,不進行外部呼叫,並回報這次執行已跳過。" --workdir "$HOME/hermes-cron-lab" --name "daily-research-brief" --deliver local
驗證成功
逐一操作每個生命週期控制。手動執行會排入排程器的下一個週期,因此檢查成果前要讓排程器完成執行。
hermes cron list
hermes cron run daily-research-brief
hermes cron status
hermes cron pause daily-research-brief
hermes cron list
hermes cron resume daily-research-brief
hermes cron list
test -s "$HOME/hermes-cron-lab/outputs/daily-research-brief.md"
sed -n '1,100p' "$HOME/hermes-cron-lab/outputs/daily-research-brief.md"
# 讓實作以不重複執行、不再產生費用的狀態結束。
hermes cron pause daily-research-brief
hermes cron list
成功條件是:清單中看得到任務及其暫停/恢復狀態、手動執行完成、報告含引用來源,而且最後一份 Cron 清單顯示 daily-research-brief 已暫停。
發生問題時
- 如果
hermes cron status沒有顯示排程器心跳訊號,先修復閘道器或排程器,不要直接重建任務。 - 如果建立時拒絕工作目錄,改用已存在的絕對路徑。
- 如果任務執行但沒有檔案,檢查 Cron 執行輸出與紀錄,再收緊提示詞指定的輸出位置。
- 如果傳送成功但報告空白,以互動方式測試相同指令,並確認模型提供者憑證與網頁工具權限。
安全、隱私與成本
Cron 會在新的工作階段中執行,所以提示詞必須包含所有限制,不能依賴目前聊天內容。測試期間使用本機傳送、限制核准的網域與報告長度。本實作刻意以暫停狀態結束;只有在你明確接受持續產生的模型與外部 API 費用,且確認每日執行確實有用後,才執行 hermes cron resume daily-research-brief。模型型任務每次執行都會產生成本;若確定性腳本已能產出最終訊息,應改用不啟動代理程式的純腳本模式(no-agent)。
官方參考
來源影片: Setting Up Automated Cron Jobs In Hermes Agent,AI Automation Station。根據完整逐字稿改編重組;已移除贊助內容與頻道推廣。

