2026-04-17 無頭租用雲端 Mac 上的 OpenClaw onboard 與 install-daemon
OpenClaw 在 2026 的 npm 發行版持續強調 CLI 優先:全域安裝、執行 openclaw onboard,由工具為閘道產生 LaunchAgents。在一台只能透過 SSH 操作的租用 Apple Silicon Mac 上,主路徑仍然平順——直到互動假設有 GUI、環境變數缺失,或 Node 落後上游建議兩個大版本。這份 2026-04-17 指南涵蓋前置條件、固定版本安裝、常駐程式建立與在 HK / JP / KR / SG / US 節點上的驗證。啟動穩定後,請續讀 閘道升級與回滾、透過 launchd 管理機密 與 健康探針,再暴露 webhook。另建議把首次成功的 openclaw --version、node -v 與 plist label 紀錄進 CMDB,後續除錯可直接對照。
前置條件:帳號、連接埠與政策
- 出站 HTTPS:模型與通道端點必須在你的區域可達;為企業租戶紀錄允許清單。
- 本機綁定:預設閘道監聽常在
127.0.0.1:18789;公網流量請搭配 nginx 入口。 - 使用者脈絡:在與 CI 或維運工作階段相同的 POSIX 使用者下安裝;避免拆分 home 目錄。
若主機由多名工程師共用,請把 API Key 的輪換責任寫清:誰產生、誰寫入 plist、誰驗證 curl。無頭環境最怕「某人筆電 export 過但 CI 沒繼承」。
Node 版本固定(22 LTS 對照 24)
近期 OpenClaw 建置的上游說明傾向在可用環境使用 Node 24,並以 Node 22.16+ 作為支援下限。在 macOS Sonoma / Sequoia 建置機上可用組織核准的安裝程式(fnm、nvm 或 pkg),但務必在基礎設施即程式碼裡固定版本。把 node -v 與 npm -v 與遮罩後的 openclaw.json 放在同一成品包中。
node -v && npm -v && which node
/usr/bin/node 與 Homebrew Node——launchd 繼承的 PATH 很小;必要時在 plist 的 EnvironmentVariables 中寫絕對路徑。
SSH 工作階段與非互動紀律
在 onboard 之前匯出供應商金鑰:許多流程會讀取 OPENAI_API_KEY 風格變數或自訂橋接權杖。完全非互動安裝時,把 export VAR=… 與 openclaw onboard 放在同一次 shell 呼叫,或 source 權限為 0400 的安全點檔。若 CLI 仍提示互動,請查閱對應 semver 文件中的 --yes 類開關。
對長時間工作階段,紀錄 SSH_TTY 與 LC_ALL,避免編碼差異導致日誌亂碼,進而誤判常駐程式狀態。
安裝 CLI(固定版本,避免漂移)
生產環境應對應顯式版本號,例如 npm 中繼資料中的 2026.4.x,而不是區域第一台主機上的裸 @latest。
npm install -g openclaw@2026.4.15
openclaw --version,把標準輸出寫入 CMDB——未來差異比對依賴這條基準。
執行 openclaw onboard --install-daemon
onboard 子命令通常會引導模型選擇、工作區預設值與常駐程式安裝。在無頭主機上,如安全基線要求特定 ACL,請預先建立 ~/.openclaw 並校正擁有者。當 --install-daemon 完成後,你應在 ~/Library/LaunchAgents 看到 plist 參照,label 可能類似 ai.openclaw.gateway(確切名稱隨版本變化——務必閱讀工具輸出路徑)。
| 訊號 | 健康 | 異常 |
|---|---|---|
| CLI 結束碼 | 0,並出現 “installed daemon” 摘要 | 非零,且在 plist 目錄出現 EACCES |
| 檔案 | 已建立 plist 與日誌目錄 | 僅有部分 ~/.openclaw,但缺少 LaunchAgents 項目 |
| 連接埠 | curl 存取文件中的 localhost 連接埠成功 | 陳舊行程導致位址占用 |
launchd 驗證與重複偵測
依你的 macOS 版本使用 launchctl bootstrap gui/$UID … / kickstart 等模式為目前無 GUI 工作階段啟動 Agent。隨後立即執行 openclaw doctor,詳見 重複 LaunchAgents 復原——在未 unload 的情況下重複執行 onboard 很容易堆疊重複 plist。
健康檢查、日誌與何時加 Nginx
使用 就緒探針 中的輕量 curl:迴圈請求 127.0.0.1 直到 HTTP 200,再掛 nginx TLS。首次通道交握時 tail ~/.openclaw/logs(若設定 OPENCLAW_STATE_DIR 路徑可能不同),盡早擷取鑑權設定錯誤。
相關手冊與叢集擴展
第一台節點穩定後,透過 定價 把手冊複製到次要區域,而不是讓單台 Mac 同時扛重 Xcode lane 與常駐 AI 閘道。若需要 mesh 存取而非公網入口,在開放連接埠前先閱讀 Tailscale 網格。容器化取捨見 Docker 對照原生。
Teams comparing terminal agents: see our Codex CLI 對比 Claude Code M4 評測 (Terminal-Bench 77.3% 對 65.4% 的租用機構建對比).
常見問題:雲端 Mac 首次安裝
| 問題 | 答案 |
|---|---|
| 能在 tmux 裡執行 onboard 嗎? | 可以——確保載入相同環境區塊;tmux 窗格常忘記 launchd 注入的變數。 |
| 18789 連接埠衝突怎麼辦? | 停止舊閘道、unload 陳舊 plist,然後重跑 doctor;自訂連接埠寫入 nginx upstream。 |
| Docker 是否更簡單? | 取捨不同——見 Docker 對照原生;本文聚焦 npm 原生常駐程式。 |
結論:固定 Node、固定 npm semver、在 SSH 前匯出金鑰、乾淨地安裝常駐程式一次,用 doctor + curl 驗證,再用升級與入口手冊強化——不要反過來。