Deploy conversational voice agents and multiplayer WebRTC servers — we run sessions, signaling, and scaling.
Website · Dashboard · Docs · npm @voicethere
VoiceThere is a cloud platform for real-time apps built on WebRTC. You ship TypeScript agent logic; we run it on managed agent runners, handle signaling and sessions, and roll out deploys when you promote a build.
Two common shapes of app on the same stack:
| Use case | What you build | What we run |
|---|---|---|
| Conversational agents | Voice bots with STT, TTS, speech events, and barge-in | Your sandboxed bundle, speech pipeline, WebRTC media |
| Multiplayer & data-only | Games, live sync, shared rooms, chat over DataChannel | Multi-client sessions, shared or per-peer agents, optional voice-off mode |
Develop locally with open-source WebRTC tooling, then upload → promote → deploy from the dashboard or CLI.
Status: Public launch on voicethere.cloud is in progress. The operator preview at app.voicethere.dev is the same product direction on our staging environment.
Define agents with @voicethere/agent: greet on join, respond to finalized speech, handle barge-in, and stream TTS through the parent runtime. Verify bundles locally before every upload:
npm install @voicethere/agent
npx @voicethere/agent verifyConnect end users with @voicethere/client in the browser or Node for full WebRTC roundtrips against your deployed runners.
Run several clients in one session with shared or per-peer agent logic:
- Shared session agent — one sandboxed process serves many connections; use
sessionIdto targetspeak,sendToClient, andbroadcastToClients. - Data-only mode — turn off voice pipelines for DataChannel-first apps (games, live state sync, chat) without STT/TTS.
- Per-peer agents — one isolated agent process per session when you need strong separation.
See the game-sync template in voicethere/agent for a data-only authoritative server example.
flowchart LR
subgraph you [Your repo]
A["agent.ts → dist/agent.js"]
B["Your app backend"]
end
subgraph vt [VoiceThere]
C["VoiceThere API"]
R["Agent runners"]
S["Signaling & WebRTC"]
end
subgraph clients [End users]
F["Browser / Node client"]
end
A -->|"upload & promote"| C
C -->|"deploy"| R
B -->|"start session"| C
F -->|"join"| S
S <-->|"media & DataChannel"| R
R <-->|"your agent logic"| A
- Build a sandboxed agent bundle with
@voicethere/agent. - Upload and promote with
@voicethere/clior the dashboard. - Deploy so VoiceThere rolls your active build out to agent runners.
- Start sessions from your backend; clients join with
@voicethere/client.
You never manage servers, clusters, or signaling infrastructure — that stays on VoiceThere.
These npm packages are the main developer surface:
| Package | Purpose |
|---|---|
| @voicethere/agent | Define, build, and verify sandboxed agent bundles (defineAgent, speak, speech events) |
| @voicethere/cli | login, projects, build upload, promote, deploy --wait, sessions and usage queries |
| @voicethere/client | Browser, embed, and Node clients — connect, chat, voice, and binary sync over WebRTC |
CLI quick start:
npm install -g @voicethere/cli
voicethere login --api-key "$VOICETHERE_API_KEY"
voicethere projects create --name my-agent
voicethere build upload
voicethere build promote <buildId>
voicethere deploy --waitDefault API base: https://app.voicethere.dev/api/v1
| Repository | Description |
|---|---|
| agent | Customer agent SDK, templates (echo, game-sync), and bundle verify CLI |
| cli | VoiceThere cloud CLI |
| client | Browser, embed, and Node WebRTC client |
Other services that power the hosted product are not open source. Use the repos above for SDK issues and contributions.
Available on app.voicethere.dev today (more before public launch):
- Dashboard sign-in, projects, build history, promote and rollback
- Deploy to cloud — roll your active build out to agent runners
- Voice sessions — start a session from your backend; clients get a join token and signaling URL
- Dashboard chat and embed for testing agents
- Multiplayer and data-only sessions — shared agents, session settings, idle timeouts
- Session history, usage metrics, structured session errors
- Early developer docs at /docs
Before GA: expanded documentation, managed TURN/ICE in session mint responses, live session diagnostics, subscription plans, and production regions on voicethere.cloud.
Local development uses the node-webrtc-rust library (separate OSS project):
| Package / repo | Role |
|---|---|
| @node-webrtc-rust/sdk | Local voice agent dev; peer dependency of @voicethere/agent |
| akirilyuk/node-webrtc-rust | WebRTC media stack, examples, and local roundtrip demos |
Build and test on your machine; deploy the same agent bundle to VoiceThere when you are ready.
| Website | voicethere.io |
| Dashboard | app.voicethere.dev |
| Docs | app.voicethere.dev/docs |
| API reference | app.voicethere.dev/docs/control-plane-api |
| Session errors | Error catalog |
| npm | @voicethere on npm |
- Try staging — sign in at app.voicethere.dev, create a project, upload an echo agent, and chat from the dashboard.
- Issues and PRs — open them on agent, cli, or client depending on what you are changing.
- Releases — watch this org and
@voicethere/*on npm.
Ship voice agents and multiplayer WebRTC apps. We run your code on agent runners.