Sai Byrraju
< Back to projects

ClawVoice

active

A 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 response

init 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.