Peekaboo Bridge (macOS UI 자동화)

OpenClaw은 PeekabooBridge를 로컬 권한 인식 UI 자동화 브로커로 호스팅할 수 있습니다. 이를 통해 peekaboo CLI가 macOS 앱의 TCC 권한을 재사용하면서 UI 자동화를 수행할 수 있습니다.

역할 (그리고 아닌 것)

  • 호스트: OpenClaw.app이 PeekabooBridge 호스트로 동작할 수 있습니다.
  • 클라이언트: peekaboo CLI를 사용합니다 (별도의 openclaw ui ... 표면 없음).
  • UI: 시각적 오버레이는 Peekaboo.app에 유지됩니다. OpenClaw은 가벼운 브로커 호스트입니다.

브리지 활성화

macOS 앱에서:

  • Settings → Enable Peekaboo Bridge

활성화하면, OpenClaw이 로컬 UNIX 소켓 서버를 시작합니다. 비활성화하면 호스트가 중지되고, peekaboo는 사용 가능한 다른 호스트로 대체됩니다.

클라이언트 검색 순서

Peekaboo 클라이언트는 일반적으로 다음 순서로 호스트를 시도합니다:

  1. Peekaboo.app (전체 UX)
  2. Claude.app (설치된 경우)
  3. OpenClaw.app (가벼운 브로커)

peekaboo bridge status --verbose로 어떤 호스트가 활성이고 어떤 소켓 경로가 사용 중인지 확인할 수 있습니다. 다음으로 오버라이드할 수 있습니다:

export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sock

보안 및 권한

  • 브리지는 호출자 코드 서명을 검증합니다. TeamID 허용 목록이 적용됩니다 (Peekaboo 호스트 TeamID + OpenClaw 앱 TeamID).
  • 요청은 약 10초 후 타임아웃됩니다.
  • 필요한 권한이 없으면, 브리지는 System Settings를 실행하지 않고 명확한 오류 메시지를 반환합니다.

스냅샷 동작 (자동화)

스냅샷은 메모리에 저장되며 짧은 시간 후 자동으로 만료됩니다. 더 긴 보존이 필요하면 클라이언트에서 다시 캡처하세요.

문제 해결

  • peekaboo가 “bridge client is not authorized”를 보고하면, 클라이언트가 올바르게 서명되었는지 확인하거나 디버그 모드에서만 PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1로 호스트를 실행하세요.
  • 호스트가 발견되지 않으면, 호스트 앱(Peekaboo.app 또는 OpenClaw.app) 중 하나를 열고 권한이 부여되었는지 확인하세요.