Docs

OpenClaw

OpenClaw ๐Ÿฆž

โ€œEXFOLIATE! EXFOLIATE!โ€ โ€” A space lobster, probably
OpenClaw
OpenClaw

Any OS + WhatsApp/Telegram/Discord/iMessage gateway for AI agents (Pi).
Plugins add Mattermost and more. Send a message, get an agent response โ€” from your pocket.

GitHub ยท Releases ยท Docs ยท OpenClaw assistant setup

Start here

Dashboard (browser Control UI)

OpenClaw

How it works

text
WhatsApp / Telegram / Discord / iMessage (+ plugins)
        โ”‚
        โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚          Gateway          โ”‚  ws://127.0.0.1:18789 (loopback-only)
  โ”‚     (single source)       โ”‚
  โ”‚                           โ”‚  http://<gateway-host>:18793
  โ”‚                           โ”‚    /__openclaw__/canvas/ (Canvas host)
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚
              โ”œโ”€ Pi agent (RPC)
              โ”œโ”€ CLI (openclaw โ€ฆ)
              โ”œโ”€ Chat UI (SwiftUI)
              โ”œโ”€ macOS app (OpenClaw.app)
              โ”œโ”€ iOS node via Gateway WS + pairing
              โ””โ”€ Android node via Gateway WS + pairing

Network model

  • One Gateway per host (recommended): it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see Multiple gateways.
  • Loopback-first: Gateway WS defaults to ws://127.0.0.1:18789.
    • The wizard now generates a gateway token by default (even for loopback).
    • For Tailnet access, run openclaw gateway --bind tailnet --token ... (token is required for non-loopback binds).
  • The wizard now generates a gateway token by default (even for loopback).
  • For Tailnet access, run openclaw gateway --bind tailnet --token ... (token is required for non-loopback binds).
  • Nodes: connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.
  • Canvas host: HTTP file server on canvasHost.port (default 18793), serving /__openclaw__/canvas/ for node WebViews; see Gateway configuration (canvasHost).
  • Remote use: SSH tunnel or tailnet/VPN; see Remote access and Discovery.
  • The wizard now generates a gateway token by default (even for loopback).
  • For Tailnet access, run openclaw gateway --bind tailnet --token ... (token is required for non-loopback binds).

Features (high level)

  • ๐Ÿ“ฑ WhatsApp Integration โ€” Uses Baileys for WhatsApp Web protocol
  • โœˆ๏ธ Telegram Bot โ€” DMs + groups via grammY
  • ๐ŸŽฎ Discord Bot โ€” DMs + guild channels via channels.discord.js
  • ๐Ÿงฉ Mattermost Bot (plugin) โ€” Bot token + WebSocket events
  • ๐Ÿ’ฌ iMessage โ€” Local imsg CLI integration (macOS)
  • ๐Ÿค– Agent bridge โ€” Pi (RPC mode) with tool streaming
  • โฑ๏ธ Streaming + chunking โ€” Block streaming + Telegram draft streaming details (/concepts/streaming)
  • ๐Ÿง  Multi-agent routing โ€” Route provider accounts/peers to isolated agents (workspace + per-agent sessions)
  • ๐Ÿ” Subscription auth โ€” Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth
  • ๐Ÿ’ฌ Sessions โ€” Direct chats collapse into shared main (default); groups are isolated
  • ๐Ÿ‘ฅ Group Chat Support โ€” Mention-based by default; owner can toggle /activation always|mention
  • ๐Ÿ“Ž Media Support โ€” Send and receive images, audio, documents
  • ๐ŸŽค Voice notes โ€” Optional transcription hook
  • ๐Ÿ–ฅ๏ธ WebChat + macOS app โ€” Local UI + menu bar companion for ops and voice wake
  • ๐Ÿ“ฑ iOS node โ€” Pairs as a node and exposes a Canvas surface
  • ๐Ÿ“ฑ Android node โ€” Pairs as a node and exposes Canvas + Chat + Camera

Quick start

text
# Recommended: global install (npm/pnpm)
npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest

# Onboard + install the service (launchd/systemd user service)
openclaw onboard --install-daemon

# Pair WhatsApp Web (shows QR)
openclaw channels login

# Gateway runs via the service after onboarding; manual run is still possible:
openclaw gateway --port 18789
text
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build
openclaw onboard --install-daemon
text
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001
text
openclaw message send --target +15555550123 --message "Hello from OpenClaw"

Configuration (optional)

  • If you do nothing, OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.
  • If you want to lock it down, start with channels.whatsapp.allowFrom and (for groups) mention rules.
text
{
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: { "*": { requireMention: true } },
    },
  },
  messages: { groupChat: { mentionPatterns: ["@openclaw"] } },
}

Docs

The name

Credits

  • Peter Steinberger (@steipete) โ€” Creator, lobster whisperer
  • Mario Zechner (@badlogicc) โ€” Pi creator, security pen-tester
  • Clawd โ€” The space lobster who demanded a better name

Core Contributors

License