2026 年在 Mac mini M4 上以 launchd 為 OpenClaw 排程:可靠守護行程、安全 plist,以及 VpsGona 香港、日本、韓國、新加坡與美東的多區域對等
OpenClaw 在閘道常線上時最亮眼,但按小時的 Mac mini M4 租用會懲罰「在我筆電上能跑」的守護行程故事。蘋果支援的服務管理器是 launchd:它能扛 GUI 登出、崩潰後以退避重啟,並與日誌子系統整合。本文說明為何使用者級閘道我們更偏好 LaunchAgents 而非 cron、如何打造能扛五個 VpsGona 區域的 plist 衛生、哪些排程模式對應真實團隊,以及如何避免只在釋放節點後才冒頭的靜默失敗。首次開機請配 部署指南;任務跑過數小時後接 OTEL 可觀測性指南。
為何在租用 Mac 上 launchd 比 cron 更重要
Cron 忽略環境細節:PATH、鑰匙串解鎖狀態、GUI 工作階段上下文。launchd plist 迫使你宣告 WorkingDirectory、絕對二進位路徑與明確 StandardError 目標——正是你午夜 SSH 進 韓國 機器時未來的自己需要的文件。launchd 還提供節流旋鈕,避免脆弱上游 API 把租用機 fork 爆。事件驅動補充請在讀穩基線守護行程後看 Webhook 任務流文章。
bootstrap 前的 plist 衛生檢查清單
- Label 唯一性: 用組織反向 DNS 前綴,避免與未來範本衝突。
- RunAtLoad 與 StartCalendarInterval: 常開閘道才用 RunAtLoad;夜間批次摘要用行事曆間隔。
- ThrottleInterval: 為崩潰間設合理最小間隔——OpenClaw 不應在鑑權錯誤上熱循環。
- KeepAlive 語意: 偵錯時優先
SuccessfulExitfalse 配合謹慎結束碼,而非無條件 respawn。
範例包裝呼叫模式(請改寫路徑;勿把金鑰寫進 plist——用 chmod 600 的環境檔):
/bin/bash -lc 'source ~/.openclaw/env.sh && exec /usr/local/bin/openclaw gateway start --config ~/.openclaw/gateway.json'
排程矩陣:任務類型與建議 LaunchDaemon 層級
| 任務類型 | 建議範圍 | 主鍵 | 說明 |
|---|---|---|---|
| 常開閘道 | LaunchAgent(GUI 工作階段) | RunAtLoad true | 符合互動鑰匙串存取預期。 |
| 夜間摘要工具 | LaunchAgent | StartCalendarInterval | 小時與帳單警示 UTC 偏移對齊。 |
| 特權助手(少見) | LaunchDaemon | UserName | 僅組織政策要求 root 時——共享租用盡量避免。 |
同一 plist 複製到香港與美東時的時區陷阱
StartCalendarInterval 使用 Mac 本地時區。新加坡 的「02:00」與 美東 的牆鐘時刻不同。文件化排程是指「節點本地」還是「錨定 UTC」。跨境團隊建議在編排資料庫內以 UTC 存 cron 語意,產生時再換算,即便 launchd 仍在本地執行。若互動偵錯跨區,重讀 延遲測評,別把慢 SSH 當成漏跑。
日誌、輪替與 256GB 節點磁碟壓力
模型串流輸出時結構化日誌增長快於預期。將 StandardOutPath 與 StandardErrorPath 指到 ~/Library/Logs/ 下依日期目錄,並加簡單週壓縮或外送日誌。激進日誌配合 平行儲存餘量文,避免遺忘的 verbose 在發布前幾小時塞滿 SSD。
看似 OpenClaw Bug、實為 launchd 設定錯誤的故障模式
- 相對二進位路徑: shell 裡能用,launchd 下失敗。
- 缺失環境: plist 未 source 登入鑰匙串工作階段導致 API 金鑰不可見。
- 重複 Label: 第二次載入被靜默忽略——用
launchctl print gui/$(id -u)檢查。 - 節點複用後殭屍排程: 歸還硬體前務必
bootout。
常見問題
還能用 cron 嗎?
一次性快操可以;生產閘道不行——跨登出與鑰匙串上下文太脆。
釋放租用前必須卸載嗎?
是。把 launchctl bootout 與撤銷 SSH 金鑰一併列入拆解清單。
定時任務取代 Webhook?
否——觸發器不同。外部系統推事件時仍要 Webhook,本地家務仍要定時。
為何 Mac mini M4 是排練 launchd 自動化的合適表面
Apple Silicon 閒置功耗讓長驗證視窗內的常開代理相對便宜,M4 快速喚醒也平滑間歇排程。五個 VpsGona 區域讓你把 plist 複製到 日本 覆蓋亞洲營業時間,再鏡像到 美東 服務北美評審,且晶片檔位一致、日誌量可比——這種對等縮短自動化專案勝過任何單一 plist 技巧。
準備為守護行程或互動閘道開通主機時,從 定價頁 開始,並用 說明文件 對齊 SSH 與日誌約定,讓每條新 plist 繼承相同維運假設。