Skip to main content
Realtime voice enables spoken conversations with the AI. Audio is captured, transcribed, processed, and synthesized back to speech in real time.

Requirements

  • A realtime voice provider plugin (e.g. @wednesdayai/voice-openai)
  • A channel with voice support (currently: Discord voice channels)

Quick start

1

Install a voice provider plugin

2

Configure the provider

3

Enable voice on a channel

4

Restart the gateway

Configuration reference

Session observability

Active voice sessions are observable three ways, no restart needed:
  • Status RPCtalk.realtime.status (requires the operator.read scope) returns every active gateway-relay session with provider, owning connection, start time, duration, and audio bytes in/out.
  • Relay events — the gateway broadcasts talk.realtime.relay events to the owning connection: ready, transcript (user/assistant, partial or final), toolCall, vadBargeIn, clear, mark, audio, error, and close with a close reason.
  • Gateway logs — the gateway/talk-realtime-relay subsystem logs each relay session end with its id, duration, close reason, and audio byte counts (journalctl --user -u openclaw-gateway on Linux).
Relay sessions expire after 30 minutes, are capped at 2 per connection and 64 per gateway.

Troubleshooting

Run openclaw doctor --check voice to diagnose configuration issues.