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アプリのCLIをインストールボタンは、npm/pnpm経由で同じフローを実行します(bunはGatewayランタイムとして非推奨)。

launchd(GatewayをLaunchAgentとして)

ラベル:

  • ai.openclaw.gatewayai.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の標準出力/エラー:/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