OpenClaw LogoOpenClaw AI
Background
OpenClaw

OpenClaw Architecture

Gateway Centric Architecture · Agent Loop Mechanism · Multimodal Interaction

Gateway Centric Architecture

Single Gateway Process controlling everything

WhatsApp
WebChat
Telegram
Gateway
Control Plane
ws://127.0.0.1
Pi Agent(RPC)
CLI / UIControl
WorkspaceStorage

Single Control Plane

A long-running Gateway process unifying all connections, preventing multi-process fragmentation.

WebSocket Core

All control commands transmitted via local WebSocket, ensuring low latency and high response.

Multi-Channel Adaptation

Native support for WhatsApp, Telegram, Slack, and 10+ mainstream communication channels.

Agent Loop Mechanism

How OpenClaw Thinks and Acts

Receive Message

Route Dispatch

Load Context

LLM Thinking

Tool Execution

Stream Response

State Update

agent-gateway — 80x24

Streaming Response Technology

OpenClaw supports Block Streaming and Tool Streaming. This means users see real-time feedback while tools (like browser operations) are executing, without waiting for the entire task to complete.

Network & Security Model

Secure by Default, Remote by Choice

Local Machine

Gateway (127.0.0.1)
Browser / Tools
Default Security Policy: Gateway binds only to Loopback, preventing unauthenticated public exposure.

Session Isolation System

Main Session

Personal exclusive main session, tools run on host machine with highest privileges.

Group Session

Group chat environment automatically isolated, running in Docker sandbox to prevent misoperation.

Isolated Session

On-demand manually created isolated environment for testing unsafe code.

Powerful Toolbox

CDP Browser

Deep browser control based on Chrome DevTools Protocol

Canvas UI

Generate visual interactive components and dashboards

FileSystem

Secure sandboxed file read/write capabilities

Cron Jobs

Natural language defined scheduled tasks

Deployment & Operations

Ready to deploy your own agent?

Install
$ curl -sL https://openclaw.ai/install | bash
Run Gateway
$ openclaw gateway run
Connect Agent
$ openclaw agent connect