AI / 自動化 2026年4月17日

2026-04-17 無頭租用雲端 Mac 上的 OpenClaw onboardinstall-daemon

MacXCode 技術團隊 2026年4月17日 約 15 分鐘閱讀

OpenClaw 在 2026 的 npm 發行版持續強調 CLI 優先:全域安裝、執行 openclaw onboard,由工具為閘道產生 LaunchAgents。在一台只能透過 SSH 操作的租用 Apple Silicon Mac 上,主路徑仍然平順——直到互動假設有 GUI、環境變數缺失,或 Node 落後上游建議兩個大版本。這份 2026-04-17 指南涵蓋前置條件、固定版本安裝、常駐程式建立與在 HK / JP / KR / SG / US 節點上的驗證。啟動穩定後,請續讀 閘道升級與回滾透過 launchd 管理機密健康探針,再暴露 webhook。另建議把首次成功的 openclaw --versionnode -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 -vnpm -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_TTYLC_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 驗證,再用升級與入口手冊強化——不要反過來。

OpenClaw + Xcode 側車的專用 M4

SSH 優先 · HK · JP · KR · SG · US