毎朝6時と6時30分—Hermes cronで日次処理を組む


毎朝6時と6時30分—Hermes cronで日次処理を組む

日次ノートの処理を手動で確認した後、Hermes Agentのcronへ二つのジョブを登録しました。一つは朝6時のAIニュース確認、もう一つは6時30分の前日記録統合です。

30分ずらした理由

記録統合はニュースジョブの出力も材料にします。同時刻に起動すると、どちらが先に終わるか分かりません。依存する処理は開始時刻をずらし、後段が前段の最終成功を確認する設計にします。

“`text
06:00 ニュース収集・要約
↓ 成功結果を保存
06:30 前日分のPLAUD・メモ・ニュース・ChatGPTを統合

Obsidian日次ノート
“`

単に30分待つだけでなく、ニュース出力が対象日と一致するか、成功した実行結果かを確認します。見つからなければ「ニュース取得なし」と明示して日次処理自体は続けられます。

cron登録後に見るもの

“`bash
hermes cron list
hermes cron status
hermes cron runs JOB_ID
“`

次回実行時刻、タイムゾーン、active状態、直近結果、配信先、実行スクリプトを確認します。最初は手動実行し、生成されたノートとログを読みます。

Gatewayが止まると自動実行されない

HermesのローカルcronはGatewayが実行基盤です。ジョブがactiveでもGatewayが止まっていれば予定時刻に動きません。手元では2026年7月20日朝の二ジョブが成功している一方、同日の確認時点で`Gateway is not running`という警告が出ました。これは「直近成功」と「次回も動く」が同義ではない例です。

記事公開時点では、Gatewayサービスの復旧と自動起動確認を未完了事項として扱います。成功した実績だけを見て常時稼働と断定しません。

ヘッドレス実行の安全設定

人が応答できないcronでは、危険な操作の承認待ちが問題になります。Hermes Agentの公式Securityでは、cron時の危険コマンドを既定で拒否する`cron_mode: deny`が案内されています。自動ジョブへ外部書き込みを許可する場合も、専用Toolの条件と保存先制限を使います。

再現チェック

  • [ ] 依存ジョブの時刻をずらした
  • [ ] 前段の成功と対象日を後段で確認する
  • [ ] 登録直後に手動実行した
  • [ ] Gateway稼働を別に確認した
  • [ ] 最終成功時刻と失敗通知がある
  • [ ] cronの危険操作を既定拒否にした

次回は、Obsidian連携をLocal REST API案から公式CLIへ切り替えた経緯をまとめます。

参考にした一次情報

  • [Hermes Agent Cron Scheduling](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)
  • [Hermes Agent Security—Approval Modes](https://hermes-agent.nousresearch.com/docs/user-guide/security/)
  • [Hermes Agent公式リポジトリ](https://github.com/NousResearch/hermes-agent)

Back to top