2025-12-09 17:51:05 +00:00
---
summary: "Top-level overview of Clawdis, features, and purpose"
read_when:
- Introducing Clawdis to newcomers
---
2025-12-13 13:25:49 +00:00
<!-- {% raw %} -->
2025-12-03 15:45:32 +00:00
# CLAWDIS 🦞
> *"EXFOLIATE! EXFOLIATE!"* — A space lobster, probably
2025-12-13 13:25:49 +00:00
< p align = "center" >
< img src = "whatsapp-clawd.jpg" alt = "CLAWDIS" width = "420" >
< / p >
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
< p align = "center" >
2026-01-02 01:19:22 +01:00
< strong > WhatsApp + Telegram + Discord + iMessage gateway for AI agents (Pi).< / strong > < br >
2025-12-13 13:25:49 +00:00
Send a message, get an agent response — from your pocket.
< / p >
2025-12-05 17:51:11 +00:00
2025-12-13 13:25:49 +00:00
< p align = "center" >
< a href = "https://github.com/steipete/clawdis" > GitHub< / a > ·
2025-12-14 00:50:41 +00:00
< a href = "https://github.com/steipete/clawdis/releases" > Releases< / a > ·
2026-01-02 02:45:01 +00:00
< a href = "./clawd.md" > Clawd setup< / a >
2025-12-13 13:25:49 +00:00
< / p >
2025-12-03 15:45:32 +00:00
2026-01-02 01:19:22 +01:00
CLAWDIS bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / discord.js), and iMessage (imsg CLI) to coding agents like [Pi ](https://github.com/badlogic/pi-mono ).
2025-12-13 13:25:49 +00:00
It’ s built for [Clawd ](https://clawd.me ), a space lobster who needed a TARDIS.
## How it works
2025-12-03 15:45:32 +00:00
```
2025-12-15 10:11:18 -06:00
WhatsApp / Telegram / Discord
2025-12-14 00:50:41 +00:00
│
▼
┌──────────────────────────┐
│ Gateway │ ws://127.0.0.1:18789 (loopback-only)
2025-12-18 13:18:33 +01:00
│ (single source) │ tcp://0.0.0.0:18790 (Bridge)
2025-12-20 22:25:09 +01:00
│ │ http://< gateway-host > :18793/__clawdis__/canvas/ (Canvas host)
2025-12-14 00:50:41 +00:00
└───────────┬───────────────┘
│
├─ Pi agent (RPC)
├─ CLI (clawdis …)
2025-12-17 23:05:28 +01:00
├─ Chat UI (SwiftUI)
2025-12-14 00:50:41 +00:00
├─ macOS app (Clawdis.app)
2025-12-18 13:18:33 +01:00
└─ iOS node via Bridge + pairing
2025-12-03 15:45:32 +00:00
```
2025-12-13 13:25:49 +00:00
Most operations flow through the **Gateway** (`clawdis gateway` ), a single long-running process that owns provider connections and the WebSocket control plane.
2025-12-14 00:50:41 +00:00
## Network model
- **One Gateway per host**: it is the only process allowed to own the WhatsApp Web session.
2025-12-18 22:40:46 +00:00
- **Loopback-first**: Gateway WS defaults to `ws://127.0.0.1:18789` .
- For Tailnet access, run `clawdis gateway --bind tailnet --token ...` (token is required for non-loopback binds).
2025-12-14 00:50:41 +00:00
- **Bridge for nodes**: optional LAN/tailnet-facing bridge on `tcp://0.0.0.0:18790` for paired nodes (Bonjour-discoverable).
2025-12-20 22:25:09 +01:00
- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793` ), serving `/__clawdis__/canvas/` for node WebViews; see `docs/configuration.md` (`canvasHost` ).
2025-12-14 00:50:41 +00:00
- **Remote use**: SSH tunnel or tailnet/VPN; see `docs/remote.md` and `docs/discovery.md` .
2025-12-13 13:25:49 +00:00
## Features (high level)
2025-12-03 15:45:32 +00:00
- 📱 **WhatsApp Integration** — Uses Baileys for WhatsApp Web protocol
2025-12-13 13:25:49 +00:00
- ✈️ **Telegram Bot** — DMs + groups via grammY
2025-12-15 10:11:18 -06:00
- 🎮 **Discord Bot** — DMs + guild channels via discord.js
2026-01-02 01:19:22 +01:00
- 💬 **iMessage** — Local imsg CLI integration (macOS)
2025-12-13 13:25:49 +00:00
- 🤖 **Agent bridge** — Pi (RPC mode) with tool streaming
2025-12-14 00:50:41 +00:00
- 💬 **Sessions** — Direct chats collapse into shared `main` (default); groups are isolated
2025-12-22 20:36:34 +01:00
- 👥 **Group Chat Support** — Mention-based by default; owner can toggle `/activation always|mention`
2025-12-03 15:45:32 +00:00
- 📎 **Media Support** — Send and receive images, audio, documents
2025-12-13 13:25:49 +00:00
- 🎤 **Voice notes** — Optional transcription hook
2025-12-14 00:50:41 +00:00
- 🖥️ **WebChat + macOS app** — Local UI + menu bar companion for ops and voice wake
2025-12-18 13:18:33 +01:00
- 📱 **iOS node** — Pairs as a node and exposes a Canvas surface
2025-12-13 13:25:49 +00:00
Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## Quick start
2025-12-05 17:50:02 +00:00
2025-12-13 13:25:49 +00:00
Runtime requirement: **Node ≥ 22** .
```bash
2025-12-14 00:50:41 +00:00
# From source (recommended while the npm package is still settling)
pnpm install
pnpm build
pnpm link --global
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
# Pair WhatsApp Web (shows QR)
clawdis login
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
# Run the Gateway (leave running)
clawdis gateway --port 18789
```
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
Send a test message (requires a running Gateway):
2025-12-03 15:45:32 +00:00
```bash
2025-12-13 13:25:49 +00:00
clawdis send --to +15555550123 --message "Hello from CLAWDIS"
```
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## Configuration (optional)
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
Config lives at `~/.clawdis/clawdis.json` .
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
- If you **do nothing** , CLAWDIS uses the bundled Pi binary in RPC mode with per-sender sessions.
2026-01-02 12:59:47 +01:00
- If you want to lock it down, start with `whatsapp.allowFrom` and (for groups) mention rules.
2025-12-13 13:25:49 +00:00
Example:
```json5
{
2026-01-02 12:59:47 +01:00
whatsapp: { allowFrom: ["+15555550123"] },
routing: { groupChat: { requireMention: true, mentionPatterns: ["@clawd "] } }
2025-12-13 13:25:49 +00:00
}
2025-12-03 15:45:32 +00:00
```
2025-12-13 13:25:49 +00:00
## Docs
2025-12-03 15:45:32 +00:00
2025-12-14 00:50:41 +00:00
- Start here:
docs: add FAQ with common questions from Discord
Covers:
- Installation & setup (data locations, unauthorized errors, fresh start, doctor)
- Migration & deployment (new machine, VPS, Docker)
- Multi-instance & contexts (one Clawd philosophy, groups for separation)
- Context & memory (200k tokens, autocompaction, workspace location)
- Platforms (supported platforms, multi-platform, WhatsApp numbers)
- Troubleshooting (build errors, WhatsApp logout, gateway issues)
- Chat commands reference
Based on community questions from #help channel.
🦞
2026-01-02 11:22:05 +00:00
- [FAQ ](./faq.md ) ← *common questions answered*
2025-12-14 00:50:41 +00:00
- [Configuration ](./configuration.md )
2025-12-20 21:32:06 +01:00
- [Nix mode ](./nix.md )
2025-12-14 00:50:41 +00:00
- [Clawd personal assistant setup ](./clawd.md )
2025-12-20 12:22:15 +01:00
- [Skills ](./skills.md )
2026-01-01 10:07:31 +01:00
- [Skills config ](./skills-config.md )
2025-12-19 18:12:01 +00:00
- [Workspace templates ](./templates/AGENTS.md )
2026-01-02 01:19:22 +01:00
- [RPC adapters ](./rpc.md )
2025-12-14 00:50:41 +00:00
- [Gateway runbook ](./gateway.md )
2025-12-19 00:29:42 +01:00
- [Nodes (iOS/Android) ](./nodes.md )
2025-12-18 22:40:46 +00:00
- [Web surfaces (Control UI) ](./web.md )
2025-12-14 00:50:41 +00:00
- [Discovery + transports ](./discovery.md )
- [Remote access ](./remote.md )
- Providers and UX:
- [WebChat ](./webchat.md )
2025-12-18 22:40:46 +00:00
- [Control UI (browser) ](./control-ui.md )
2025-12-14 00:50:41 +00:00
- [Telegram ](./telegram.md )
2025-12-15 10:11:18 -06:00
- [Discord ](./discord.md )
2026-01-02 01:19:22 +01:00
- [iMessage ](./imessage.md )
- [Groups ](./groups.md )
- [WhatsApp group messages ](./group-messages.md )
2025-12-14 00:50:41 +00:00
- [Media: images ](./images.md )
- [Media: audio ](./audio.md )
- Ops and safety:
- [Sessions ](./session.md )
- [Cron + wakeups ](./cron.md )
- [Security ](./security.md )
- [Troubleshooting ](./troubleshooting.md )
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## The name
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
**CLAWDIS = CLAW + TARDIS** — because every space lobster needs a time-and-space machine.
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
---
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
*"We're all just playing with our own prompts."* — an AI, probably high on tokens
<!-- {% endraw %} -->
2025-12-03 15:45:32 +00:00
## Credits
- **Peter Steinberger** ([@steipete ](https://twitter.com/steipete )) — Creator, lobster whisperer
2025-12-13 13:25:49 +00:00
- **Mario Zechner** ([@badlogicc ](https://twitter.com/badlogicgames )) — Pi creator, security pen-tester
2025-12-03 15:45:32 +00:00
- **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