Open source · Self-hosted · MIT
Your messenger for AI agents
A real chat app for the agents you run: self-hosted, installable on your phone, push-capable, and portable across agent frameworks.
Pair your phone with a QR code. Add it to your home screen. Message your agents.
git clone https://github.com/cloudsignal/raccoon && cd raccoon
npm ci && npm run demo
Runs a same-machine demo on 127.0.0.1. Node 20.19 or newer. Pairing a real phone needs HTTPS and WSS: see deploy examples.
Features
Messaging an agent should feel like messaging a person
The app stays the same when the framework underneath changes.
Familiar chat
Per-agent channels, message history, markdown, and delivery ticks.
Approval cards
When an agent needs a go-ahead, it renders as a native card. Approve, edit, or skip.
Push while closed
Web Push notifications reach your phone while the app is closed.
Retries built in
Outgoing messages persist locally and retry after you reconnect.
QR pairing, no account
Pairing issues a revocable credential over a QR code. No cloud account.
Vendor-neutral core
A broker-free WebSocket hub is built in. Connectors, transports, and push are documented seams. First-party OpenClaw connector.
How it works
One protocol, end to end
Envelopes carry messages, approval prompts, and push-subscription control from your phone to your framework.
Phone to hub over WSS. Background notifications over Web Push (VAPID), optional.
Everything below the app is a documented extension seam. Connectors join an agent framework, transports replace the built-in wire, and push hands delivery to your own stack. Vendor integrations ship as plugins, never as core dependencies. Read the protocol.
Deploy
Deploy anywhere
Production needs HTTPS and WSS. The repo ships worked examples.
Run the full hub, WebSocket, PWA, and push, as one service. TLS terminates on your domain.
examples/hosting/railway/ CloudflareFront a self-hosted hub with a Tunnel for HTTPS and WSS without opening ports, or serve the PWA from Pages.
examples/hosting/cloudflare/ VercelHost the static PWA on the CDN while the hub, a long-lived WebSocket server, runs elsewhere.
examples/hosting/vercel/