--- 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 Β· npm Β· 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 β”‚ ───▢ β”‚ CLAWDIS β”‚ ───▢ β”‚ AI Agent β”‚ β”‚ Telegram β”‚ ───▢ β”‚ πŸ¦žβ±οΈπŸ’™ β”‚ ◀─── β”‚ (Pi) β”‚ β”‚ (You) β”‚ ◀─── β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` Most operations flow through the **Gateway** (`clawdis gateway`), a single long-running process that owns provider connections and the WebSocket control plane. ## 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** β€” Per-sender (or shared `main`) conversation context - πŸ‘₯ **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** β€” A local UI + menu bar companion for ops and voice wake Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path. ## Quick start Runtime requirement: **Node β‰₯ 22**. ```bash # Install npm install -g clawdis # 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 - [Configuration](./configuration.md) - [Gateway runbook](./gateway.md) - [WebChat](./webchat.md) - [Agent integration](./agents.md) - [Telegram](./telegram.md) - [Group messages](./group-messages.md) - [Media: images](./images.md) - [Media: audio](./audio.md) - [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