feat: LiveKit OSS Shadcn components #1247
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary: Agents UI - Shadcn Component Library
Overview
This PR introduces
@agents-ui, a new shadcn-compatible component library for building voice-first agent interfaces with LiveKit.Key Changes
🔧 Infrastructure
livekit-clientto^2.16.0and@livekit/protocolto^1.43.4VITE_PUBLIC_LK_SANDBOX_TOKEN_SERVER_IDfor agent development.audio-bar-visualizer→.audio-visualizer-barfor consistency📚 Storybook Updates
@tailwindcss/viteAgentSessionProviderdecorator with sandbox token server supportnext-themesintegration for light/dark mode testing🆕 New Package:
packages/shadcn(@agents-ui)A complete component library featuring:
Session Management
AgentSessionProvider- Context provider for agent sessions with automatic audio renderingAgentSessionAudio- Room audio renderer wrapperAgentSessionStartAudioButton- Handle browser autoplay restrictionsMedia Controls
AgentTrackToggle- Toggle button for mic/camera/screen share with icons & loading statesAgentTrackControl- Full media control with device selection dropdownAgentControlBar- Complete control bar prefab with chat input supportAgentDisconnectButton- End session buttonAudio Visualizers (5 variants)
AudioVisualizerBar- Linear bar visualizationAudioVisualizerRadial- Circular/radial visualizationAudioVisualizerGrid- Dot matrix grid visualizationAudioVisualizerWave- WebGL shader-based wave (usesReactShader)AudioVisualizerAura- WebGL shader-based aura effectChat Components
AgentChatIndicator- Animated typing/thinking indicatorAgentChatTranscript- Conversation display componentUtilities
ReactShader- WebGL shader component (forked fromreact-shaders)Installation
Users can install components via:
pnpm dlx shadcn@latest add @agents-ui/{componentName}After configuring their
components.json:{ "registries": { "@agents-ui": "https://ui.livekit.io/r/{name}.json" } }Usage Example