macOS에서의 게이트웨이 (외부 launchd)

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

CLI 설치 (로컬 모드에 필요)

Mac에서 Node 24가 기본 런타임입니다. Node 22 LTS(현재 22.16+)도 호환성을 위해 동작합니다. 그런 다음 openclaw를 전역으로 설치하세요:

npm install -g openclaw@<version>

macOS 앱의 Install CLI 버튼은 npm/pnpm을 통해 동일한 흐름을 실행합니다 (게이트웨이 런타임에 bun 비권장).

Launchd (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를 활성화/비활성화합니다.
  • 앱 종료 시에도 게이트웨이가 중지되지 않습니다 (launchd가 유지).
  • 설정된 포트에 이미 게이트웨이가 실행 중이면, 앱은 새로운 게이트웨이를 시작하지 않고 기존 게이트웨이에 연결합니다.

로깅:

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

버전 호환성

macOS 앱은 게이트웨이 버전을 자체 버전과 비교합니다. 호환되지 않으면 전역 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