Skip to main content
Configuration is the second page in the console workflow. It takes the active agent identity from Agent Studio and turns it into an explicit voice runtime configuration. The page separates the current modular pipeline from the realtime speech-to-speech path so both architecture families can grow without collapsing into one settings surface.
OpenDot Configuration screen

Configuration exposes voice architecture modes and compact stage settings.

Every voice agent has to listen, think, and speak. OpenDot keeps the current runtime explicit by using the Sandwich architecture:
The Speech-to-speech architecture mode saves OpenAI Realtime settings that process audio input and produce audio output directly.

What you see in the UI

The architecture selector has two modes:
  • Sandwich Architecture: the active VAD, STT, LLM, and TTS configuration.
  • Speech-to-speech Architecture: OpenAI Realtime model, voice, instructions, reasoning effort, and turn-detection settings.
In Sandwich Architecture, each stage row has the same shape:
  • stage number and icon
  • listen, transcribe, think, or speak role
  • provider and model preview
  • dropdown settings
  • emitted runtime events inside the expanded row
If no identity is selected, Configuration shows an empty state. Create or select an agent identity in Agent Studio first.

Stage 1: Voice activity

If turns close too early, increase Endpointing or Utterance end. If tiny noises trigger turns, raise Noise floor.

Stage 2: Speech to text

The Browser Test panel shows interim and final transcripts from this stage.

Stage 3: Language model

The model control has two parts:
  • Suggested models: current OpenAI model IDs such as gpt-5-mini, gpt-5.1, gpt-5, and smaller GPT-5 / GPT-4.1 variants.
  • Custom model ID: any model string supported by the configured OpenAI-compatible endpoint.
Leave Base URL blank to use OpenAI at https://api.openai.com/v1. Set it to a compatible provider base such as https://example.com/v1 when the model is served elsewhere. The runtime appends the selected Provider API path. Use Responses (recommended) for the default OpenAI-compatible path. Use Chat Completions when a provider only exposes the legacy-compatible chat endpoint or when you need to test chat-specific compatibility. The runtime expects assistant responses in XML-like chunks:
Each closed chunk can be sent to TTS while the rest of the answer is still streaming.

Speech-to-speech

Speech-to-speech keeps the existing agent identity but changes live audio transport for supported surfaces. Browser Test uses OpenAI Realtime over native browser WebRTC. Bound Dot devices keep the existing /ws firmware protocol and let the runtime bridge Opus audio to OpenAI Realtime server-side. gpt-realtime-mini is selectable for cheaper repeated testing. cedar and the other realtime voices are selectable from the same settings surface. Speech-to-speech Dot sessions use OPENAI_API_KEY inside the runtime and do not require Deepgram for the live turn.

Stage 4: Text to speech

Use Linear16 PCM with Direct PCM stream when you want raw PCM playback in the browser. Other encodings are retained as chunked audio files for playback.

What gets persisted

Changing Configuration updates the active identity through the platform API. The API writes a new draft version for the agent and a new draft pipeline version in PostgreSQL. Architecture and realtime settings live in the agent version manifest; the VAD, STT, LLM, and TTS stages remain in the pipeline version manifest. The runtime later loads the authorized version when Browser Test opens a voice session or a Dot device connects with valid credentials. See Platform architecture for the full system boundary and Browser Test for the next step in the UI workflow.