Release Notes: v0.1.0¶
Release Date: 2026-07-05
Summary¶
Initial release of omni-livekit, providing a LiveKit voice gateway for WebRTC-based voice AI applications. This package enables AI agents to participate in LiveKit rooms with real-time audio communication.
Highlights¶
- LiveKit Voice Gateway: WebRTC-based voice communication with <200ms latency
- OmniMeet Provider: Full meeting abstraction for LiveKit
- OmniVoice Gateway: Voice AI pipeline integration
- Static Image Avatar: Visual presence for voice-only agents
Features¶
Agent Package¶
The agent package provides WebRTC audio track handling for AI agents:
import "github.com/plexusone/omni-livekit/agent"
agent, _ := agent.New(agent.Options{
APIKey: os.Getenv("LIVEKIT_API_KEY"),
APISecret: os.Getenv("LIVEKIT_API_SECRET"),
ServerURL: os.Getenv("LIVEKIT_URL"),
Identity: "ai-agent",
Name: "AI Assistant",
})
agent.Join(ctx, "room-name")
Room Management¶
Create rooms and generate client tokens for human participants:
import "github.com/plexusone/omni-livekit/room"
client, _ := room.NewClient(room.Config{
APIKey: os.Getenv("LIVEKIT_API_KEY"),
APISecret: os.Getenv("LIVEKIT_API_SECRET"),
URL: os.Getenv("LIVEKIT_URL"),
})
// Generate token for web/mobile client
token, _ := client.GenerateClientToken("room-name", "user-123", "John")
OmniMeet Provider¶
Implements the meeting.Provider interface from omnimeet-core:
import "github.com/plexusone/omni-livekit/omnimeet"
provider, _ := omnimeet.NewProvider(omnimeet.Config{
APIKey: os.Getenv("LIVEKIT_API_KEY"),
APISecret: os.Getenv("LIVEKIT_API_SECRET"),
ServerURL: os.Getenv("LIVEKIT_URL"),
})
meeting, _ := provider.CreateMeeting(ctx, meeting.CreateRequest{
Name: "Team Standup",
})
OmniVoice Gateway¶
Implements the WebRTCGateway interface from omnivoice-core:
import "github.com/plexusone/omni-livekit/omnivoice/gateway"
gw, _ := gateway.New(gateway.Config{
LiveKitURL: os.Getenv("LIVEKIT_URL"),
LiveKitAPIKey: os.Getenv("LIVEKIT_API_KEY"),
LiveKitSecret: os.Getenv("LIVEKIT_API_SECRET"),
RoomName: "voice-agent",
SampleRate: 24000,
})
Static Image Avatar¶
Voice agents can display a static image in their video tile:
# Enable default OmniAgent avatar
export AGENT_AVATAR="true"
# Or use custom avatar
export AGENT_AVATAR="/path/to/avatar.h264"
Pre-encode custom avatars with the included tool:
Native Dependencies¶
This package requires native audio libraries:
macOS:
Ubuntu/Debian:
Build Tags¶
Voice agents must be built with the opus tag:
Dependencies¶
| Dependency | Version |
|---|---|
| livekit/server-sdk-go/v2 | v2.17.0 |
| omnimeet-core | v0.8.0 |
| omnivoice | v0.13.0 |
| omnivoice-core | v0.15.0 |