Prerequisites
- Rust (stable) —
rustup update stable - PostgreSQL running locally
- Redis running locally
- Neo4j running locally (only if HiRAG is enabled)
- Whisper model files in
api/ai_models/(only if using local transcription)
Config
Copy and edit the config:config.yml:
Running the API
Running workers
Workers run as separate processes. Open additional terminals:Whisper models are loaded once at worker startup. The
base model (~1 GB) is sufficient for local dev. Download it with ./api/download-models.sh.Running the web UI
VITE_API_BASE_URL=http://localhost:8000/api in ui/web/.env if the API is on a different port.
Running with Docker Compose
For a quick local setup (API + Redis only — workers run manually):Database migrations
Migrations run automatically on API startup. To run them manually:Useful debug flags
Worker management (production)
On production servers, workers are managed viamanage-workers.sh deployed to /opt/kair-voice-workers/: