macOS의 Gateway (외부 launchd)

OpenClaw.app은 더 이상 Node/Bun이나 Gateway 런타임을 번들로 포함하지 않습니다. macOS 앱은 외부 openclaw CLI 설치를 기대하며, Gateway를 자식 프로세스로 생성하지 않고, 사용자별 launchd 서비스를 관리하여 Gateway를 계속 실행 상태로 유지합니다 (또는 이미 실행 중인 로컬 Gateway가 있으면 연결합니다).

CLI 설치 (로컬 모드 필수)

Mac에 Node 22+ 버전이 필요하며, openclaw를 전역으로 설치해야 합니다:

npm install -g openclaw@<version>

macOS 앱의 Install CLI 버튼은 npm/pnpm을 통해 동일한 설치 과정을 실행합니다 (Gateway 런타임에는 bun을 권장하지 않습니다).

Launchd (LaunchAgent로서의 Gateway)

레이블:

  • 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가 실행 중이면, 앱은 새로운 Gateway를 시작하는 대신 기존 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