Gateway 的控制平面探針往往只回答「程序在不在、連接埠通不通」;用戶端錯誤 gateway closed (1000) 常見於WebSocket/工作階段被伺服器主動關閉或驗證與政策未對齊之後。下面七條用於一線自檢:命中越多,越不要只在 UI 裡按重新整理,而應依本文第三節做一輪有序重啟 + 設定驗證。
把「探針綠」當成「全鏈路綠」:status 裡 RPC OK 只涵蓋窄檢查;裝置類指令、工具執行通道仍可能因 scope 缺失或工作階段過期而失敗。
Token 漂移:CLI 環境變數、設定檔與 Gateway 程序啟動時載入的 token 不是同一份;輪換金鑰後只改了一側會出現「偶發能連、批次失敗」。
工作區路徑不一致:agents.defaults.workspace 指向舊目錄或容器內路徑對應錯誤時,工具層會拒絕執行或迅速斷線。
CLI-only 模型後端:某些 *-cli/... 路由會依設計停用檔案類工具,表現為「Gateway 在線但工具不可用」,與 closed(1000) 容易混淆。
升級後雙程序:套件更新完成但舊 Gateway 仍占用連接埠或 PID 檔未清理,新程序半啟動,探針命中舊監聽面。
安全政策收緊:剛啟用 dmPolicy/networkPolicy 後,工作階段握手成功但首個封包即被政策關閉;需對照 安全加固篇 的允許清單。
缺少最小重現包:工單只截半行錯誤,沒有 CLI 版本、設定片段與最近變更;二線只能猜,恢復時間被拉長。
這些痛點的共同根因,是把分散式系統的多層健康壓縮成單一布林值。接下來用一張表把「你看到的表象」對應到「應先驗證的指令」,避免在日誌海裡盲游。
把本表貼在值班手冊頂部:先對齊「你看到的字串」,再選最短驗證路徑。具體子指令以你安裝的 OpenClaw 版本為準,下列用示意指令名表達意圖。
| 你看到的現象 | 高機率根因 | 建議先執行的檢查 |
|---|---|---|
| RPC OK,但操作裝置/通道時報 closed(1000) | 工作階段 scope 與實際操作不一致,或 Token 與 Gateway 啟動環境不一致 | openclaw status --all;核對 token 來源;對照安全設定中的 allowlist |
| 升級後「工具全灰」 | 模型後端切到 CLI-only;或 Gateway 未重啟載入新設定 | openclaw models list;改回非 CLI 路由後 openclaw gateway restart |
| 偶發成功、批次失敗 | 多終端多 token;或反向代理快取了舊連線 | 統一從單一 shell 匯出 env;清理用戶端工作階段;檢查反向代理 idle timeout |
| 路徑類工具拒絕執行 | workspace 設定與實際 repo 路徑不一致 | openclaw config get agents.defaults.workspace 與磁碟實際路徑 diff |
| 政策變更後立刻斷線 | dmPolicy/networkPolicy 收緊後首包被拒 | 回讀 安全加固篇 片段;暫時放寬到已知工作階段做驗證 |
「探針綠」只證明控制平面還活著;要證明「你能穩定幹活」,還必須對齊 token、workspace、模型後端與政策四條線。
更完整的日誌與回滾節奏見 生產觀測篇:本文優先讓你在十分鐘內判斷該走「重啟 + 驗證」還是「設定回滾」。
下列順序刻意把低成本動作放在前、把設定回滾放在後;避免一上來就改防火牆或重裝。若你在生產環境,先在工單裡寫明「影響面:僅本機 CLI/含多用戶工作階段」。
凍結並行操作:讓同事暫時停止新開工作階段與批次腳本,避免你重啟 Gateway 時被自動重連風暴淹沒。
採集狀態快照:執行 openclaw --version、openclaw status --all(若支援)並儲存輸出;記錄最近是否輪換 token 或改過 openclaw.json。
驗證 workspace 與模型路由:確認 workspace 指向真實目錄;openclaw models list 檢查是否誤選 CLI-only 後端。
執行 doctor/validate:依官方 CLI 提供的 openclaw doctor、config:validate 或等價指令修正明顯錯配。
有序重啟 Gateway:openclaw gateway restart(或 systemd/docker 重啟單元),確保舊程序退出後再拉起。
最小驗收用例:選一條唯讀工具呼叫 + 一條寫檔工具呼叫驗證;通過後再恢復他人使用。失敗則進第四節看系統日誌。
openclaw --version openclaw status --all 2>&1 | tee /tmp/openclaw-status.txt openclaw config get agents.defaults.workspace openclaw models list openclaw doctor openclaw gateway restart # 然後:以最小工具用例各跑一次(讀 + 寫)驗證工作階段與 scope
提示:若 Gateway 跑在獨佔遠端 Mac上,SSH 長工作階段與 GUI 彈窗仍可能打斷工具鏈;需要穩定無人值守執行層時可結合 Agent 節點篇 的目錄與工作階段隔離清單。
當第三節重啟後仍出現 closed(1000),優先懷疑舊程序未退出或容器內路徑對應漂移。與 觀測篇 一致:先把「誰在監聽」「哪個使用者起的」說清楚,再討論設定。
systemd(Linux 實體主機):用 systemctl status 看主程序是否反覆拉起;journalctl -u <unit> -n 200 --no-pager 找關閉碼與政策關鍵字。Docker Compose:docker compose ps 與 docker compose logs --tail=200 gateway 對齊重啟時間戳。若你依 Linux systemd + Tunnel 篇 部署,還要確認 Tunnel 與本機迴圈綁定沒有指到陳舊連接埠。
注意:不要在未確認監聽面的情況下把 Gateway 暫時暴露到公網試連通;優先在 安全加固篇 約束內做驗證,避免把排錯變成安全事故。
下列欄位能顯著縮短二次排查時間;請脫敏後再外發。
僅依賴本機筆電做 Gateway 宿主,易受睡眠、系統更新與多人桌面工作階段影響;純 Linux 小機器又常缺少你需要對接的 macOS 工具鏈與圖形邊界情境。當 OpenClaw 要落在長期在線、可合約化的執行層上,把底座換成獨佔遠端 Mac通常比反覆借用裝置更穩:固定 SSH、清晰磁碟檔位、可與 CI/Agent 工作流程對齊。相較自建機房 Mac 叢集,NodeMini 的 Mac Mini 雲端租賃更容易形成可複製的節點畫像,讓「Gateway + 工具鏈」真正像維運 VPS 一樣可交接、可擴容。
先看模型路由是否落在 CLI-only 後端;再確認 Gateway 是否已重啟載入新設定;最後核對 workspace 路徑與 token 是否輪換完整。
從 部落格 OpenClaw 分類 進入安裝、systemd、Docker、安全與觀測篇;連線與基線亦可對照 說明中心。