--- summary: "Top-level overview of Clawdis, features, and purpose" read_when: - Introducing Clawdis to newcomers --- # CLAWDIS 🦞 > *"EXFOLIATE! EXFOLIATE!"* β€” A space lobster, probably

CLAWDIS

WhatsApp + Telegram gateway for AI agents (Pi).
Send a message, get an agent response β€” from your pocket.

GitHub Β· Releases Β· Clawd setup

CLAWDIS bridges WhatsApp (via WhatsApp Web / Baileys) and Telegram (Bot API / grammY) to coding agents like [Pi](https://github.com/badlogic/pi-mono). It’s built for [Clawd](https://clawd.me), a space lobster who needed a TARDIS. ## How it works ``` WhatsApp / Telegram β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Gateway β”‚ ws://127.0.0.1:18789 (loopback-only) β”‚ (single source) β”‚ tcp://0.0.0.0:18790 (optional Bridge) β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”œβ”€ Pi agent (RPC) β”œβ”€ CLI (clawdis …) β”œβ”€ WebChat (loopback UI) β”œβ”€ macOS app (Clawdis.app) └─ iOS node (Iris) via Bridge + pairing ``` Most operations flow through the **Gateway** (`clawdis gateway`), a single long-running process that owns provider connections and the WebSocket control plane. ## Network model - **One Gateway per host**: it is the only process allowed to own the WhatsApp Web session. - **Loopback-first**: Gateway WS is `ws://127.0.0.1:18789` (not exposed on the LAN). - **Bridge for nodes**: optional LAN/tailnet-facing bridge on `tcp://0.0.0.0:18790` for paired nodes (Bonjour-discoverable). - **Remote use**: SSH tunnel or tailnet/VPN; see `docs/remote.md` and `docs/discovery.md`. ## Features (high level) - πŸ“± **WhatsApp Integration** β€” Uses Baileys for WhatsApp Web protocol - ✈️ **Telegram Bot** β€” DMs + groups via grammY - πŸ€– **Agent bridge** β€” Pi (RPC mode) with tool streaming - πŸ’¬ **Sessions** β€” Direct chats collapse into shared `main` (default); groups are isolated - πŸ‘₯ **Group Chat Support** β€” Mention-based triggering in group chats - πŸ“Ž **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 (Iris)** β€” Pairs as a node and exposes a Canvas surface Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path. ## Quick start Runtime requirement: **Node β‰₯ 22**. ```bash # From source (recommended while the npm package is still settling) pnpm install pnpm build pnpm link --global # Pair WhatsApp Web (shows QR) clawdis login # Run the Gateway (leave running) clawdis gateway --port 18789 # Open the local WebChat UI clawdis webchat ``` Send a test message (requires a running Gateway): ```bash clawdis send --to +15555550123 --message "Hello from CLAWDIS" ``` ## Configuration (optional) Config lives at `~/.clawdis/clawdis.json`. - If you **do nothing**, CLAWDIS uses the bundled Pi binary in RPC mode with per-sender sessions. - If you want to lock it down, start with `inbound.allowFrom` and (for groups) mention rules. Example: ```json5 { inbound: { allowFrom: ["+15555550123"], groupChat: { requireMention: true, mentionPatterns: ["@clawd"] } } } ``` ## Docs - Start here: - [Configuration](./configuration.md) - [Clawd personal assistant setup](./clawd.md) - [AGENTS.md template (default)](./AGENTS.default.md) - [Gateway runbook](./gateway.md) - [Discovery + transports](./discovery.md) - [Remote access](./remote.md) - Providers and UX: - [WebChat](./webchat.md) - [Telegram](./telegram.md) - [Group messages](./group-messages.md) - [Media: images](./images.md) - [Media: audio](./audio.md) - Ops and safety: - [Sessions](./session.md) - [Cron + wakeups](./cron.md) - [Security](./security.md) - [Troubleshooting](./troubleshooting.md) ## The name **CLAWDIS = CLAW + TARDIS** β€” because every space lobster needs a time-and-space machine. --- *"We're all just playing with our own prompts."* β€” an AI, probably high on tokens ## Credits - **Peter Steinberger** ([@steipete](https://twitter.com/steipete)) β€” Creator, lobster whisperer - **Mario Zechner** ([@badlogicc](https://twitter.com/badlogicgames)) β€” Pi creator, security pen-tester - **Clawd** β€” The space lobster who demanded a better name ## License MIT β€” Free as a lobster in the ocean 🦞 --- *"We're all just playing with our own prompts."* β€” An AI, probably high on tokens