Your bots, your phone, your data. No middleman.
Open-source WebSocket gateway for connecting your phone directly to your AI agents. No Telegram. No Discord. No third-party servers seeing your messages.
ShellPhone on TestFlight — free iOS client for this gateway. Join the public beta.
Every bot platform sees everything:
- Telegram reads your bot conversations
- Discord logs every message
- "AI assistant" apps route through their servers
OpenClaw Gateway runs on your hardware. Messages travel directly from your phone to your server over encrypted WebSocket. Zero third-party visibility.
git clone https://github.com/loserbcc/openclaw-gateway.git
cd openclaw-gateway
docker compose uppip install openclaw-gateway
openclaw-gatewayThe gateway starts on port 8770. Your auth token is printed to the console on first run.
openclaw-gateway --qrOpens a QR code in your terminal. Scan it with Open-Shell-Phone to connect instantly.
Or visit http://localhost:8770/setup for a web-based QR code.
In Open-Shell-Phone, add a new gateway:
- URL:
wss://your-server:8770/gateway - Token: paste the auth token from console
For secure access from anywhere without port forwarding:
tailscale serve https 8770Then use your Tailscale hostname: wss://your-machine.ts.net/gateway
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Open-Shell │ WSS │ OpenClaw │ │ Your LLM │
│ Phone App │ ──────► │ Gateway │ ──────► │ (ollama/etc) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
├──► TTS (ScrappyLabs / local)
└──► ASR (ScrappyLabs / Whisper)
- Phone connects via encrypted WebSocket
- You send text or voice
- Gateway routes to your LLM (local or cloud)
- Response streams back in real-time
- Optional: TTS audio for spoken responses
Environment variables or .env file:
| Variable | Default | Description |
|---|---|---|
OPENCLAW_PORT |
8770 |
Server port |
OPENCLAW_AUTH_TOKEN |
auto | Auth token (auto-generated if not set) |
OPENCLAW_LLM_PROVIDER |
auto |
auto, openai, anthropic, ollama |
OPENCLAW_LLM_BASE_URL |
— | Custom OpenAI-compatible endpoint |
OPENCLAW_LLM_API_KEY |
— | API key for cloud LLM |
OPENCLAW_TTS_PROVIDER |
scrappylabs |
scrappylabs, openai, local, disabled |
OPENCLAW_ASR_PROVIDER |
scrappylabs |
scrappylabs, whisper, disabled |
If you have ollama running, the gateway auto-detects it. No config needed.
# Start ollama with any model
ollama run llama3
# Start gateway — it finds ollama automatically
openclaw-gatewayTTS and speech recognition powered by ScrappyLabs:
- 50+ voices including character clones
- Voice design from text descriptions
- Fast speech recognition
No API key needed. No account. No rate limits for reasonable use. Just works.
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Server info |
/health |
GET | Health check |
/setup |
GET | QR code for phone connection |
/messages |
GET | Message history |
/voice |
POST | Upload audio for transcription |
- WebSocket gateway with OpenClaw v3 protocol
- Auto-detect local ollama
- ScrappyLabs TTS/ASR integration
- QR code connection setup (
--qrflag +/setupendpoint) - Web dashboard for message history
- Multi-user support
- Plugin system for custom handlers
- Matrix/XMPP bridge
This is a community project. Take it where you want.
- Issues: Bug reports, feature requests
- PRs: Contributions welcome
- Discussions: Ideas, use cases, show & tell
MIT — do whatever you want with it.
Part of the ScrappyLabs ecosystem
Free tools for builders. No money. No spam.