ホストのスリープ
💤 Suspend host(ホストをスリープ)は、リレーが動いているマシンをスリープさせます。夜に時間のかかる作業を始め、起きて待たずに、終わったらマシンを止めたいときに使います。リレーはすぐにはマシンをスリープさせません。リクエストをキューに入れ、何も実行されていない状態になるまで待ちます。
これはリレーが Windows で動作しているときだけ使えます。
使い方 #
- チャットのヘッダーにある
⋯メニューを開き、💤 Suspend host を選びます。この項目は会話ではなくリレーに属するため、会話を開いている必要はありません。 - Suspend host ダイアログには、最初に
Checking what is still running…と表示され、その後、次のどちらかが表示されます。- 作業がまだ動作中の場合。Agents are still active.(エージェントがまだ動作中です。)と表示され、リレーが待っているものが一覧になります。ボタンは 💤 Suspend when idle(アイドル時にスリープ)です。
- 何も実行されていない場合。確認してから 30 秒後にホストがスリープすることが表示されます。ボタンは 💤 Suspend host です。
- 確認します。通知に
Host suspend queued: the PC sleeps once all agents are done.と表示されます。何も実行されていなかった場合はHost suspend queued: everything is idle, sleeping in 30 seconds. Cancel from the banner.と表示されます。
スリープがキューに入っている間、メニュー項目は 💤 Suspend pending…(スリープを保留中…)と表示されます。
項目の場所 #
この項目は ⋯ メニューにあり、既定でオンです。Settings → General(設定 → 一般)にあるスイッチ Show Suspend host action(「ホストをスリープ」アクションを表示)で、表示と非表示を切り替えられます。このスイッチはブラウザーごとに保存されるため、別のデバイスは独自の値を保ちます。このスイッチが制御するのはメニュー項目だけです。キューに入ったスリープのバナーは、すべてのデバイスに表示されます。
この項目は、リレーが何で動いていても表示されます。Windows で動作していないリレーでは、ダイアログに Host suspend is only available when the relay runs on Windows.(ホストのスリープはリレーが Windows で動作しているときだけ使えます。)と表示され、ボタンは Close(閉じる)だけになります。そうした環境では、このアクションをオフにしてください。
待機の仕組み 0.9.4 で追加 #
確認した後、リレーは 1 秒ごとにチェックします。何も実行されていない状態が 2 分間続くと、マシンをスリープさせます。確認した時点で何も実行されておらず、その後も何も実行されていない場合は、待機時間は代わりに 30 秒になります。2 分の間に作業が発生すると、時間の計測は最初からやり直しになります。
リレーが待つ対象は次のとおりです。
- ターン。 いずれかの会話で、キューに入っている、実行中、または保留中のターンです。会話のキューで待っているメッセージも対象になります。
- バックグラウンドタスク。 まだ動いているエージェントプロセスのバックグラウンドタスクです。
- GitHub Actions の実行。 スリープを依頼した後に作業していた会話の GitHub リポジトリにある、未完了の実行です。リレーはマシン上の
ghコマンドを使い、リポジトリのoriginリモートを対象にこれを読み取り、約 20 秒ごとに確認し直します。まだ確認していない間は、バナーにChecking CI stateと表示され、スリープは待機します。ghがあるリポジトリを読み取れない場合、そのリポジトリは 15 分間スリープを妨げ、その後は無視されます。 - チェックの失敗。 何が動作中かをリレーが判断できない場合、それを作業として扱い、
Activity check failedと表示します。そのため、エージェントが動いているのにマシンをスリープさせることはありません。
Claude の使用量の上限で一時停止しているターンは、自動で再開する場合は作業として扱われ、保留されたメッセージをユーザーが送信するのを待つ場合は作業として扱われません。上限での一時停止を参照してください。
表示される内容 #
ページを開いているすべてのデバイスに、バナーが表示されます。項目を非表示にしたデバイスにも表示されます。
| バナー | 意味 |
|---|---|
💤 Suspend queued — waiting for: … |
作業が動作中です。最初の 2 件と +N more が示されます。 |
💤 Everything is idle — suspending host in 0: |
カウントダウンです。 |
💤 Suspending host now… |
コマンドが送信されました。Cancel(キャンセル)はもうありません。 |
取り消し #
バナーの Cancel を押します。⋯ メニューを開いて 💤 Suspend pending… を選び、Cancel queued suspend(待機中のスリープを取り消す)を押すこともできます。通知に Queued host suspend cancelled. と表示されます。
キューに入ったスリープは、リレーのメモリーにだけ保持されます。更新などでリレーが再起動すると、リクエストは破棄されるため、もう一度依頼する必要があります。
通知 #
タイトルが Host suspend(ホストのスリープ)のプッシュ通知 Host suspend fired or was dropped(ホストのスリープが実行または破棄された)は、既定でオンです。マシンがスリープするときは All agents finished; the host is suspending now. と、再起動によってリクエストが取り消されたときは Queued host suspend dropped: relay restarting. と表示されます。通知を参照してください。
トラブルシューティング #
| 問題 | 確認すること |
|---|---|
| 項目が見当たらない | このブラウザーの Settings → General で Show Suspend host action がオフになっています。 |
| ダイアログに Windows でしか使えないと表示される | リレーが Windows で動作していません。 |
| スリープがいつまでも実行されない | ダイアログを開くかバナーを読んでください。妨げているものが示されます。未完了の GitHub Actions の実行、バックグラウンドタスク、キュー内のメッセージも対象になります。 |
通知に Host suspend failed: … と表示される |
スリープのコマンドが失敗しました。通知に理由が含まれています。 |
何も起きないが、ログに DRY RUN と出ている |
リレーに OAR_ が設定されています。環境変数を参照してください。 |
| スリープが消えた | リレーが再起動しました。もう一度依頼してください。 |