macOS 上的 Gateway(外部 launchd)

OpenClaw.app 不再内置 Node/Bun 或 Gateway runtime。macOS 应用需要外部安装 openclaw CLI,不会将 Gateway 作为子进程启动,而是通过管理一个用户级 launchd 服务来保持 Gateway 运行(如果已有本地 Gateway 在运行,则会连接到现有的)。

安装 CLI(本地模式必需)

你需要在 Mac 上安装 Node 22+,然后全局安装 openclaw

npm install -g openclaw@<version>

macOS 应用的 Install CLI 按钮会通过 npm/pnpm 执行相同的安装流程(不推荐用 bun 作为 Gateway runtime)。

Launchd(Gateway 作为 LaunchAgent)

标签:

  • bot.molt.gateway(或 bot.molt.<profile>;旧版 com.openclaw.* 可能仍然存在)

Plist 位置(用户级):

  • ~/Library/LaunchAgents/bot.molt.gateway.plist (或 ~/Library/LaunchAgents/bot.molt.<profile>.plist

管理方式:

  • macOS 应用在本地模式下负责 LaunchAgent 的安装/更新。
  • CLI 也可以安装:openclaw gateway install

行为:

  • “OpenClaw Active” 会启用/禁用 LaunchAgent。
  • 退出应用不会停止 gateway(launchd 会保持它运行)。
  • 如果配置的端口上已有 Gateway 在运行,应用会连接到它,而不是启动新的。

日志:

  • launchd 标准输出/错误:/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