OpenBee is an offline AI Voice Assistant backend powered by LiveKit Agents, local inference plugins, and modern GPU/CPU acceleration.
- uv installed.
- Python 3.12+
uv syncCreate a .env file in the backend/ directory (copy from .env.example) and add your LiveKit credentials:
LIVEKIT_URL=wss://your-livekit-url
LIVEKIT_API_KEY=your-api-key
LIVEKIT_API_SECRET=your-api-secretBefore running the agent for the first time, you must download the local model files for Whisper (STT), Gemma (LLM), and Kokoro (TTS).
Run the provided script:
uv run python utils/download_all_models.pyThis will place the weights into the models/ directory.
If you want to use a different quantized version of Gemma 3 (e.g., a smaller 4-bit version for speed), follow these steps:
- Browse Models: Go to unsloth/gemma-3-1b-it-GGUF.
- Update Download Script: In
utils/download_all_models.py, change thefilenamein thehf_hub_downloadcall to your desired.gguffile. - Update Agent Config: In
core/agent.py, update themodel_pathin theLocalLlamaLLMinitialization to match the new filename:llm=LocalLlamaLLM(model_path="models/your-new-model.gguf")
The API server handles connection details for the frontend:
uv run server.pycore/: Core agent logic, server definitions, and configurations.plugins/: Custom STT, TTS, and LLM implementations for local inference.utils/: Helper scripts for token generation and model management.models/: Local storage for model weights and binaries.