Skip to main content

OpenDot

OpenDot is the open platform for voice agents on real devices. Build and tune the voice pipeline, configure agents with knowledge and models, bind them to hardware, and operate sessions in the cloud, local network, or on-device. OpenDot brings the control plane, voice runtime, and device layer into one workflow, so you can shape the full voice loop without treating the pipeline as a black box. Start with a browser console, tune each stage, test live turns against the runtime, then bind the selected voice configuration to a Dot device.

Core flow

Quickstart

Start the web console, run the local voice runtime, and test your first agent.

Platform architecture

Understand how the console, API, database, runtime, providers, and firmware fit together.

Dot device

Understand the firmware, current Waveshare reference hardware, and future open hardware direction.

Login and signup

See how local credentials and Supabase Auth enter the console.

Agent Studio

Create, edit, and select the agent identity that anchors the rest of the workflow.

Configuration

Tune the default Sandwich pipeline or configure Speech-to-speech for browser and Dot device Realtime testing.

Browser Test

Connect the runtime, stream microphone audio, inspect transcripts, and replay spoken responses.

Dot Device console

Pair Dot devices, check runtime availability, and bind voice configs.

Start contributing

OpenDot needs contributors across the voice pipeline, agents, platform control plane, backend/data, media transport, device communication, hardware, firmware, docs, and tooling. The docs map those areas to the current implementation and future roadmap.

Contribution areas

Choose a track, see current maturity, and pick small, medium, or large project briefs.

Roadmap

See the current, next, and later priorities across the platform and device stack.

When you need more

Reference pages move deeper into the docs so the first path stays clear:

Starter pipeline

Agents default to the Sandwich architecture shown above. Configuration can also switch an agent to Speech-to-speech for Browser Test, where the browser uses native WebRTC with an OpenAI Realtime client secret minted through the runtime. Dot devices keep the runtime /ws firmware path; when the bound agent is Speech-to-speech, the runtime bridges device Opus audio to OpenAI Realtime with its own OPENAI_API_KEY. The starter pipeline uses hosted Deepgram and OpenAI-compatible stages while keeping the runtime organized around replaceable components. That shape is intentional: the same workflow should be able to move toward local models, self-hosted inference, cloud sessions, local-network operation, and on-device deployments without changing how agents are managed.

Local services

OpenDot can run as one Docker Compose stack or as separate local pnpm processes: Start with the Quickstart when setting up a fresh checkout.