コンテンツにスキップ

スケジュール自動化

「毎朝の要約を受け取りたい」「定期的に状態をチェックして知らせてほしい」 ─ こうした自分がいなくても動く運用は、定期ジョブで実現できます。Hermes Desktop内では、Cron Jobsツールセットがこの役割を担います。

このレシピは、定期ジョブの作り方・結果の届け先・自律実行を安全に保つ設定を一通りまとめます。スキルとツールセットの基礎はスキルとプロファイルを使うを前提とします。

このレシピの操作名・設定キーは実機ソースで確認した内容に基づきます。定期ジョブは、チャットからの依頼でも、デスクトップの「スケジュール済みジョブ」画面からでも作成・管理できます。

仕組み ─ Cron Jobs ツールセット

定期実行は、cronjob を含むCron Jobsツールセットで動きます。このツールセットは、定期ジョブの作成・一覧・更新・停止・再開・実行を行い、スキルを添付することもできます(スキルとツール)。

ジョブを作る方法は2通りです。

  • チャットで依頼する: 「毎朝8時に〜して、結果を知らせて」のように頼むと、エージェントが cronjob でジョブを登録します。あらかじめ「スキルとツール」のツールセットタブでCron Jobsを有効にしておきます。
  • Cron画面から作る: デスクトップには専用の「スケジュール済みジョブ」画面があり、名前・プロンプト・頻度(毎日/平日/毎週/毎月/毎時/15分ごと/カスタム)・配信先を指定してジョブを直接作成・編集できます。頻度の「カスタム」ではcron式や「weekdays at 9am」のような自然言語も使えます。ジョブごとに使うモデルピッカー(既定はグローバルモデル)も指定できます。

以後は、どちらの方法で作ったジョブも指定したスケジュールで実行されます。ジョブにスキルを添付すれば、定型作業の段取り(自作スキルを含む)を定期実行に組み込めます。

結果の届け先を決める

定期ジョブは、あなたが画面を見ていないときにも動きます。だから結果をどこに届けるかを決めておくことが重要です。届け先は、接続したメッセージングチャネルの「Home(既定送信先)」です。

チャネルごとに設定欄の名前が異なります(メッセージング各種)。

  • LINE: Home channel ID(cron / 通知の既定送信先)
  • Discord / Teams: ホームチャンネル ID / 名(プロアクティブ送信先)
  • Google Chat: Home space ID
  • iMessage(Photon): Home Photon targetiMessage

つまり手順は、(1) 受け取りたいチャネルを接続し(連携の全体像)、(2) そのチャネルのHome宛先を設定し、(3) 定期ジョブの結果がそこへ届くようにする、という流れです。チャネルは「メッセージングゲートウェイ」を介して動くため、ゲートウェイが起動していないと結果は届きません(ゲートウェイ)。

自律実行を安全に保つ

定期ジョブは無人で動くため、危険なコマンドをどう扱うかが要点です。ここで押さえるべきは、cronジョブの安全性は、対話セッションの承認モード(Manual / Smart / Off)ではなく、cron専用の設定 approvals.cron_mode で決まるという点です。cronセッションは対話承認・ゲートウェイ承認の対象になりません。承認を出せる人がその場にいないため、対話承認へ回すと応答者不在のまま無期限に止まってしまうからです。それを避けるための専用モードが cron_mode です。

approvals.cron_mode は設定ファイル(config.yaml)専用のキーで、値は2つ、既定は deny です。

  • deny(既定・安全): cronジョブが危険と判定されたコマンドに当たると、そのコマンドをブロックし、エージェントに別の手段を探させます。承認待ちでハングすることはありません。無人運用の既定はこれで安全側に倒れます。ジョブ内容によっては目的を達成できないことがありますが、それは危険な操作を無人で通さないための挙動です。
  • approve: cronジョブ内の危険なコマンドをすべて自動承認します。無人でも破壊的な操作まで通したい場合に限って、リスクを理解したうえで選びます。

さらに、絶対に実行させたくないコマンドは approvals.deny(無条件拒否ルール)で明示できます。ここに一致したコマンドは --yolo や承認モード off、cronの approve よりも先に評価され、無条件でブロックされます。「cronは deny で安全側に置きつつ、特定のコマンドだけは何があっても止める」という二段構えが作れます。cron_modeapprovals.deny はどちらも設定画面には出ない設定ファイル専用のキーです。設定の詳細は安全性を参照してください。

定期ジョブに破壊的な操作や外部送信を含めるほど、無人実行のリスクは上がります。ジョブの内容は、人がいなくても安全に任せられる範囲に絞るのが原則です。

メッセージングチャネル自体のセキュリティ前提(許可ユーザーを必ず絞る)も忘れないでください。定期ジョブの結果が届くチャネルが第三者に開かれていると、出力が漏れる入口になります(連携の全体像のセキュリティ前提)。

ジョブを管理する

作ったジョブは、チャットでエージェントに依頼して一覧・更新・停止・再開・実行できます(Cron Jobsツールセットの機能)。あわせて、デスクトップの「スケジュール済みジョブ」画面からも、ジョブの一覧・編集・一時停止・再開・「今すぐ実行」・削除を直接操作できます。実行履歴(前回・次回の実行)もこの画面で確認できます。不要になったジョブは停止・削除し、内容を変えたいときは編集します。「いま何が定期実行されているか」を把握しておくことが、意図しない自動実行を防ぎます。

代替 ─ Automation Blueprints(Desktop の外)

cronの記法を書かずにスケジュール実行を設定したい場合、Automation Blueprintsという仕組みがあります。これはブラウザのダッシュボードやCLIから使うもので、Hermes Desktopアプリの画面の外で提供されます(変更履歴)。本ガイドはDesktopアプリを対象とするため詳細は扱いません。入口は公式リンク集を参照してください。

前提・操作・期待結果・つまずいたら

  • 前提: スキルとツールセットの違い・承認モードを理解している。結果を受け取るチャネルを接続でき、メッセージングゲートウェイが起動している。
  • 操作: Cron Jobsツールセットを有効にし、チャットで定期ジョブを依頼する。受け取りチャネルのHome宛先を設定する。ジョブの内容は無人で安全に任せられる範囲に絞り、承認モードと整合させる。
  • 期待結果: 指定スケジュールでジョブが実行され、結果が指定チャネルのHome宛に届く。一覧・停止・再開で管理できる。
  • つまずいたら:
    • 結果が届かない: チャネルのHome宛先が設定されているか、メッセージングゲートウェイが起動しているか、許可ユーザー設定を確認する(連携の全体像)。
    • ジョブが目的を完了できない: cronは対話承認では止まらない(承認待ちでハングしない)。cron_modedeny(既定)の場合、危険と判定されたコマンドはブロックされ、エージェントが別の手段を探す。ジョブの作業範囲を安全なものに絞るか、どうしても危険な操作を無人で通す必要があるなら、リスクを理解したうえで config.yamlapprovals.cron_modeapprove にする。
    • どんなジョブが動いているか分からない: エージェントにジョブ一覧を出させるか、「スケジュール済みジョブ」画面で確認し、不要なものを停止・削除する。
    • Cron Jobsが見当たらない: 「スキルとツール」のツールセットタブで有効になっているか確認する。
    • cronを書かずに設定したい: Automation Blueprints(ブラウザ/CLI)を検討する。Desktopの外の機能なので公式ドキュメントを参照する。

関連

© 2026 Hermes Desktop ガイド(非公式)。引用・部分転載は、出典として本ページへのリンクを添えていただければ歓迎します。記事全文の無断複製・転載はご遠慮ください。