livekit/agents-js

Build realtime multimodal AI agents with Node.js

What it solves

It provides a framework for building real-time, programmable AI participants (agents) that run on servers. It specifically addresses the complexity of creating multi-modal voice agents that can hear, see, and understand users in a live environment.

How it works

The framework operates as a Node.js distribution of the LiveKit Agents framework. It uses a "Worker" process to coordinate job scheduling and launch agents for user sessions. When a user joins a room, the LiveKit server assigns a job to a worker, which instantiates an agent as a participant in that room.

Agents are built by combining various plugins for:

  • STT (Speech-to-Text): Converting user speech to text.
  • LLM (Large Language Model): Processing input and generating responses.
  • TTS (Text-to-Speech): Converting text back into speech.
  • VAD (Voice Activity Detection): Determining when a user is speaking.

It also supports semantic turn detection via transformer models to reduce interruptions and native MCP (Model Context Protocol) support for integrating external tools.

Who it’s for

Developers building real-time voice AI applications, conversational assistants, and multi-modal AI agents that require low-latency interaction via WebRTC.

Highlights

  • Flexible Plugin Ecosystem: Mix and match providers like OpenAI, Google, Deepgram, ElevenLabs, and Mistral AI.
  • Multi-agent Handoff: Ability to transition a user session from one specialized agent to another.
  • Production-Ready Orchestration: Built-in handling of SIGTERM for stateful sessions and a scalable worker-job system.
  • WebRTC Integration: Seamlessly works with LiveKit's open-source media servers and client SDKs.

Related

  • Project
  • Project
  • Project
  • Project
  • Project