すべてのページ
このページの内容

ホストのスリープ

💤 Suspend host(ホストをスリープ)は、リレーが動いているマシンをスリープさせます。夜に時間のかかる作業を始め、起きて待たずに、終わったらマシンを止めたいときに使います。リレーはすぐにはマシンをスリープさせません。リクエストをキューに入れ、何も実行されていない状態になるまで待ちます。

これはリレーが Windows で動作しているときだけ使えます。

使い方 #

  1. チャットのヘッダーにある ⋯ メニューを開き、💤 Suspend host を選びます。この項目は会話ではなくリレーに属するため、会話を開いている必要はありません。
  2. Suspend host ダイアログには、最初に Checking what is still running… と表示され、その後、次のどちらかが表示されます。
    • 作業がまだ動作中の場合。Agents are still active.(エージェントがまだ動作中です。)と表示され、リレーが待っているものが一覧になります。ボタンは 💤 Suspend when idle(アイドル時にスリープ)です。
    • 何も実行されていない場合。確認してから 30 秒後にホストがスリープすることが表示されます。ボタンは 💤 Suspend host です。
  3. 確認します。通知に 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:27 カウントダウンです。
💤 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_HOST_SUSPEND_DRY_RUN が設定されています。環境変数を参照してください。
スリープが消えた リレーが再起動しました。もう一度依頼してください。