重新啟動 Host 是生命週期動作,不是一般疑難排解按鈕。屬於目前指派任務的確切 task-owned 非 production 測試/驗證 Host 可直接重新啟動;production、共用與範圍外 Host 仍受其 operator 邊界保護。之後必須比對畫面上的前後狀態,不要假設每項工作都已恢復。
1. 確認重新啟動權限與確切目標
開啟重新啟動控制項前,先分類確切 Host。已指派且屬於任務的非 production 測試/驗證 Host,可直接重新啟動,這是一般任務執行;production、共用、歸屬不明或另一個任務的 Host 不在這項權限內。
- 記錄確切任務、Host/stack 名稱、非 production origin、生命週期命令、外部 control-plane 位置與清理目標。
- 選擇 Restart Host 前,以機械式證據確認有效命令無法到達 production 或另一個 stack。
- 絕對不要把 production port
8802或共用 Host 當成本教學的重新啟動目標。真正的 production 生命週期動作仍由 production operator 或另行明確授權的確切動作處理。 - 不要因為較容易連線,就改用另一個 Host、連線位址或生命週期 domain。
2. 安全記錄重新啟動前的狀態
先登入確切的 task-owned 測試 Host,從顯示 ready 連線狀態的 Sessions 頁面開始。
- 列出必須返回的 Session 顯示名稱,並記下各自出現幾次。
- 開啟每個重要 Session,記下最後一則已完成、畫面可見的訊息或結果。不要把私密內容複製到公開證據。
- 如果 Session 有 Loop,開啟聊天標頭的 More Options 選單,再選擇 Loop。記下各個 Loop 定義、enabled 或 disabled toggle,以及畫面上的 Last 與 Next 值。
- 回到 Sessions。只要情況允許,等待進行中的 provider 回覆、終端機命令、Loop turn 或 scheduler 工作到達安全停止點。
檢查點:你能辨認預期 Host、確切 Session 集合、各重要 Session 最後完成的工作與重新啟動前的 Loop 狀態,而且沒有洩漏憑證、私密 URL、本機路徑或訊息內容。
3. 只重新啟動一次確切的 task-owned Host
檢視完整尺寸截圖

- 開啟 Oysterun 選單,選擇 Host Preferences。
- 找到 Restart Host。閱讀輔助說明,並再次確認 task-owned Host identity 與非 production origin。
- 如果 Host Preferences 還有不相關、未儲存的變更,不要重新啟動。先處理草稿;Oysterun 會顯示 Save Host Preferences changes before restarting Host.
- 只選擇一次 Restart Host。
- 畫面應先顯示 Preparing restore state for existing sessions and enabled loops...,接著顯示 Restart scheduled.
- 停留在 handoff 畫面。它會顯示 Please wait while Oysterun restarts. This usually takes about 30 seconds.,並倒數到你被登出為止。
handoff 進行時,不要再選一次 restart、不要在倒數期間重新整理、不要切換 endpoint,也不要送出新的 Session 工作。
4. 等待同一個 Host 準備完成
檢視完整尺寸截圖

- 保持 restart gate 開啟。停機期間可能顯示 Oysterun is restarting. Sign in will be available when the Host is ready. 或 Waiting for the Host to become available before signing in.
- 不要重複送出密碼,也不要發起另一個生命週期動作。
- 只有頁面顯示 Oysterun is ready. Sign in again. 後才繼續。
- 透過正常、只要求密碼的表單登入,並等待 Sessions。
- 確認同一個預期 origin 的連線指示器回到 Connected。
5. 驗證 Sessions 與中斷的工作
檢視完整尺寸截圖

- 比較 Sessions 清單與重新啟動前的紀錄。先前為 live 或 ready 且符合恢復資格的 Session 應各自出現一次,不應缺少或重複。
- 每個重要 Session 返回而且可用後,才開啟它。
- 確認保留的對話抵達你記錄的同一則最後完成訊息或結果。
- 確認 Oysterun 沒有自動重送先前的 prompt。
- 檢查關機時仍在進行的 provider 回覆、終端機命令、Loop turn、scheduler run 或 shell 工作。重新啟動可能把這些工作標為 interrupted,但不會重播。
返回的 Session 是接續既有對話、重新恢復的 provider runtime;這不表示 Host 停機時尚未完成的工作已經完成。
6. 再次啟用前,逐一驗證 Loop
檢視完整尺寸截圖

- 從已恢復的 Session 聊天開啟 More Options,選擇 Loop。
- 確認預期的 Loop 定義仍在清單中。
- 確認每個 toggle 都是 Disabled。重新啟動會清除 pending occurrence 與舊的 Next 時間。
- 決定是否仍需執行遺漏工作前,先檢查畫面上最後一次結果。
- 只有你仍希望排程該 Loop 時,才明確啟用。啟用會開始新的 cadence;Oysterun 不會補跑遺漏的 occurrence。
安全復原與停止條件
- Restart Host 不存在或被停用:停止。不要改用另一個生命週期 domain;確認這是確切的 task-owned 測試 Host,並為任務 operator 保留畫面狀態。
- 一般重新啟動等待時間後仍未出現 ready 訊息:不要再發起第二次 restart。記錄畫面上的 gate 與時間,再由已指派的任務 operator 檢查該確切 task-owned Host;若擁有權或生命週期範圍不明,則改為升級處理。
- Session 缺少或重複:只選擇一次 Refresh Page,然後再次比對。如果仍不正確,不要建立替代 Session,也不要把工作送到重複項目。保留畫面狀態,再由已指派的任務 operator 在該確切 task-owned Host 上恢復 Session。
- 對話紀錄存在,但 Session 不是 live:只有畫面提供 Resume Chat,而且 resume 是你預期的復原方式時才使用。否則停止;不要自行發明 provider resume 命令。
- Loop 定義缺少:只使用一次 Refresh loops。如果仍缺少,在已指派的任務 operator 於該確切 task-owned Host 上檢查原始定義前,不要重建。
- Loop 非預期地 enabled:將它停用、不要等待它執行,並回報畫面狀態。目前生命週期行為會在重新啟動後預設關閉。
- 工作被中斷:刻意再次啟動前,先檢查最後的畫面結果。絕對不要假設成功,也不要依賴自動重播。
安全停止:只有在確切 Host 顯示 Connected、預期 Session 各自只出現一次、對話檢查點一致,而且每個 Loop 都以重新啟動後的 disabled 狀態完成檢查,才恢復一般工作。