5.0 KiB
summary, read_when
| summary | read_when | |
|---|---|---|
| Top-level overview of Clawdis, features, and purpose |
|
CLAWDIS 🦞
"EXFOLIATE! EXFOLIATE!" — A space lobster, probably
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. It’s built for Clawd, 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 (Bridge)
│ │ http://0.0.0.0:18793 (Canvas host)
└───────────┬───────────────┘
│
├─ Pi agent (RPC)
├─ CLI (clawdis …)
├─ Chat UI (SwiftUI)
├─ macOS app (Clawdis.app)
└─ iOS node 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:18790for paired nodes (Bonjour-discoverable). - Canvas host: LAN/tailnet HTTP file server (default
18793) for node WebViews; seedocs/configuration.md(canvasHost). - Remote use: SSH tunnel or tailnet/VPN; see
docs/remote.mdanddocs/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 — 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.
# 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
Send a test message (requires a running Gateway):
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.allowFromand (for groups) mention rules.
Example:
{
inbound: {
allowFrom: ["+15555550123"],
groupChat: { requireMention: true, mentionPatterns: ["@clawd"] }
}
}
Docs
- Start here:
- Providers and UX:
- Ops and safety:
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) — Creator, lobster whisperer
- Mario Zechner (@badlogicc) — 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
