2026 在租用的 ProxyMac Mac mini 上升級 OpenClaw:版本鎖定與 launchctl 回滾
自動化閘道「老化」極快:一次次 semver 小版本就可能改寫 TLS 預設值、重新命名 CLI 開關,或收緊 LaunchAgent 曾假設穩定的沙箱路徑。在 香港、日本、韓國、新加坡或美國 的 ProxyMac Mac mini 上,維運契約可以概括為三件事:可預測的重啟、可稽核的回滾、以及在客戶感知漂移前就觸發的 健康探針。本文說明 誰應把住升級閘門(平台負責人,而非每個特性團隊各自為政),給出具體閾值的 升級前矩陣(系統卷閒置 ≥20%、Webhook 5xx 滾動 24 小時 <0.5%),記錄設定樹的 快照+校驗和 儀式,依 閘道恢復 對齊 launchctl bootout/kickstart -k 順序,以表格對比 四種回滾策略,並把升級後鉤子接到 健康探針 與 JSONL 日誌,最後以無人值守升級 FAQ 收尾。請把 設定 GitOps 與 部署排錯 視為同一變更視窗內的必讀材料。
鎖定版本、收斂爆炸半徑、生產拒絕「永遠 latest」
為每個生產 plist 標註合規團隊可引用的 精確二進位路徑 或容器 digest。開發筆電「永遠拉 main」可以接受;在跑清結算、模型路由或夜間 ETL 的租用金屬上,它就是事故發生器。在與生產 同區域 保留一台 預發 mini 以對齊 TLS 時延—價格頁 列出 ProxyMac 目前代管 M4 級 mini 的五個區域。
- 在 OpenClaw YAML 旁檢入 語意化 lockfile,讓 diff 表達意圖而非驚嚇。
- 尊重 ThrottleInterval:升級鏈不得快於 launchd 允許 worker 排空的速度。
- 金鑰輪換 與二進位升級解耦—按獨立日曆輪轉。
升級前檢查矩陣
| 訊號 | 綠燈閾值 | 若紅燈 |
|---|---|---|
| APFS 閒置空間 | 系統卷 ≥ 20% | 先歸檔 JSONL、清理快取再動二進位 |
| Webhook 5xx 占比(滾動 24h) | < 0.5% | 先修上游—升級會掩蓋根因 |
| LaunchAgent 最近結束碼 | 前 3 次重啟均為 0 | 在統一日誌中讀當機迴圈 |
| 時鐘偏差 | 相對 NTP < 2 秒 | 升級後 JWT/HMAC 校驗會莫名失敗 |
為設定、佇列與模型快取做快照並校驗
先將完整 ~/Library/Application Support/OpenClaw 樹(具體目錄因安裝而異)複製到同卷的依日期 tar—事故中跨 SMB 卷複製最容易產生半寫入。對 tar 執行 shasum -a 256 並把雜湊寫入變更單。保留策略與 日誌指南 對齊,便於法務回答「我們保留了什麼」而無需突擊鑑識。
git push。在 Git 標籤旁用詮釋資料記錄它們的版本。
launchctl 順序:bootout、等待、bootstrap、kickstart
現代 macOS 獎勵耐心。卸載 Agent 後,等到 launchctl print user/$(id -u)/com.openclaw.gateway 不再顯示執行中 PID,再把新組建安裝到 帶版本號目錄 並維護 current 符號連結,然後才執行 launchctl bootstrap 與 launchctl kickstart -k gui/$(id -u)/com.openclaw.gateway。跳過等待會讓 worker 仍綁定舊共享記憶體區—正是 排錯文 裡那種「週二前都好好的」缺陷類。
# 範例順序—請替換為你的 Label
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.openclaw.gateway.plist
sleep 2
# 在此切換版本目錄與 symlink
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.openclaw.gateway.plist
launchctl kickstart -k gui/$(id -u)/com.openclaw.gateway
回滾矩陣:軟連切換 vs 全量 tar 還原 vs 重裝
| 策略 | 回退耗時 | 風險 | 適用情境 |
|---|---|---|---|
| 指回上一 semver 目錄的 symlink | 30–90 秒 | 遺漏資料庫遷移 | 純二進位/API 迴歸 |
| 完整 tarball 還原 | 3–10 分鐘 | 覆寫飛行中佇列檔案 | 懷疑設定損壞 |
| 重裝 mini(最後手段) | 15–45 分鐘 | 人為還原失誤 | 核心延伸或 TCC 糾纏 |
| 區域級切到第二台 mini | 受 DNS TTL 約束 | 共享 DB 時腦裂 | 重大 CVE 無熱修 |
升級後健康鉤子與可觀測性
在 kickstart 後首 15 分鐘,對本機管理連接埠跑合成探針、採樣佇列深度,並以成本僅幾美分的 canary 提示詞驗證出站模型呼叫。告警應綁定相對變更前基線的 p95 延遲偏移 >15%,而非僅硬失敗。匯出帶 upgrade_from、upgrade_to、change_ticket 欄位的結構化行,便於日誌管道依版本分面事故。
常見問題
維護視窗能用 brew upgrade 嗎? 僅當合規允許生產使用 Homebrew 路徑;許多 ProxyMac 客戶改為把 tarball 安裝到 /opt/openclaw/releases/<semver>。
遷移應在新二進位啟動前還是後跑? 向後相容遷移應 在 接流量 之前 完成;破壞性遷移應以跨數天的兩階段特性旗標發布。
XPC 助手呢? 依主 plist 旁文件的相依順序啟動—父子關係圖見 重啟恢復。
為何在 ProxyMac Mac mini 上沉澱升級紀律
Apple Silicon M4 mini 提供長期穩定主機名、可預測效能,以及藍綠切換時與生產並排跑 canary worker 的餘量—而不必每週二與虛擬化鄰居爭搶。把自動化錨定在 港/日/韓/新/美,大版本仍由人把關,把機架瑣事交給不必自己上架的硬體。需要 GUI 授權時退回 VNC;SSH 被代理整形時讀本週同發的 企業 CONNECT 指南。