Skip to content

スケジュールタスク ​

cron 式を使って、決まった時刻に Bot へ仕事を 1 つ任せます: レポートの送信、外部データのチェック、メンテナンス、あるいはエージェント+ツールに任せられる仕事なら何でも。

これは何か ​

Schedule は特定の Bot に紐付きます。時刻が来ると自然言語の command を 1 つエージェントに渡し、エージェントがツールやスキルを使ってそれを実行します。結果は接続済みのチャネルに届けられます。


フィールド ​

フィールド説明
Name表示名。例: 朝のダイジェスト
Description短い説明
Pattern5 フィールドの cron。例: 0 9 * * * は毎日 9:00
Command時刻が来たときにエージェントへ送られる自然言語のタスク
Enabled有効かどうか
Max Calls総実行回数の上限。空 = 無制限
Current Callsすでに実行された回数

Cron(5 フィールド) ​

Bot のタイムゾーン——つまり Bot の 一般 タブの Timezone フィールド——で評価されます。未設定のときはサーバーのトップレベル timezone 設定(デフォルト UTC)にフォールバックします。5 つのフィールドは、分、時、日、月、曜日です。

┌ 分 0–59
│ ┌ 時 0–23
│ │ ┌ 日 1–31
│ │ │ ┌ 月 1–12
│ │ │ │ ┌ 曜日 0–6、日曜=0
* * * * *
Pattern意味
0 9 * * *毎日 9:00
*/30 * * * *30 分ごと
0 0 * * 1毎週月曜 0:00
0 8,20 * * *毎日 8:00 と 20:00
0 0 1 * *毎月 1 日 0:00

一覧を見る ​

Bot の スケジュール タブ: 名前、pattern、有効かどうか、実行回数など。Refresh で再読み込みします。


作成する ​

Bot 自身に作らせる ​

Bot は schedule ツールを持っています。普通の言葉で頼めます。たとえば毎営業日の 8:00 にリポジトリの動きをまとめるよう伝えれば、Bot が cron を組み立てて登録します。

API を呼ぶ ​

POST /api/bots/{bot_id}/schedule。例:

json
{
  "name": "Daily Digest",
  "description": "Summarize repository activity every morning",
  "pattern": "0 8 * * *",
  "command": "Summarize yesterday's repository activity and send the result to Telegram.",
  "enabled": true,
  "max_calls": null
}

(フィールド名は現在の API に従ってください。)


実行時に起きること ​

  1. cron の時刻が来る
  2. current_calls が +1 される
  3. max_calls が設定されていて上限に達した場合、タスクは自動的にオフになる
  4. エージェントが command とスケジュールのコンテキストを受け取る
  5. ツールを使ってメッセージ送信や Web 検索などを行う
  6. 結果は接続済みのチャネルに届けられる

Published under AGPLv3