所有頁面
本頁內容

讓主機休眠

💤 Suspend host(讓主機休眠)會讓中繼所在的機器休眠。當你在晚上開始一項耗時的工作,希望它完成後機器就關掉,又不想熬夜等待時,就可以使用它。中繼不會立刻讓機器休眠:它會把請求排入佇列,等到沒有任何東西在執行為止。

只有在中繼於 Windows 上執行時才能使用。

使用方式 #

  1. 開啟對話標題列中的 ⋯ 選單,選擇 💤 Suspend host。這個項目屬於中繼,而不屬於某個對話,所以不需要開啟任何對話。
  2. Suspend host 對話框一開始會顯示 Checking what is still running…,接著顯示以下兩種情況之一:
    • 仍有工作在進行。它會顯示 Agents are still active.(agent 仍在執行。),並列出中繼在等待的項目。按鈕顯示 💤 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 新增 #

你確認後,中繼每秒檢查一次。當 2 分鐘內都沒有任何東西在執行時,它就讓機器休眠。如果你確認時沒有任何東西在執行,之後也沒有任何東西執行過,等待時間則改為 30 秒。如果在這 2 分鐘內出現了工作,計時就會重新開始。

中繼會等待:

  • 回合。任何對話中排隊中、執行中或已擱置的回合。在對話佇列中等待的訊息也算。
  • 背景任務。agent 處理程序仍存活的背景任務。
  • GitHub Actions 執行。在你提出請求後曾忙碌過的對話,其 GitHub 儲存庫中尚未完成的執行。中繼會在機器上以 gh 指令、在該儲存庫的 origin remote 中讀取,並大約每 20 秒再查看一次。在它還沒查看之前,橫幅會顯示 Checking CI state,休眠也會等待。如果 gh 無法讀取某個儲存庫,該儲存庫會阻擋 15 分鐘,之後就會被忽略。
  • 檢查失敗。如果中繼無法判斷有什麼在進行,它會把這種情況算作工作,並顯示 Activity check failed,所以它絕不會在 agent 執行中讓機器休眠。

因 Claude 用量上限而暫停的回合,若會自行繼續就算作工作;若在等你傳送暫緩的訊息則不算。見用量上限暫停。

每一台開著頁面的裝置都會顯示橫幅,你隱藏了該項目的裝置也一樣:

橫幅 意義
💤 Suspend queued — waiting for: … 有工作在進行。它會列出前兩個項目以及 +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 fired or was dropped(主機休眠已觸發或已捨棄)預設開啟,其標題為 Host suspend(主機休眠)。機器進入休眠時它會顯示 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。見環境變數。
休眠消失了 中繼重新啟動過。請重新提出。