openclaw node

게이트웨이 WebSocket에 연결하여 해당 머신에서 system.run / system.which를 제공하는 헤드리스 노드 호스트를 실행합니다.

노드 호스트를 사용하는 이유

에이전트가 전체 macOS 컴패니언 앱을 설치하지 않고도 네트워크 내 다른 머신에서 명령을 실행할 수 있게 하려면 노드 호스트를 사용합니다.

일반적인 사용 사례:

  • 원격 Linux/Windows 머신(빌드 서버, 랩 머신, NAS)에서 명령 실행.
  • 게이트웨이에서 실행을 샌드박스로 유지하면서 승인된 실행만 다른 호스트에 위임.
  • 자동화 또는 CI 노드를 위한 가벼운 헤드리스 실행 대상 제공.

노드 호스트에서 실행 승인 및 에이전트별 허용 목록으로 보호되므로 명령 접근 범위를 제한하고 명시적으로 관리할 수 있습니다.

브라우저 프록시 (설정 불필요)

노드 호스트는 browser.enabled가 비활성화되지 않은 경우 자동으로 브라우저 프록시를 알립니다. 이를 통해 에이전트가 추가 구성 없이 해당 노드에서 브라우저 자동화를 사용할 수 있습니다.

필요한 경우 노드에서 비활성화할 수 있습니다:

{
  nodeHost: {
    browserProxy: {
      enabled: false,
    },
  },
}

실행 (포그라운드)

openclaw node run --host <gateway-host> --port 18789

옵션:

  • --host <host>: 게이트웨이 WebSocket 호스트 (기본값: 127.0.0.1)
  • --port <port>: 게이트웨이 WebSocket 포트 (기본값: 18789)
  • --tls: 게이트웨이 연결에 TLS 사용
  • --tls-fingerprint <sha256>: 예상 TLS 인증서 지문 (sha256)
  • --node-id <id>: 노드 ID 재정의 (페어링 토큰 초기화)
  • --display-name <name>: 노드 표시 이름 재정의

노드 호스트 게이트웨이 인증

openclaw node runopenclaw node install은 설정/환경변수에서 게이트웨이 인증을 확인합니다 (노드 명령에는 --token/--password 플래그가 없음):

  • OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD가 먼저 확인됩니다.
  • 그다음 로컬 설정 폴백: gateway.auth.token / gateway.auth.password.
  • 로컬 모드에서 노드 호스트는 gateway.remote.token / gateway.remote.password를 의도적으로 상속하지 않습니다.
  • gateway.auth.token / gateway.auth.password가 SecretRef로 명시적으로 구성되었으나 확인되지 않는 경우, 노드 인증 확인이 안전하게 실패합니다 (원격 폴백 마스킹 없음).
  • gateway.mode=remote에서는 원격 클라이언트 필드(gateway.remote.token / gateway.remote.password)도 원격 우선순위 규칙에 따라 사용 가능합니다.
  • 레거시 CLAWDBOT_GATEWAY_* 환경 변수는 노드 호스트 인증 확인에서 무시됩니다.

서비스 (백그라운드)

사용자 서비스로 헤드리스 노드 호스트를 설치합니다.

openclaw node install --host <gateway-host> --port 18789

옵션:

  • --host <host>: 게이트웨이 WebSocket 호스트 (기본값: 127.0.0.1)
  • --port <port>: 게이트웨이 WebSocket 포트 (기본값: 18789)
  • --tls: 게이트웨이 연결에 TLS 사용
  • --tls-fingerprint <sha256>: 예상 TLS 인증서 지문 (sha256)
  • --node-id <id>: 노드 ID 재정의 (페어링 토큰 초기화)
  • --display-name <name>: 노드 표시 이름 재정의
  • --runtime <runtime>: 서비스 런타임 (node 또는 bun)
  • --force: 이미 설치된 경우 재설치/덮어쓰기

서비스 관리:

openclaw node status
openclaw node stop
openclaw node restart
openclaw node uninstall

포그라운드 노드 호스트(서비스 없음)를 실행하려면 openclaw node run을 사용하세요.

서비스 명령은 머신 판독 가능한 출력을 위해 --json을 지원합니다.

페어링

첫 연결 시 게이트웨이에 대기 중인 디바이스 페어링 요청(role: node)이 생성됩니다. 다음을 통해 승인합니다:

openclaw devices list
openclaw devices approve <requestId>

노드 호스트는 노드 ID, 토큰, 표시 이름, 게이트웨이 연결 정보를 ~/.openclaw/node.json에 저장합니다.

실행 승인

system.run은 로컬 실행 승인으로 제어됩니다:

  • ~/.openclaw/exec-approvals.json
  • Exec approvals
  • openclaw approvals --node <id|name|ip> (게이트웨이에서 편집)