< Back to projects
ClawVoice
activeA voice layer for OpenClaw agents.
TypeScriptNode.jsCommanderExpress 5TwilioOpenAI TTSZod
Why I built this
When OpenClaw launched, setting up voice and phone meant implementing a gateway, configuring Twilio, handling TTS, and wiring everything together. I built this as the voice layer around the OpenClaw brain.
How it works
twilio call → speech gather → openclaw gateway → tts → twiml responseinit creates starter config and tunnel setup, doctor validates requirements, start launches Express, and call initiates an outbound call. Webhooks gather speech, send it to OpenClaw or a mock agent, generate OpenAI TTS audio, and return TwiML.
Decisions
Mock mode as default
The full voice flow can be tested without an OpenClaw account.
doctor command for validation
It checks required environment variables up front instead of failing during a call.