🤖HermesBlog
Hermes 官方教學 · 第26篇2026/8/9· Easy Understand Hermes Agent

第26篇:批次處理——一次處理一大堆任務

Hermes Agent 官方教學第26篇:一次處理一大堆任務

Hermes tutorial

第26篇:批次處理——一次處理一大堆任務

你有沒有過這種經歷:早上打開電腦,先要檢查郵件、看日曆、掃一眼待辦清單,然後才開始幹活。如果這些事能自動幫你做完,該多好?Hermes 的批次處理功能就是幹這個的——它讓 Agent 在啟動時自動執行一組預設任務,就像你的私人助理在上班前先把桌子收拾好。


第1步:寫一個啟動清單檔案

批次處理的核心是一個叫 BOOT.md 的檔案,放在 ~/.hermes/ 目錄下。裡面寫的是你想讓 Agent 每次啟動時自動做的事,格式就是普通的 Markdown 文字,Agent 會讀懂並執行。

# 建立啟動清單
echo "檢查今天的日曆安排,如果有會議,整理出會議要點" > ~/.hermes/BOOT.md

第2步:寫一個鉤子(Hook)來觸發它

光有清單還不夠,你還需要一個「開關」來告訴 Hermes 什麼時候去讀這個檔案。這個開關就是一個鉤子,放在 ~/.hermes/hooks/boot-md/ 目錄下,包含兩個檔案:

HOOK.yaml —— 宣告這個鉤子監聽什麼事件:

hook_type: gateway_startup

handler.py —— 定義具體做什麼:

def handler(**kwargs):
    # 讀取 BOOT.md 檔案
    # 如果檔案存在,就啟動一個 Agent 去執行裡面的指令
    # 如果檔案不存在,就安靜地跳過

這裡有兩個關鍵點需要注意:

  • _resolve_gateway_model() —— 取得閘道目前設定的模型,而不是用預設的
  • _resolve_runtime_agent_kwargs() —— 解析你設定的 API 金鑰、端點位址等憑證

如果不做這兩步,Agent 會用自己的預設設定去連線,結果就是 401 認證失敗。

第3步:重新啟動並測試

# 重新啟動閘道
hermes gateway restart

# 查看日誌,確認鉤子是否正常運作
hermes logs --follow --level INFO | grep boot-md

日誌裡會出現 Running BOOT.md (N chars),然後要不是 boot-md completed: ...(Agent 做了事),要不是 boot-md completed (nothing to report)(Agent 用 [SILENT] 表示無事可做)。

想停用這個功能?刪掉 ~/.hermes/BOOT.md 檔案就行,鉤子會安靜地跳過。

擴展玩法

  • 按星期區分任務:在 BOOT.md 裡寫「如果是週一,順便檢查部署日誌」,Agent 會根據日期自行判斷
  • 多個清單:建立 STARTUP.mdMORNING.md 等多個檔案,每個配一個鉤子
  • 不需要 Agent 的場景:如果你只是想發個固定通知,直接用 httpx 發請求就行,更快更省

為什麼這不算內建功能?

早期版本把批次處理做成了內建鉤子,結果每次啟動都悄悄啟動一個 Agent,用預設設定去連線,導致使用者自訂的端點全部報錯。現在改成文件化的模式,你自己寫鉤子、自己決定用不用,一切透明可控。


總結一下: 批次處理 = 啟動清單(BOOT.md)+ 鉤子(Hook)。它讓 Agent 在啟動時自動執行一組任務,省去你重複操作的時間。核心要點是記得解析閘道設定,否則會認證失敗。

下一篇預告: 第27篇將介紹外掛系統——如何把常用的鉤子打包成可重複使用的外掛,在 CLI 和閘道中都生效。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/batch-processing