概要
OpenClaw 内蔵の cron ツールは、AI エージェントが定時タスクの作成、管理、実行を行うことを可能にします。定期的なデータ取得、周期的なレポート生成、定時メッセージリマインダーなど、cron ツールはあらゆるシナリオに対応できます。七段階ツールパイプラインの内蔵ツールの一つとして、OpenClaw の会話システムやメッセージチャンネルと深く統合されています。
Cron ツールアーキテクチャ
cron ツールは Pi SDK 埋め込みレイヤーで動作し、システムレベルのスケジューラーを利用してタスクを管理します。各定時タスクは本質的に事前定義されたエージェントアクションであり、トリガー時に新しいエージェントセッションを作成して実行します。
従来の Cron との違い
従来の cron は固定のシェルコマンドを実行しますが、OpenClaw の cron は AI エージェントアクションを実行します。これにより、定時タスクにインテリジェントな意思決定を含めることができます。例えば、「毎朝9時に天気をチェックし、雨の予報があれば傘を持つようリマインドして」というタスクでは、AI エージェントが実際の天気状況に基づいてリマインダーを送信するかどうかを判断します。
基本設定
Cron ツールの有効化
tools:
cron:
enabled: true
maxTasks: 50
minInterval: 60
storage: /data/openclaw/cron
timezone: "Asia/Shanghai"
パラメータ説明
- maxTasks:システムが許可する定時タスクの最大数
- minInterval:最小実行間隔(秒)。過度に頻繁なタスクを防止
- storage:タスク定義の永続化ストレージパス
- timezone:デフォルトのタイムゾーン設定
定時タスクの作成
会話を通じた作成
ユーザーは自然言語での会話を通じて、AI エージェントに直接定時タスクを作成させることができます。例えば:
- 「毎朝8時にニュースの要約を送って」
- 「毎週月曜日の午後2時に定例会議のリマインダーを出して」
- 「6時間ごとにあるウェブサイトの価格変動をチェックして」
AI エージェントがユーザーの意図を解析し、cron 式と実行アクションに変換します。
Cron 式
OpenClaw は標準の5フィールド cron 式をサポートしています:
分 時 日 月 曜日
拡張構文もサポートしています:
@hourly— 毎時実行@daily— 毎日実行(午前0時)@weekly— 毎週実行@monthly— 毎月実行*/N— N 単位ごとに実行
タスク定義構造
各定時タスクには以下の情報が含まれます:
{
"id": "task-uuid",
"name": "毎日のニュース要約",
"schedule": "0 8 * * *",
"channelId": "discord-channel-123",
"userId": "user-456",
"action": "今日のトレンドニュースを検索して要約を生成し、チャンネルに送信",
"enabled": true,
"createdAt": "2026-03-14T10:00:00Z",
"lastRun": null,
"nextRun": "2026-03-15T08:00:00Z"
}
タスク実行フロー
定時タスクがトリガーされると、システムは以下のステップを実行します:
- セッション作成:タスク用に新しいエージェントセッションを作成
- コンテキスト復元:タスクに関連するチャンネル情報とユーザー設定をロード
- システムプロンプト構築:
buildAgentSystemPrompt()を呼び出して適切なシステムプロンプトを生成 - ツール準備:七段階パイプラインを通じて利用可能なツールセットを準備
- アクション実行:AI エージェントが事前定義されたアクションを実行
- 結果配信:実行結果を指定チャンネルに送信
- ステータス更新:タスクの
lastRunとnextRunレコードを更新
タスク管理
タスク一覧の表示
ユーザーは会話を通じて現在の定時タスクを照会できます:「私のすべての定時タスクを表示して」。AI エージェントがそのユーザーに関連するすべてのタスクとそのステータスを一覧表示します。
変更と削除
タスクの実行時間、アクション内容、ターゲットチャンネルはいつでも変更できます。また、削除せずにタスクを一時的に無効化し、後で再有効化することも可能です。
実行履歴
各タスク実行の結果が記録され、実行時間、成功/失敗、出力内容、リソース消費が含まれます。ユーザーは履歴を確認してタスクの効果を評価できます。
他のツールとの連携
cron ツールの強力さは、利用可能な他のあらゆるツールを使用する操作をトリガーできる点にあります:
- cron + browser:定期的な Web ページスナップショットの取得、ページ変更の監視
- cron + web:定期的な API 呼び出しによるデータ更新の取得
- cron + messaging:定期的な複数チャンネルへの通知送信
- cron + sessions:定期的な期限切れセッションデータのクリーンアップ
エラー処理とリトライ
リトライ戦略
tools:
cron:
retry:
maxAttempts: 3
backoff: exponential
initialDelay: 60
maxDelay: 3600
タスク実行が失敗すると、システムは設定されたリトライ戦略に基づいて自動的にリトライします。指数バックオフ戦略により、頻繁なリトライによるシステム負荷の増加を防ぎます。
失敗通知
連続して失敗したタスクはアラート通知をトリガーします。管理者は通知方法(チャンネルメッセージ、メールなど)とトリガーしきい値を設定できます。
リソース制御
定時タスクによる過度なリソース消費を防ぐため、OpenClaw は多次元の制限を提供しています:
- 同時実行制限:同時に実行できるタスクの最大数
- 実行時間制限:単一タスクの最大実行時間
- 頻度制限:同一タスクの最小実行間隔
- クォータ管理:各ユーザーが作成できるタスク数の上限
永続化
Cron タスク定義は JSONL 形式で永続化ストレージに保存されます。システムはタスクデータに対して定期的に圧縮(compaction)を実行し、履歴レコードをマージしてストレージ容量を制御します。これは OpenClaw のセッション永続化メカニズムと一貫しています。
まとめ
OpenClaw の cron ツールは、従来の定時タスクと AI エージェントのインテリジェントな意思決定能力を組み合わせることで、定時タスクを機械的な繰り返し実行にとどめず、リアルタイムの状況に応じて柔軟に対応できるものにします。このツールを適切に活用することで、自動化運用と情報取得の効率を大幅に向上させることができます。