2026 OpenClaw 租用 Mac Mini 實戰:OPENCLAW_HOME 多實例分目錄、雙閘道埠隔離CI 輪詢摘要合併告警

2026年4月25日
RunMini 技術團隊
閱讀時間:約 6 分鐘

在單台 RunMini 租用的 Mac Mini 上若要並行「生產閘道」與「實驗/沙箱閘道」,請對齊官方多實例說明:每個實例各自一組 OPENCLAW_HOME(獨立狀態樹),並以不同閘道監聽埠隔離,常見做法為環境變數 OPENCLAW_GATEWAY_PORT 搭配閘道啟動時的 --port(依你使用的 CLI/文件版本為準)。下文給最小可複現步驟:目錄規劃→第二實例安裝與 onboard→launchd(或 Linux 上 systemd)保活→分層健康檢查→CI 定時輪詢產出單次摘要 Webhook與既有告警合併。延伸launchd 分區與標籤GitHub workflow 夜批Cron 扇出與健康 Webhook

目錄規劃

為實例 A(生產)B(沙箱)各建獨立根目錄,例如 ~/openclaw-prod~/openclaw-staging,其下保留官方預期的設定與執行時狀態空間;不要讓兩個行程共用同一 OPENCLAW_HOME,否則鎖檔與設定寫入會互相踩踏。日誌建議分檔,例如 ~/Library/Logs/openclaw-prod-gateway.logopenclaw-staging-gateway.log,對應兩份 plist 的 StandardOutPathStandardErrorPath

第二實例安裝與 onboard

  1. 實例 A:在專用 shell 匯出 export OPENCLAW_HOME=$HOME/openclaw-prod,再依文件完成 onboardopenclaw doctor;閘道埠維持預設或慣例值(記錄於 runbook)。
  2. 實例 B:新 shell 匯出 OPENCLAW_HOME=$HOME/openclaw-staging,並明確指定閘道埠,例如 export OPENCLAW_GATEWAY_PORT=18765(數字僅示意,請避開系統與 A 已占用埠);若文件支援啟動參數,於閘道 ProgramArguments 尾端加上 --port 18765 與環境變數雙重對齊,避免只設其一導致讀取順序誤解。
  3. 啟動前執行 lsof -iTCP:PORT -sTCP:LISTEN,確認監聽表乾淨;兩邊各跑一次閘道狀態/doctor,確認設定檔路徑分別落在各自 OPENCLAW_HOME 下。

launchd/systemd 與 launchctl 保活要點

macOS:撰寫兩份 LaunchAgentLabel 必須不同(反轉網域風格避免碰撞);在 EnvironmentVariables 內寫入 OPENCLAW_HOMEOPENCLAW_GATEWAY_PORT,並給予含 openclawnode完整 PATH(見下文排錯)。視需要開啟 KeepAlive 或搭配 ThrottleInterval 避免崩潰迴圈刷爆日誌。載入後以 launchctl print gui/$UID/com.example.openclaw.prod 檢視上次退出碼與節流紀錄。

Linux 租戶機:改以兩個 systemd unit,於 [Service] 使用 Environment=OPENCLAW_HOME=...Environment=OPENCLAW_GATEWAY_PORT=...,並以 Restart=on-failure 與合理 StartLimitIntervalSec 節制重啟風暴。

健康檢查

對兩個閘道基底 URL 分別排程 curl -fsS "$BASE/health"(或文件載明的 status 路徑),請求標頭或 JSON 中帶上實例名稱欄位(prodstaging),下游監控才能一眼分辨。建議分層:Liveness(行程與埠)與Readiness(上游 API/模型供應商可連線),避免把偶發上游節流誤判成本機雙實例互搶。

CI 輪詢摘要與 Webhook 合併告警

GitHub Actions 以矩陣或多 job 並行,直接「每步失敗就打一支 Webhook」容易轟炸接收端。較穩的做法是加一支定時或 workflow_run 觸發的彙總 job:以 API 拉取最近一次 run 的結論與失敗步驟清單,組成單一 JSON 摘要,寫入固定 dedupe_key(例如 repo+run_id)後呼叫 OpenClaw 閘道或通用 HTTP Webhook;OpenClaw 端可依 Skills 規則做時間窗內合併/去重,與扇出退避 HowTo同一套節奏對齊靜默窗。

排錯:埠衝突與 PATH

  • 埠衝突:兩實例若仍監聽同一埠,請比對兩份 plist/unit 的 OPENCLAW_GATEWAY_PORT--port;確認沒有第三個舊 Label 仍在 bootstrap 狀態。
  • PATHlaunchd 預設 PATH 精簡,常見症狀是找不到 openclaw 或誤用舊全域 Node。請在 plist 寫死 PATH,並以登入使用者執行 which -a openclaw 與 plist 內路徑交叉驗證

結語。官方多實例模型的核心是狀態分家OPENCLAW_HOME)與閘道埠分離OPENCLAW_GATEWAY_PORT--port),再配上兩套常駐與 CI 摘要 Webhook,即可在單台 Mac Mini 上安全並行生產與實驗。需要長期節點可先開公開購買頁(免登入),並參考定價OpenClaw 主題索引

免登入檢視方案並租用 Mac Mini

無須先註冊即可瀏覽定價說明;下單後以 SSH/VNC 連線,將雙 OpenClaw 實例與閘道埠隔離一次落地。

免登入長租 Mac Mini × 雙 OpenClaw 實例