2026 常駐遠端 Mac 上的 OpenClaw:
launchd/systemd 重啟、日誌與磁碟、Gateway 假停滯分診

約 18 分鐘閱讀 · MACCOME

在雲端 Mac 上 7×24 跑 OpenClaw Gateway,實務上比首次安裝更容易卡在「重開機後起不來」「日誌吃光磁碟」「行程在跑但通道/模型無聲」。 本文給已跨過教學、把 OpenClaw 當生產基礎設施的團隊:六則無人值守迷思、主機行程/容器/反向代理分診表、可貼上的 launchd 與 systemd 片段、日誌與磁碟快照、六步自癒 Runbook,以及三條值班量化指標。讀完能判斷該修 plist/Unit、卷與配額,還是依固定順序回到模型/通道層。

六則無人值守迷思(「行程在跑」≠ 健康)

  1. 把 launchd/systemd「已載入」當成「已就緒」:當機迴圈仍可能顯示 loaded;應以連續運行時間與最近結束代碼判斷,不能只看列表輸出。
  2. 只在容器內調參卻忽略主機 bind 權限:容器內可寫的路徑若對主機輪替腳本不可見,會造成雙寫或輪替失效。
  3. 忽略反向代理與 Gateway 回環位址的落差:控制介面靜態資源可載入,回呼卻打公開主機名;探測若只對經 TLS 終止邊緣 curl 127.0.0.1,會出現「指標綠、使用者紅」—請搭配《TLS 反向代理分診清單》閱讀。
  4. 把每次 429/逾時都歸咎供應商:無人值守的重試風暴會自我放大;應依供應商路由指引加入退避與斷路。
  5. 長開除錯日誌卻不做脫敏:權杖、Webhook 與個資進集中式日誌,合規風險往往在磁碟滿之前就爆—送往 SIEM 前應採欄位允許清單,而非脆弱的黑名單正則。
  6. 假設雲端 Mac 與筆電電源策略相同:睡眠、合蓋與維護窗口會拆掉長連線;應把電源與常駐重啟策略寫進 Runbook,不能只靠「請勿睡眠」。

下文先把「看得到行程」與「訊息可往返」分開,再落到 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

macOS launchd 與 Linux systemd:重啟策略要釘死的欄位

launchd 應明確寫出 UserNameWorkingDirectory、stdout/stderr 路徑,並以 ThrottleInterval 搭配 KeepAlive,避免當機風暴打滿主機。

systemdRestart=on-failure 搭配 RestartSec,並記錄 EnvironmentFileLimitNOFILE。兩者都必須在 SSH 工作階段結束後仍維持服務—這是無人值守與互動除錯的核心差異。

若以 Docker 包 Gateway,launchd/systemd 通常監督的是 docker compose up -d(或包裝腳本),而非直接監督 Node—健康檢查應轉到 Compose 或《Kubernetes 健康探測清單》所述的 HTTP 探測,避免主機誤判凍結容器為健康。

launchd
<!-- 僅示例鍵名—請依實際安裝調整路徑/使用者/指令 -->
<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>
systemd
# /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% 空間應通知值班
bash
# 快速容量快照(請依實際安裝調整路徑)
du -sh /var/log/openclaw 2>/dev/null
docker system df 2>/dev/null
df -h /
warning

注意:刪除資料前確認卷與機密已無引用;生產環境優先擴容與輪替,避免盲目 rm -rf

六步自癒 Runbook(告警 → 事後檢討)

  1. 凍結變更面:記錄映像標籤、Compose 檔雜湊、最近三次代理憑證/DNS 變更。
  2. 三層各探一次:主機監聽、容器內上游、公開主機名經 curl/WebSocket 並帶時間戳。
  3. 查通道狀態:使用文件中的狀態/探測指令—不能只看 HTTP 200。
  4. 檢視磁碟與日誌成長:du 與 24 小時前對照,抓爆量日誌。
  5. 有界重啟:compose restart 服務,必要時再主機重開;記錄結束代碼。
  6. 事後檢討範本:根因歸桶為設定/網路/供應商/資源,並回調告警。

三條值班量化指標

  1. 連續運行時間窗口:七日內每日無人工介入的最短時數;若低於合約 SLA,應擴磁碟或 CPU。
  2. 日誌日增 GB:報告絕對增量與週對週趨勢;預測 14 天容量。
  3. 假「停滯」比例:僅重啟 Gateway 就消失的工單占比;偏高代表分診順序有誤—應先蒐集模型與通道證據。

與 doctor、Docker、代理、Kubernetes 各篇如何搭配

本文涵蓋遠端 Mac 上的長時監督、日誌/磁碟衛生與假停滯分診順序;《doctor 指南》管裝後驗證;《Docker 網路清單》管容器路由;《反向代理指南》管 TLS/WebSocket;《健康探測指南》管編排語意。文件順序建議:安裝 → 網路 → 邊緣 → 穩態,避免 Runbook 重複。

為何單靠筆電不適合作長連線 OpenClaw 的唯一宿主

睡眠排程、修補節奏與漫遊網路難以寫進 SLA;與日常工作共用磁碟與頻寬會讓假停滯與日誌風暴更難隔離。合約化專用遠端 Mac 可把電源策略、磁碟層級與出口與個人習慣解耦。

若你需要與 CI 測試者同區、低睡眠機率、可預期的磁碟與頻寬來承載 OpenClaw 與自動化,MACCOME 雲端 Mac 主機提供較穩定的執行平面:先對照《租賃價格》,再依區域開啟結帳—新加坡東京首爾香港維吉尼亞矽谷。連線流程見《協助中心》。

常見問題

重開機後,先查常駐還是先查設定?

先前景執行證明設定可讀,再回頭檢查 plist/unit 環境與路徑。更多安裝步驟見《doctor 排錯指南》。

日誌會塞滿磁碟嗎?

會—無人值守情境很常見。應加輪替、告警與管線脫敏。檔位對照《Mac mini 租賃價格》。

介面載入得到但沒有回覆?

依序分診模型、通道、佇列—不要只重啟。請交叉閱讀《通道 OAuth 與排錯清單》。

遠端 Mac 一直睡眠?

調整電源設定並倚賴監督器重新拉起;確認供應商維護窗口。連線關鍵字請至《協助中心》檢索。