페어링

“페어링”은 OpenClaw의 명시적 소유자 승인 단계입니다. 두 가지 용도로 사용됩니다:

  1. DM 페어링 (봇과 대화할 수 있는 사람 지정)
  2. 노드 페어링 (게이트웨이 네트워크에 참여할 수 있는 기기/노드 지정)

보안 컨텍스트: Security

1) DM 페어링 (인바운드 채팅 접근 제어)

채널이 DM 정책 pairing으로 설정되면, 알 수 없는 발신자에게 짧은 코드가 전송되고 승인할 때까지 메시지가 처리되지 않습니다.

기본 DM 정책은 다음 문서에 설명되어 있습니다: Security

페어링 코드:

  • 8자리, 대문자, 혼동 가능한 문자 제외 (0O1I).
  • 1시간 후 만료. 봇은 새 요청이 생성될 때만 페어링 메시지를 전송합니다 (발신자당 대략 1시간에 한 번).
  • 대기 중인 DM 페어링 요청은 채널당 기본 3개로 제한됩니다. 하나가 만료되거나 승인될 때까지 추가 요청은 무시됩니다.

발신자 승인

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

지원 채널: telegram, whatsapp, signal, imessage, discord, slack, feishu.

상태 저장 위치

~/.openclaw/credentials/에 저장됩니다:

  • 대기 중인 요청: <channel>-pairing.json
  • 승인된 허용 목록 저장소:
    • 기본 계정: <channel>-allowFrom.json
    • 기본이 아닌 계정: <channel>-<accountId>-allowFrom.json

계정 범위 동작:

  • 기본이 아닌 계정은 자체 범위의 허용 목록 파일만 읽고 씁니다.
  • 기본 계정은 채널 범위의 비범위 허용 목록 파일을 사용합니다.

이 파일들은 어시스턴트 접근을 제어하므로 민감하게 취급하세요.

2) 노드 기기 페어링 (iOS/Android/macOS/헤드리스 노드)

노드는 role: node기기로 게이트웨이에 연결됩니다. 게이트웨이가 승인이 필요한 기기 페어링 요청을 생성합니다.

Telegram을 통한 페어링 (iOS 권장)

device-pair 플러그인을 사용하면 Telegram에서 기기 페어링을 완전히 수행할 수 있습니다:

  1. Telegram에서 봇에게 메시지: /pair
  2. 봇이 안내 메시지와 별도의 설정 코드 메시지로 응답합니다 (Telegram에서 복사/붙여넣기가 쉽습니다).
  3. 휴대폰에서 OpenClaw iOS 앱 -> 설정 -> 게이트웨이를 엽니다.
  4. 설정 코드를 붙여넣고 연결합니다.
  5. Telegram으로 돌아가서: /pair approve

설정 코드는 다음을 포함하는 base64 인코딩된 JSON 페이로드입니다:

  • url: 게이트웨이 WebSocket URL (ws://... 또는 wss://...)
  • bootstrapToken: 초기 페어링 핸드셰이크에 사용되는 단기 단일 기기 부트스트랩 토큰

설정 코드가 유효한 동안 비밀번호처럼 취급하세요.

노드 기기 승인

openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>

노드 페어링 상태 저장소

~/.openclaw/devices/에 저장됩니다:

  • pending.json (단기; 대기 중인 요청은 만료됨)
  • paired.json (페어링된 기기 + 토큰)

참고 사항

  • 레거시 node.pair.* API (CLI: openclaw nodes pending/approve)는 별도의 게이트웨이 소유 페어링 저장소입니다. WS 노드는 여전히 기기 페어링이 필요합니다.

관련 문서