OpenClaw is a multi-platform AI gateway and personal assistant system that orchestrates conversations between messaging channels and AI agents README.md18-19 It acts as a central control plane, connecting messaging platforms like WhatsApp, Telegram, Slack, Discord, Signal, and iMessage to advanced AI models, providing a unified interface for AI interaction README.md4-7 docs/docs.json4
The system is powered by the Pi Agent Core docs/docs_map.md105-125 and includes the Codex app-server harness for specialized coding and tool-use workloads docs/docs_map.md203-214 It is designed around a Personal Assistant Trust Model, assuming a single trusted operator boundary. It enables agents to perform real-world tasks through a rich tool ecosystem, including browser automation, filesystem access, and media understanding README.md58-62 AGENTS.md50-51
For installation and first-time setup, see Getting Started. For fundamental mental models, see Core Concepts. For technical details on the build system and cross-platform clients, see Platform Architecture.
Sources: README.md18-19 docs/docs.json4 docs/docs_map.md105-125 docs/docs_map.md203-214 AGENTS.md50-51
OpenClaw is organized as a monorepo. The Gateway is the central engine that manages the lifecycle of the assistant, configuration validation, and agent execution.
Sources: README.md56-62 docs/docs_map.md22-29 docs/docs_map.md203-214 docs/docs_map.md29-38 docs/docs_map.md295-305
The Gateway is the always-on control plane. It manages Agents, which are execution contexts configured with specific models and workspace defaults. The system maintains a synchronized model catalog for discovery, including support for providers like OpenAI, Anthropic, and Google Gemini docs/concepts/model-providers.md10-18 Root rules for agent behavior and repository-wide standing orders are defined in AGENTS.md AGENTS.md1-5
A Session represents a specific conversation thread. Channels are transport layers that route messages to the Gateway README.md58-59 OpenClaw supports a wide array of integrations, including Telegram, Discord, Slack, and Signal docs/docs.json4 Recent updates emphasize robust message delivery and session management across these platforms.
Tools are functional capabilities (like shell execution, web search, or browser automation) that the agent can invoke README.md61-62 Skills are modular extensions that teach agents how to use these tools for specific domains, managed via SKILL.md files such as the PR maintainer skill .agents/skills/openclaw-pr-maintainer/SKILL.md1-4
For a deeper dive into these primitives, see Core Concepts.
Sources: docs/concepts/model-providers.md10-18 README.md58-62 AGENTS.md1-5 .agents/skills/openclaw-pr-maintainer/SKILL.md1-4
OpenClaw is built for high portability across desktop, server, and mobile environments. It leverages a shared TypeScript core and native UI components.
| Platform | Role | Technology |
|---|---|---|
| Server / Desktop | Core Gateway | Node.js (>=24.15) / TypeScript AGENTS.md50-51 scripts/pre-commit/pnpm-audit-prod.mjs8-9 |
| Web | Control UI | React/Lit (via ui/ workspace) README.md56-57 |
| Native Clients | iOS / Android / macOS / Linux | Swift / Kotlin / Tauri (via apps/) docs/docs_map.md315-330 |
| Container | Deployment | Docker Multi-arch manifests docs/docs_map.md345-350 |
Sources: AGENTS.md1-5 README.md56-62 docs/docs_map.md340-350 docs/docs_map.md130-145
For details on the build system and native integrations, see Platform Architecture.
OpenClaw operates on a Personal Assistant Trust Model. Because the assistant has access to sensitive local tools (like shell execution), it includes several safety boundaries:
OpenShell for tool execution docs/docs_map.md340-350doctor command docs/docs_map.md26-27Sources: AGENTS.md9 AGENTS.md23-28 docs/docs_map.md340-350 docs/docs_map.md26-27
The recommended way to set up OpenClaw is via the interactive onboarding wizard.
This command guides you through:
For a full walkthrough, see Getting Started.
Sources: README.md46-53 docs/concepts/model-providers.md15-20
Refresh this wiki
This wiki was recently refreshed. Please wait 3 days to refresh again.