# VoiceThere

> VoiceThere is the Node.js platform for conversational voice and low-latency multiplayer — WebRTC, signaling, and sessions managed for you, with optional on-worker STT/TTS for faster roundtrips and fewer vendors. Fetch this file (`/llms.txt` or `/llms-full.txt`) for curated links to docs, APIs, npm packages, and public endpoints. Machine-readable OpenAPI lives at `https://app.voicethere.io/openapi/openapi.yaml`.

Authenticate control-plane and dashboard API calls with a Bearer API key (`vth_live_*` or `vth_dev_*`). Each key is bound to **one** project. Browser CORS allowlists apply to the authenticated project only — never use a client-declared project id header to select a tenant.

Start with the [Quickstart](https://app.voicethere.io/docs/quickstart) guide, then explore the [Control plane API](https://app.voicethere.io/docs/control-plane-api) OpenAPI reference for projects, builds, deploy, and promote.

## Highlights

- [On-worker speech (STT & TTS)](https://app.voicethere.io/docs/voice-vendors): Speech-to-text and text-to-speech run **on VoiceThere** by default (Sherpa). Call audio stays in VoiceThere instead of a third-party speech API, which also cuts round-trip latency. Optional cloud vendors are available when you want them. See also [Advanced voice settings](https://app.voicethere.io/docs/advanced-voice-settings).
- [Realtime multiplayer](https://app.voicethere.io/docs/showcase): The same WebRTC session can carry voice plus a data channel for live positional / world state. Build shared-world and game-style apps where the agent mixes audio by relative location. Start from the Shared world demo or the [game-sync agent template](https://app.voicethere.io/docs/agent-templates).
- [Project Redis](https://app.voicethere.io/docs/project-redis): Private Redis for shared agent state across concurrent sessions — connect with ioredis via `AGENT_REDIS_URL` in `onAgentStart`.
- [Inbound webhooks](https://app.voicethere.io/docs/webhooks): POST HTTPS events to your project; VoiceThere delivers them to your deployed agent (`onWebhook`) so the worker can react without polling. Combine with Project Redis when sessions need shared state.

## Services

- [Control plane REST API](https://app.voicethere.io/api/v1): Projects, builds, deploy, promote, and rollback — same contract as @voicethere/cli.
- [OpenAPI specification](https://app.voicethere.io/openapi/openapi.yaml): Machine-readable VoiceThere control plane API (OpenAPI 3.1).
- [Sessions API](https://sessions.voicethere.io/v1): Start voice sessions; join tokens and signaling for browser WebRTC clients.
- [Inbound webhooks](https://webhooks.voicethere.io/): HTTPS callbacks per project at `https://webhooks.voicethere.io/{projectId}` — configure allowed domains on the project.
- [Widget CDN](https://cdn.voicethere.io/widgets/): Public embed appearance JSON (`config.json`) — no client API keys in published config.
- [Dashboard](https://app.voicethere.io/login): Sign in to manage projects, builds, deploy, and settings.
- [Developer documentation](https://app.voicethere.io/docs): Guides for agents, clients, voice, sessions, and project settings.
- [Service status](https://status.voicethere.io/status/production): Public uptime and incident history.
- [LLM discovery (full index)](https://app.voicethere.io/llms-full.txt): Extended docs index with section headings.

## Packages

- [@voicethere/agent](https://www.npmjs.com/package/@voicethere/agent): Build and verify sandboxed agent bundles. defineAgent, speak, and speech events. Use before every upload.
- [@voicethere/cli](https://www.npmjs.com/package/@voicethere/cli): voicethere login, projects, build upload, promote, and deploy --wait against the VoiceThere API.
- [@voicethere/client](https://www.npmjs.com/package/@voicethere/client): Browser and Node client for local dev and cloud voice sessions. Connect, chat, and binary sync over WebRTC.
- [@node-webrtc-rust/sdk](https://www.npmjs.com/package/@node-webrtc-rust/sdk): Open WebRTC SDK for Node.js — source at [node-webrtc-rust](https://github.com/akirilyuk/node-webrtc-rust).

## Docs

- [LLM agent discovery](https://app.voicethere.io/docs/llms-txt): How LLM agents discover VoiceThere — /llms.txt, /llms-full.txt, OpenAPI, sessions API, webhooks, widget CDN, and npm packages.
- [Quickstart](https://app.voicethere.io/docs/quickstart): End-to-end path — login, create a project, build and upload an agent, deploy to cloud, and connect a browser client.
- [Live showcase demos](https://app.voicethere.io/docs/showcase): Try voice and multiplayer demos on the marketing site — landing chat, showcase catalog, shared world, and how operators configure demo projects with client keys.
- [Account signup](https://app.voicethere.io/docs/account-signup): Create a VoiceThere dashboard account — public signup, operator kill switch, and optional email allowlists.
- [npm packages](https://app.voicethere.io/docs/npm-packages): Install matrix for @voicethere/agent, @voicethere/cli, and @voicethere/client — plus links to the open WebRTC SDK.
- [CLI login](https://app.voicethere.io/docs/cli-login): Sign in to VoiceThere from the CLI — browser device approval, personal API keys, and CI-friendly manual login.
- [Browser client](https://app.voicethere.io/docs/browser-client): @voicethere/client — connectVoiceSession for local dev vs cloud, chat, embed widget, iframe mic/autoplay.
- [Browser CORS origins](https://app.voicethere.io/docs/browser-cors-origins): Allow your production and staging sites to call the VoiceThere sessions API from the browser with a client key.
- [Agent templates](https://app.voicethere.io/docs/agent-templates): Dashboard starter templates — blank, voice-starter, echo, voice-showcase, game-sync — seed bundles from @voicethere/agent and local build/upload/deploy.
- [Agent environment & secrets](https://app.voicethere.io/docs/agent-environment-and-secrets): How AGENT_* environment variables and encrypted secrets are stored, named, and injected into your deployed voice agent.
- [Session idle timeout](https://app.voicethere.io/docs/session-idle-timeout): Auto-disconnect idle WebRTC peers, voice vs data-only timers, voice-activity and data-channel reset rules, and billing impact.
- [Conversation history](https://app.voicethere.io/docs/conversation-history): Store final user speech and agent TTS text for the dashboard Conversation tab — STT/TTS only, not DataChannel chat.
- [Conversation recording](https://app.voicethere.io/docs/conversation-recording): Opt-in voice-session audio recording with dashboard playback, included minutes per plan, rollover bank or metered overage, and agent recording controls.
- [Runner settings](https://app.voicethere.io/docs/runner-settings): Runner mode, warm pool, shared agent child, idle scale-down, and IPC debug — configure pool behavior and redeploy to apply.
- [Advanced voice settings](https://app.voicethere.io/docs/advanced-voice-settings): Tune VAD, barge-in, TTS speed, STT lifecycle, and speech event delivery for cloud voice agents.
- [STT & TTS vendors](https://app.voicethere.io/docs/voice-vendors): Speech-to-text and text-to-speech providers on VoiceThere cloud runners, including on-cluster Sherpa models and third-party API vendors.
- [Agent crash policy](https://app.voicethere.io/docs/agent-crash-policy): disconnect_all vs restart_child: what happens when an agent child crashes, session isolation, and message buffering limits.
- [Project Redis](https://app.voicethere.io/docs/project-redis): Private Redis for shared agent state across concurrent sessions — enable on Advanced & Ultimate, connect with ioredis via AGENT_REDIS_URL in onAgentStart.
- [Voice metrics](https://app.voicethere.io/docs/voice-metrics): Project-scoped STT/TTS latency (p50, p95, p99), utterance volume, barge-in rate, and VAD transitions — Usage Voice tab and GET voice-metrics API.
- [Inbound webhooks](https://app.voicethere.io/docs/webhooks): POST HTTPS webhooks to your VoiceThere project — fan-out to every ready session worker, verify in your agent, Advanced & Ultimate plans.
- [Billing & usage credits](https://app.voicethere.io/docs/billing): How VoiceThere measures usage, subscription included credits, credit packs, burn order, and organization budgets.
- [Agent logs & session errors](https://app.voicethere.io/docs/agent-logs): Structured agent logs and session errors in the VoiceThere dashboard and CLI — agentLog, persisted failures, search, soft rollover, and plan limits.
- [Session errors](https://app.voicethere.io/docs/session-errors): Session errors are now browsed in Agent logs. Data-channel session_error events and onSessionError are unchanged.
- [Control plane API](https://app.voicethere.io/docs/control-plane-api): Interactive OpenAPI reference for the VoiceThere REST API — projects, builds, deploy, promote, and rollback.
- [Terms of Service acceptance](https://app.voicethere.io/docs/terms-of-service): How VoiceThere Terms of Service acceptance works for the dashboard, CLI, and API — including how long authentication cache can delay a refreshed acceptance.

## Optional

- [Blog](https://app.voicethere.io/blog): Product announcements and release notes.
- [Pricing](https://app.voicethere.io/pricing): Plans and usage credits.
- [Roadmap](https://app.voicethere.io/roadmap): What is live and what is coming next.
- [Privacy policy](https://app.voicethere.io/privacy): How VoiceThere handles personal data.
- [Cookie policy](https://app.voicethere.io/cookies): Cookie usage and preferences.
- [Terms of service](https://app.voicethere.io/terms): Terms governing use of VoiceThere.
- [Imprint](https://app.voicethere.io/imprint): Legal entity and contact information.
- [LLM discovery (full index)](https://app.voicethere.io/llms-full.txt): Extended docs index with section headings.
