macOS 上的 Gateway(外部 launchd)

OpenClaw.app 不再內建 Node/Bun 或 Gateway 執行環境。macOS 應用程式預期有一個外部安裝openclaw CLI,不會將 Gateway 作為子程序啟動,而是管理一個以使用者為單位的 launchd 服務來維持 Gateway 運行(或連接已在執行的本機 Gateway)。

安裝 CLI(本機模式必備)

Mac 上預設使用 Node 24 作為執行環境。Node 22 LTS(目前為 22.16+)仍可相容使用。接著全域安裝 openclaw

npm install -g openclaw@<version>

macOS 應用程式的 Install CLI 按鈕會透過 npm/pnpm 執行相同的安裝流程(不建議以 bun 作為 Gateway 執行環境)。

Launchd(Gateway 作為 LaunchAgent)

標籤:

  • ai.openclaw.gateway(或 ai.openclaw.<profile>;舊版 com.openclaw.* 可能仍存在)

Plist 位置(以使用者為單位):

  • ~/Library/LaunchAgents/ai.openclaw.gateway.plist (或 ~/Library/LaunchAgents/ai.openclaw.<profile>.plist

管理者:

  • macOS 應用程式在 Local 模式下負責安裝/更新 LaunchAgent。
  • CLI 也可進行安裝:openclaw gateway install

行為:

  • 「OpenClaw Active」啟用/停用 LaunchAgent。
  • 結束應用程式不會停止 Gateway(launchd 會持續維護它)。
  • 若 Gateway 已在設定的連接埠上運行,應用程式會直接連接而非啟動新的。

日誌:

  • launchd stdout/err:/tmp/openclaw/openclaw-gateway.log

版本相容性

macOS 應用程式會將 Gateway 版本與自身版本比對。若不相容,請更新全域 CLI 至與應用程式相符的版本。

煙霧測試

openclaw --version

OPENCLAW_SKIP_CHANNELS=1 \
OPENCLAW_SKIP_CANVAS_HOST=1 \
openclaw gateway --port 18999 --bind loopback

然後:

openclaw gateway call health --url ws://127.0.0.1:18999 --timeout 3000