Gateway - Neotask by Neotask Documentation | Neotask

게이트웨이

게이트웨이란 무엇인가?

게이트웨이는 OpenClaw의 핵심입니다 — 모든 에이전트 세션, 메시지 채널, 도구 실행, 기기 연결을 관리하는 단일 장기 실행 서비스. 모든 것이 게이트웨이를 통해 흐릅니다.

클라이언트(데스크톱 앱, 모바일 앱, 웹 대시보드)의 연결을 받고 전체 AI 어시스턴트 수명 주기를 관리하는 WebSocket 서버입니다.

아키텍처

구성 요소

  • WebSocket 서버 — 클라이언트 연결을 받습니다 (기본 포트 18789)
  • HTTP 서버 — 제어 UI, 캔버스 호스트, 상태 엔드포인트를 제공합니다
  • 채널 어댑터 — 메시지 플랫폼(WhatsApp, Telegram, Discord 등)에 대한 연결을 유지합니다
  • 세션 관리자 — 에이전트 대화 상태를 지속하고 관리합니다
  • 크론 스케줄러 — 예약된 작업과 하트비트 깨우기를 실행합니다
  • 플러그인 런타임 — 플러그인 수명 주기를 로드하고 관리합니다
  • 브라우저 서비스 — 웹 자동화를 위한 Chromium 인스턴스를 제어합니다
  • 바인딩 모드

    | 모드 | 설명 | |------|-------------| | 루프백 | 기본값. localhost(127.0.0.1)에서만 접근 가능 | | LAN | 로컬 네트워크에서 접근 가능. Bonjour/mDNS를 통해 자동 발견 가능 | | Tailnet | MagicDNS로 Tailscale VPN을 통해 접근 가능 | | 커스텀 | 특정 주소에 바인딩 |

    인증

    | 방법 | 설명 | |--------|-------------| | 토큰 | WebSocket 베어러 토큰 (UUID 또는 커스텀 문자열) | | 비밀번호 | 비밀번호 기반 인증 (bcrypt 해시) | | 신뢰할 수 있는 프록시 | 사전 인증 헤더가 있는 리버스 프록시용 | | 로컬 신뢰 | 루프백 연결 자동 승인 |

    구성

    게이트웨이는 openclaw.json(JSON5 형식)을 통해 구성됩니다. 주요 섹션:

    | 섹션 | 제어 내용 | |---------|----------| | agents | 에이전트 목록, 기본값, 워크스페이스 | | gateway | 포트, 바인딩 모드, 인증, 재로드 동작 | | channels | 채널별 구성 및 자격 증명 | | tools | 도구 권한, 프로필, 보안 | | plugins | 플러그인 로드, 활성화, 플러그인별 구성 | | models | 제공업체 인증, 폴백, 제공업체 설정 | | skills | 스킬 디렉토리, 스킬별 구성 | | browser | 브라우저 프로필, 포트, 헤드리스 모드 | | cron | 스케줄러 구성 | | session | 재설정 규칙, 압축 임계값 | | messages | TTS 설정, 미디어 정책 | | memory | 메모리 인덱싱 구성 | | security | 샌드박싱, 상승 모드, 승인 |

    핫 리로드

    재시작 없이 구성 변경을 적용할 수 있습니다:

    | 모드 | 동작 | |------|----------| | 하이브리드 (기본값) | 안전한 변경을 핫 적용하고 다른 변경은 재시작합니다 | | | 핫 안전 변경만 적용하고 다른 것은 무시합니다 | | 재시작 | 재로드가 필요한 변경 시 재시작합니다 | | 끄기 | 자동 재로드 없음 |

    원격 접근

    Tailscale (권장)

    Tailscale은 안전한 제로 구성 원격 접근을 제공합니다:

  • 게이트웨이를 Tailnet에 바인딩합니다
  • 동일한 Tailscale 네트워크의 모든 기기에서 접근합니다
  • MagicDNS를 통한 자동 DNS
  • Tailscale Serve는 HTTPS로 대시보드를 노출할 수 있습니다
  • SSH 터널

    SSH를 통해 게이트웨이 포트를 포워딩합니다:

  • 간단하고 안전하며 구성 변경이 필요하지 않습니다
  • SSH 가능한 모든 머신과 작동합니다
  • 전체 WebSocket 프로토콜과 제어 UI를 지원합니다
  • 보안 규칙

  • 루프백 + SSH/Tailscale이 가장 안전한 조합입니다
  • 비루프백 바인딩에는 인증 토큰 구성이 필요합니다
  • 추가 보안을 위한 TLS 지문 고정이 가능합니다
  • 브라우저 제어는 기본적으로 원격 연결에서 비활성화됩니다
  • 상태 모니터링

    상태 엔드포인트

    /health HTTP 엔드포인트는 다음을 반환합니다:

  • 게이트웨이 상태
  • RPC 라이브니스
  • 채널별 상태 (연결됨, 인증 상태, 계정 수)
  • 브라우저 준비 상태
  • 활성 에이전트 및 연결된 노드
  • 가동 시간
  • 프로브

  • RPC 라이브니스 — WebSocket 연결 + 에코 테스트
  • 채널 상태 — 채널별 인증 확인 + API 핑
  • 브라우저 준비 상태 — 포트 확인, 프로세스 확인
  • 노드 연결성 — 마지막 하트비트 타임스탬프
  • 발견

    Bonjour/mDNS

    LAN에 바인딩되면 게이트웨이는 멀티캐스트 DNS를 통해 자신을 알립니다:

  • 서비스 유형: _openclaw-gw._tcp
  • 포트, 전송, TLS 상태, Tailscale DNS 정보 포함
  • 동반 앱이 게이트웨이를 자동으로 발견합니다
  • 광역 발견

    구성 가능한 타임아웃으로 네트워크 전체의 게이트웨이를 발견합니다. 로컬 Bonjour와 Tailscale DNS 발견을 모두 지원합니다.

    여러 게이트웨이

    프로필을 사용하여 동일한 머신에서 여러 게이트웨이 인스턴스를 실행할 수 있습니다:

  • 각 프로필에는 별도의 구성, 워크스페이스, 세션, 상태가 있습니다
  • 각 게이트웨이에 다른 포트
  • 격리(개인 vs 업무) 또는 테스트에 유용합니다
  • 진단

    닥터

    내장 진단 도구는 다음을 확인합니다:

  • 구성 유효성
  • 파일 권한
  • 채널 연결성
  • 모델 인증 상태
  • Node.js 버전 호환성
  • 일반적인 잘못된 구성
  • 권한이 주어지면 많은 문제를 자동으로 수정할 수 있습니다.

    로깅

    게이트웨이 로그는 일별 JSONL 파일에 기록됩니다:

  • 완성별 토큰 사용량 추적
  • 채널 이벤트 로그
  • 구조화된 컨텍스트가 있는 오류 로깅
  • 구성 가능한 로그 수준
  • View full documentation