단일 파일에서 디렉토리 구조로 변경하여 컨텍스트 관리 용이하게 함. openclaw-manual.md는 위키링크 인덱스로 변환. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
---
|
|
title: OpenClaw 아키텍처
|
|
updated: 2026-03-18
|
|
---
|
|
|
|
게이트웨이(Gateway)가 중앙 데몬으로 모든 메시징 채널을 관리. 호스트당 1개만 존재. 기본 `127.0.0.1:18789`.
|
|
|
|
## 구조
|
|
|
|
```
|
|
채널(WhatsApp/Telegram/Discord...) ← WebSocket → 게이트웨이 ← WebSocket → 클라이언트(CLI/macOS앱/웹UI)
|
|
↕
|
|
노드(macOS/iOS/Android)
|
|
```
|
|
|
|
## 구성요소
|
|
|
|
- **게이트웨이**: 메시징 연결 유지, WebSocket API, JSON Schema 검증
|
|
- **클라이언트**: 게이트웨이에 WebSocket 연결, `send`/`agent`/`status` 요청
|
|
- **노드**: `role: node`로 연결, 기기 ID 기반 페어링, camera/screen 등 명령
|
|
|
|
## 연결 프로토콜
|
|
|
|
- 첫 프레임은 반드시 `connect` 요청
|
|
- 요청/응답: `{type:"req", id, method, params}` ↔ `{type:"res", id, ok, payload}`
|
|
- 이벤트: `{type:"event", event, payload}`
|
|
- 보안: 새 기기는 페어링 승인 필요, 로컬은 자동 승인
|
|
- 원격: Tailscale/VPN 또는 SSH 터널 (`ssh -N -L 18789:127.0.0.1:18789 user@host`)
|