在雲端 Mac 上 7×24 跑 OpenClaw Gateway,實務上比首次安裝更容易卡在「重開機後起不來」「日誌吃光磁碟」「行程在跑但通道/模型無聲」。 本文給已跨過教學、把 OpenClaw 當生產基礎設施的團隊:六則無人值守迷思、主機行程/容器/反向代理分診表、可貼上的 launchd 與 systemd 片段、日誌與磁碟快照、六步自癒 Runbook,以及三條值班量化指標。讀完能判斷該修 plist/Unit、卷與配額,還是依固定順序回到模型/通道層。
下文先把「看得到行程」與「訊息可往返」分開,再落到 macOS 與 Linux 監督器。
第 1 層(主機行程)問的是:Gateway 二進位/Node 行程是否在正確使用者下存活、綁定預期介面,且讀得到目前的權杖與資料目錄。
第 2 層(容器)收斂到 Compose 網路、發佈埠與卷—當主機 curl 與容器內 curl 不一致時,從《Docker 網路分診清單》開始。
第 3 層(代理)涵蓋 TLS、WebSocket Upgrade、路徑剝離與逾時—邊緣 502/握手問題走《Nginx/Caddy 清單》。
在遠端 Mac 上,第 3 層常躲在 SSH 隧道或私有 DNS 後面;勿把「本機 curl 成功」等同「公開回呼成功」。Slack/Telegram 類通道仍須用《通道 OAuth 與排錯清單》核對 OAuth 範圍。
若 Gateway 與 CI 建置、cron 共用主機,留意磁碟 I/O 與 CPU 爭用:建置尖峰會拖慢日誌 fsync 與 TLS 握手,表現成間歇逾時而非硬當機。建置快取與 Gateway 資料路徑應分開監控並對寫入速率告警,避免把基礎設施抖動誤標為模型品質退步。
| 症狀 | 優先懷疑層級 | 後續動作(可執行) |
|---|---|---|
| 監督器顯示執行中但無監聽埠 | 行程/plist·unit | 以相同使用者前景執行一次;核對 WorkingDirectory 與 ProgramArguments |
| 主機正常,容器內 curl 上游失敗 | 容器網路 | 檢查 Compose 網路、發佈埠、是否誤用 host 網路模式 |
| 網域 502、回環卻正常 | 反向代理 | 對齊 proxy_pass、Upgrade 標頭、read_timeout |
| UI 正常、通道無聲 | 通道/回呼 URL | 核對 Webhook URL 與 TLS 鏈是否隨版次漂移 |
| 隨機卡住、剩餘空間僅個位數 GB | 磁碟/日誌 | 依下文表格 du;調低日誌層級 |
| 負載高、模型 429 | 模型出口/佇列 | 節流、改路由、拉長退避;避免存活探測誤殺健康 Pod |
launchd 應明確寫出 UserName、WorkingDirectory、stdout/stderr 路徑,並以 ThrottleInterval 搭配 KeepAlive,避免當機風暴打滿主機。
systemd 以 Restart=on-failure 搭配 RestartSec,並記錄 EnvironmentFile 與 LimitNOFILE。兩者都必須在 SSH 工作階段結束後仍維持服務—這是無人值守與互動除錯的核心差異。
若以 Docker 包 Gateway,launchd/systemd 通常監督的是 docker compose up -d(或包裝腳本),而非直接監督 Node—健康檢查應轉到 Compose 或《Kubernetes 健康探測清單》所述的 HTTP 探測,避免主機誤判凍結容器為健康。
<!-- 僅示例鍵名—請依實際安裝調整路徑/使用者/指令 --> <key>KeepAlive</key><true/> <key>ThrottleInterval</key><integer>30</integer> <key>StandardOutPath</key><string>/var/log/openclaw/gateway.out.log</string> <key>StandardErrorPath</key><string>/var/log/openclaw/gateway.err.log</string>
# /etc/systemd/system/openclaw-gateway.service(片段) [Service] Restart=on-failure RestartSec=20 EnvironmentFile=-/etc/openclaw/gateway.env LimitNOFILE=1048576
日誌、設定與資料路徑應分掛,備份與配額才能獨立治理。輪替須同時涵蓋主機純文字日誌與 Docker json-file 驅動—否則刪除容器後仍可能留下巨大層。至少脫敏 Bearer 權杖、Webhook 密鑰、電子郵件與通道 ID 尾碼;送往 SIEM 前優先採欄位允許清單,而非黑名單正則。
可搭配《裝後 doctor 與排錯指南》:工單貼 doctor 摘要,勿把完整環境 dump 進聊天。
在集中式日誌平台,為 OpenClaw 單獨設定保留與抽樣政策—事件期間提高抽樣,變更窗口結束後自動還原,避免「暫時除錯」變成永久預設。
| 路徑類型 | 常見位置(範例) | 檢查/處置 |
|---|---|---|
| Gateway 文字日誌 | /var/log/openclaw/ 或專案 logs/ | du -sh 加門檻告警;newsyslog/logrotate |
| Docker graph | 由 graph driver 管理 | docker system df;限制 json-file 大小 |
| 工作目錄與快取 | ~/.openclaw、建置快取 | 升級前備份;清理過期工作階段檔 |
| 根卷可用空間 | / | df -h;低於約 15% 空間應通知值班 |
# 快速容量快照(請依實際安裝調整路徑) du -sh /var/log/openclaw 2>/dev/null docker system df 2>/dev/null df -h /
注意:刪除資料前確認卷與機密已無引用;生產環境優先擴容與輪替,避免盲目 rm -rf。
du 與 24 小時前對照,抓爆量日誌。compose restart 服務,必要時再主機重開;記錄結束代碼。本文涵蓋遠端 Mac 上的長時監督、日誌/磁碟衛生與假停滯分診順序;《doctor 指南》管裝後驗證;《Docker 網路清單》管容器路由;《反向代理指南》管 TLS/WebSocket;《健康探測指南》管編排語意。文件順序建議:安裝 → 網路 → 邊緣 → 穩態,避免 Runbook 重複。
睡眠排程、修補節奏與漫遊網路難以寫進 SLA;與日常工作共用磁碟與頻寬會讓假停滯與日誌風暴更難隔離。合約化專用遠端 Mac 可把電源策略、磁碟層級與出口與個人習慣解耦。
若你需要與 CI 測試者同區、低睡眠機率、可預期的磁碟與頻寬來承載 OpenClaw 與自動化,MACCOME 雲端 Mac 主機提供較穩定的執行平面:先對照《租賃價格》,再依區域開啟結帳—新加坡、東京、首爾、香港、維吉尼亞、矽谷。連線流程見《協助中心》。
常見問題
重開機後,先查常駐還是先查設定?
先前景執行證明設定可讀,再回頭檢查 plist/unit 環境與路徑。更多安裝步驟見《doctor 排錯指南》。
日誌會塞滿磁碟嗎?
會—無人值守情境很常見。應加輪替、告警與管線脫敏。檔位對照《Mac mini 租賃價格》。
介面載入得到但沒有回覆?
依序分診模型、通道、佇列—不要只重啟。請交叉閱讀《通道 OAuth 與排錯清單》。
遠端 Mac 一直睡眠?
調整電源設定並倚賴監督器重新拉起;確認供應商維護窗口。連線關鍵字請至《協助中心》檢索。