リマインダー
リマインダーを設定すると、1つのセッション後に一度、または繰り返し再通知され、削除するまで続きます。
リマインダーは、設定した時刻に既存のセッションへプロンプトを送信します。1回だけ実行することも、誰かが削除するまで繰り返すこともできます。エージェントは、自分の作業を再確認するためにリマインダーを使用します。「24時間後に、ベンダーから返信があったか確認する」「1時間ごとに、デプロイが成功しているか確認する」といった用途です。
リマインダーは、1つのセッションを対象とするトリガーです。違いは次のとおりです。
| トリガー | リマインダー | |
|---|---|---|
| 保存場所 | beeuni.yaml。デフォルトブランチにコミットされる |
データベース。マニフェストの編集もコミットも不要 |
| 実行時 | 通常は新しいセッションを開始する | 対象のセッションにプロンプトを送信する。セッションを開始することはない |
| 存続期間 | 誰かがマニフェストから削除するまで | 誰かが削除するまで。対象のセッションが削除または失敗すると一時停止する |
| 作成できる人 | プロジェクトマネージャー(project.trigger.create) |
セッションにプロンプトを送信できる人。エージェントは自分のセッションに対してのみ作成できる |
| 一覧表示 | beeuni triggers lsのTriggersページ |
beeuni reminders lsのセッションごとの一覧 |
プロジェクト全体で確認すべき作業(毎日のダイジェストなど)にはトリガーを使用します。1つのタスクに属するフォローアップにはリマインダーを使用します。
リマインダーを有効にする
リマインダーはプロジェクト単位の機能フラグで、reminders、デフォルトでは無効です。Settings → Feature flagsで有効にするか、次のコマンドを実行します。
beeuni projects features enable reminders
フラグが無効な間は、すべてのリマインダールートが403をcode: "feature_disabled"で返し、Remindersページには有効化方法が表示され、既存のリマインダーは実行されません。フラグを再び有効にすると、無効な間に missed になったスロットが1回実行され、その後スケジュールが継続します。
リマインダーを設定する
セッション内では、CLIは現在のセッションを対象にします。セッション外では、--session <id>を渡します。
# Fire once, 24 hours from now.
beeuni remind "Check whether the vendor replied to the contract email." --in 24h
# First fire in 24 hours, then every hour until removed.
beeuni remind "Did the vendor reply? If yes, summarize it and remove this reminder." --in 24h --every 1h
# Fire at an exact instant.
beeuni remind "Post the launch checklist to #launch." --at 2026-10-01T09:00:00Z
# Repeat on a cron expression in a time zone.
beeuni reminders add "Post the standup summary." --cron "0 0 9 * * 1-5" --timezone Europe/Berlin
コマンドはリマインダーID(例:reminder.3f9a1c2e7b04)と、次回の実行時刻を表示します。
スケジュールのルール
--in <duration>または--at <ISO-8601>で初回実行を設定します。単独で指定した場合、リマインダーは1回だけ実行されます。--every <duration>で繰り返します。最短の間隔は5mです。各間隔は、前回の実行が処理された時点から始まります。--cron "<expr>"では6フィールドのcron式(秒が先頭)で繰り返します。--timezoneでタイムゾーンを設定します。デフォルトはUTCです。cronリマインダーの実行間隔は5分以上でなければなりません。--inや--atは使用できません。- 期間には
30m、24h、2d、または整数秒を指定します。 --in、--at、--everyには最大366日まで指定できます。- 1つのセッションで有効にできるリマインダーは最大20件、1つのプロジェクトでは最大200件です。いずれかの上限を超えると
409を返します。
実行時の動作
実行されるたびに、リマインダーのテキストが次のヘッダーで始まるプロンプトとしてセッションにキュー登録されます。
[REMINDER reminder.3f9a1c2e7b04 — recurring scheduled check-in on this session, not a new user message. When it is no longer needed, run `beeuni reminders rm reminder.3f9a1c2e7b04`.]
Did the vendor reply? If yes, summarize it and remove this reminder.
- 待機中のセッションが再開します。エージェントはセッションの完全な会話とワークスペースを利用できます。
- 実行によって新しいセッションが開始されることはありません。セッションが削除または失敗した場合、実行はリマインダーを一時停止し、理由を
last_errorに記録します。 - 実行時には、メンバー自身のGmailなど、セッション固有の個人用接続が保持されます。自分が代理していないセッションにリマインダーを設定すると、そのセッションにプロンプトを送信した場合と同様に、これらの接続がクリアされます。
- プロジェクト全体のトリガー一時停止(
beeuni triggers pause)によって、リマインダーも停止します。
実行されるたびにモデルターンが1回消費されます。条件を満たしたら、繰り返しリマインダーをすぐに削除してください。
リマインダーを管理する
| コマンド | 効果 |
|---|---|
beeuni reminders ls [--json] |
セッションのリマインダー(ID、状態、スケジュール、次回実行、テキスト)を一覧表示します。 |
beeuni reminders pause <id> |
実行を停止します。リマインダーは保持されます。 |
beeuni reminders resume <id> |
現在時刻を基準に再度有効化して実行します。すでに実行された1回限りのリマインダーはdoneのままです。 |
beeuni reminders rm <id> |
リマインダーを削除します。エイリアス:stop、delete |
リマインダーの状態は、active(スケジュール済み)、paused(無効)、またはdone(実行済みの1回限りのリマインダー)です。
APIとSDK
ルートはセッション単位です。
| ルート | 効果 |
|---|---|
GET /v1/projects/:projectId/sessions/:sessionId/reminders |
リマインダーを一覧表示します。 |
POST /v1/projects/:projectId/sessions/:sessionId/reminders |
リマインダーを1件作成します。Body:prompt、任意のname、およびevery、cron + timezone、at、またはin。201を返します。 |
PATCH /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
Bodyが{ "enabled": false }の場合は一時停止し、{ "enabled": true }の場合は再開します。 |
DELETE /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
リマインダーを1件削除します。 |
無効なスケジュールの場合は、理由とともに400を返します。削除されたセッションの場合は409を返します。別のセッションを指定するエージェント認証情報の場合は403を返します。
const reminders = beeuni.session(projectId, sessionId).reminders;
const reminder = await reminders.create({ prompt: 'Did the vendor reply?', in: '24h', every: '1h' });
await reminders.update(reminder.id, { enabled: false });
await reminders.remove(reminder.id);