Skip to content

macOS 上的 Gateway(外部 launchd)

OpenClaw.app 不再内嵌 Node/Bun 或 Gateway 运行时。macOS 应用需要外部openclaw CLI 安装,不将 Gateway 作为子进程启动,而是通过管理每用户的 launchd 服务来保持 Gateway 运行(如果已有本地 Gateway 在运行,则直接附加)。

安装 CLI(本地模式必需)

Mac 上的默认运行时是 Node 24。Node 22 LTS(当前 22.14+)仍可兼容。全局安装 openclaw

bash
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 应用在本地模式下负责 LaunchAgent 的安装/更新。
  • CLI 也可以安装:openclaw gateway install

行为:

  • "OpenClaw Active" 启用/禁用 LaunchAgent。
  • 退出应用不会停止 Gateway(launchd 保持其运行)。
  • 如果已有 Gateway 在配置的端口上运行,应用会附加到它而不是启动新实例。

日志:

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

版本兼容性

macOS 应用会检查 Gateway 版本与自身版本的兼容性。如不兼容,请将全局 CLI 更新到与应用匹配的版本。

冒烟测试

bash
openclaw --version

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

然后:

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

冒烟测试通过,说明你的龙虾能正常呼吸——Gateway 健康检查是排查问题的第一步。