Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.opendot.ai/llms.txt

Use this file to discover all available pages before exploring further.

This guide gets the current OpenDot platform, database, API, and local voice runtime running.

1. Run with Docker Compose

From the repository root:
cp .env.example .env
docker compose up --build
Add provider keys to the root .env before testing live voice sessions. For now, only OPENAI_API_KEY and DEEPGRAM_API_KEY need to be added; the rest can stay at the defaults. Create those keys from the Deepgram Console and the OpenAI platform. Open:
http://localhost:5173
Create a local account on the auth page, then open Agent Studio. See Login and signup for how local credentials and Supabase Auth work. The Compose stack starts PostgreSQL, applies migrations, serves the web console, and exposes the voice runtime at http://localhost:8787. The default local run uses OpenDot email/password auth; Supabase Auth can be enabled later with SUPABASE_URL, VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY, and a Supabase POSTGRES_URI.

2. Create and test an agent

  1. Open Agent Studio.
  2. Create a draft agent with a name and description.
  3. Open Configuration and review the default pipeline.
  4. Open Browser Test.
  5. Click Connect.
  6. Click Start mic and speak.
  7. Stop speaking and wait for the assistant text and audio chunks.
The default pipeline is:
Deepgram VAD -> Deepgram STT -> OpenAI LLM -> Deepgram TTS

3. Optional pnpm workflow

Use this workflow when you want each service in its own terminal. From the repository root:
corepack enable
corepack prepare pnpm@11.1.3 --activate
pnpm install
pnpm --filter ./platform run db:migrate
Start the API, web console, and runtime in separate terminals:
# terminal 1
pnpm run api

# terminal 2
pnpm run dev

# terminal 3
pnpm run runtime
Open the Vite URL printed in the terminal. It is usually:
http://localhost:5173
Add real provider keys to the root .env before using the runtime:
DEEPGRAM_API_KEY=...
OPENAI_API_KEY=...

4. Optional device check

Open Dot Device to claim a spoken device code, refresh runtime availability, and bind the selected agent config to the device. The default runtime endpoints are:
WebSocket: ws://localhost:8787/voice
HTTP:      http://localhost:8787

Next steps