Local-first voice AI for the web
Run language models on-device, drive a voice agent, and ship the call UI — with no inference server in the loop.
npm install @valora-ai/react VAD ──► STT ──► [TurnDetector] ──► LLM ──► Speaker (TTS + Player)
│ │
Silero Moonshine / Whisper Kokoro-82M
│ │
LFM2.5 WebGPU kernels ◄── on-device, no serverWorks with React, Next.js, Vite, and Bun
WebGPU-native kernels
Hand-written compute kernels, not a generic ONNX runner.
No server round-trip
VAD, STT, LLM, and TTS all run in the tab.
Drop-in AI SDK provider
generateText/streamText work unchanged, in-process.
@valora-ai/voice
Framework-agnostic voice-agent runtime — VAD → STT → LLM → TTS as one reactive state machine, with pluggable engines.
npm install @valora-ai/voice@valora-ai/ai-sdk
In-process AI SDK provider for local WebGPU language models. Hooks live at @valora-ai/react/local.
bun add @valora-ai/ai-sdk@valora-ai/react
The call UI — particle orb, transcript rail, controls — on a re-skinnable headless layer.
npm install @valora-ai/reactFor builders
Stack all three packages for a fully local, in-browser voice assistant — no API key, no server round-trip, conversations never leave the device.
For agents
One package per concern, typed end to end — point a coding agent at the relevant package docs and it has everything it needs to wire a local voice pipeline together.