Skip to main content
OpenClaw is a production-grade, single-user, self-hosted personal AI (PAI) assistant you run on your own devices. It connects to popular messaging channels (WhatsApp, Telegram, Slack, Discord, Signal, iMessage) so you can interact through familiar interfaces while keeping your data and control local. OpenClaw is implemented in TypeScript on Node.js and follows a Perceive–Reason–Act agent loop. It supports multiple model providers (Anthropic Claude, OpenAI GPT, Google Gemini, AWS Bedrock) and is designed to run on desktops and servers (macOS, Linux, Windows) as well as resource-constrained devices such as Raspberry Pi. Mobile access is available through iOS and Android clients.
OpenClaw is optimized for self-hosted, private deployments and supports pluggable model providers. You can run it on a local server, a small cloud VM, or an edge device like a Raspberry Pi for low-cost always-on access.
Quick facts Agent configuration (example)
Message flow When a user sends a message from any supported channel, OpenClaw processes it through a consistent, reliable pipeline:
  1. Channel Monitor normalizes the incoming payload (unifying formats from WhatsApp, Telegram, Discord, etc.).
  2. Routing Engine selects the correct agent or agent instance based on channel, session, or metadata.
  3. Gateway (a WebSocket coordinator) handles authentication, concurrency, and connection lifecycle, then forwards the request to the agent system.
  4. Agent Loop executes the Perceive–Reason–Act cycle: perceive input, reason (including tool use and memory retrieval), act (invoke tools or craft a response), and decide whether follow-up steps are needed.
  5. Auto-reply Engine formats the agent’s response to the originating channel’s required payload structure.
  6. Channel Sender dispatches the formatted response back to the user.
A neon-style circular flowchart titled "MESSAGE FLOW" showing components like CHANNEL MONITOR, ROUTING ENGINE, GATEWAY, AGENT_LOOP, AUTO-REPLY, and CHANNEL SENDER connected around a small red crab in the center. The diagram is set against a black grid background with a pixelated yellow heading.
Core systems OpenClaw is organized into eight primary systems that together provide resilience, extensibility, and safety: Patterns and safety OpenClaw applies established architectural and safety patterns commonly used in agent systems:
  • Augmented LLMs with first-class tool integration and persistent memory (embeddings + vector stores).
  • Policy-driven tool access: tools can be allowed, restricted, or require explicit human approval.
  • Routing by channel and session to ensure conversation continuity per agent instance.
  • Context window compression and model fallback to handle provider rate limits or outages.
  • Human-in-the-loop for risky, destructive, or safety-sensitive operations.
  • Robust error handling: credential rotation, rate-limit backoff, and retries.
Tools that perform destructive operations (e.g., file deletion or remote shell access) must be protected by strict policies and human approval workflows. Test policies in a safe environment before enabling them in production.
Example of a simple tool policy This example shows how tool access can be defined and enforced by the tools subsystem:
Policies like this can be extended with auditing, role-based approvals, per-channel constraints, and contextual rules. Deployment and scaling considerations
  • Run-time environments: Node.js LTS on macOS, Linux, and Windows.
  • Edge deployment: lightweight agent builds and trimmed toolsets for Raspberry Pi.
  • Scaling: multiple gateway instances and routing allow horizontal scaling; session affinity ensures conversation continuity.
  • Configuration: store sensitive keys and secrets securely (e.g., environment variables, secret stores) and use validated JSON5 for runtime configuration.
References Summary OpenClaw combines a compact Perceive–Reason–Act agent loop with a WebSocket gateway, pluggable channel adapters, tools and persistent memory, and a policy-driven safety layer. This architecture enables a practical, self-hosted personal assistant that runs across many devices while keeping control and extensibility in developer hands.

Watch Video