Voice#
gptme-voice gives an agent real-time voice conversations through the OpenAI or xAI (Grok) Realtime APIs. It loads the agent’s personality from its workspace and hands workspace tasks to gptme subagents while the conversation continues.
Talk locally#
From a gptme-contrib checkout:
cd packages/gptme-voice && poetry install -E local
gptme-voice-server # auto-detects the agent workspace
gptme-voice-server --provider grok # use xAI instead of OpenAI
gptme-voice-client # in another terminal: mic and speaker
API keys come from your gptme config (OPENAI_API_KEY, or XAI_API_KEY for
Grok). Use headphones: with speakers, the client mutes the microphone while the
agent talks, so you can’t interrupt it.
Phone calls#
With a Twilio number, the agent can take and place calls. Expose the server
publicly (for example gptme-voice-server --port 8080 behind ngrok http 8080),
then:
Incoming: set the number’s Voice webhook to
https://<public-url>/incoming.Outgoing: set
TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN,TWILIO_PHONE_NUMBER, andGPTME_VOICE_PUBLIC_BASE_URL, then rungptme-voice-call +15555550100. Add--dry-runto print the TwiML without dialing.
Tool calls start a full gptme subprocess, so their results take a few seconds and are spoken when ready.