A Tauri-based desktop application with voice-enabled AI assistant powered by LiveKit and Claude.
- ποΈ Voice AI Assistant: Talk to Claude using natural speech
- π LiveKit Integration: Professional-grade WebRTC for real-time communication
- π€ Claude Sonnet 4.5: Advanced AI responses via Anthropic
- π Usage Metrics: Track Claude API usage and costs
- π¨ Modern UI: Built with Svelte 5 and Tauri 2.0
- π§ Easy Configuration: UI-based setup for API keys and agent management
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Tauri Desktop App β
β (Svelte 5 Frontend) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β π€ Voice Input β LiveKit β Python Agent β π Voice β
β β β
β LiveKit Inference β
β (Deepgram STT + Cartesia TTS) β
β β β
β Claude AI (Anthropic) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Node.js 18+ and bun (for frontend)
- Rust (for Tauri)
- Python 3.13+ (for voice agent)
You'll need:
- LiveKit Cloud account: https://cloud.livekit.io/ (free tier available)
- Anthropic API key: https://console.anthropic.com/
cd capycoding-app
bun install
bun run tauri dev- Find the "π€ Voice Agent Configuration" panel
- Enter your LiveKit credentials (URL, API Key, API Secret)
- Enter your Anthropic API key
- Click "πΎ Save Configuration"
- Click "
βΆοΈ Start Agent"
- Go to "ποΈ Connect to Voice Session"
- Enter a participant identity and room name
- Click "Connect to Voice Session"
- Start speaking naturally!
CappyCoding/
βββ agent.py # Python voice agent (LiveKit + Claude)
βββ env/ # Python virtual environment
βββ capycoding-app/ # Tauri desktop application
β βββ src/ # Svelte frontend
β βββ src-tauri/ # Rust backend
βββ capycoding-esp/ # ESP32 firmware (optional)
βββ ble-types/ # Bluetooth type definitions
βββ server/ # Go metrics server
βββ docs/
βββ FRONTEND-CONFIG.md # UI configuration guide
βββ README-AGENT.md # Agent technical details
βββ QUICKSTART.md # Quick start guide
Python agent using LiveKit's agent framework:
- STT: Deepgram (via LiveKit Inference)
- LLM: Claude Sonnet 4.5 (via Anthropic plugin)
- TTS: Cartesia (via LiveKit Inference)
- VAD: Silero voice activity detection
Configuration stored in:
~/.config/capycoding/agent_config.json(UI-saved).envfile (manual configuration)- Environment variables (highest priority)
Desktop application featuring:
- Voice agent configuration and management
- LiveKit voice session connection
- Claude usage metrics tracking
- Real-time audio streaming
Built with:
- Frontend: Svelte 5, Vite, LiveKit Client SDK
- Backend: Rust, Tauri 2.0, taurpc for IPC
- QUICKSTART.md - Get started in 1 minute
- FRONTEND-CONFIG.md - UI configuration guide
- README-AGENT.md - Agent technical details
Using LiveKit Inference simplifies billing to just 2 providers:
LiveKit Cloud (includes STT + TTS):
- Deepgram STT: $0.0043/minute
- Cartesia TTS: $0.045/minute
- LiveKit transfer: Free tier includes 50 GB/month
Anthropic:
- Claude Sonnet 4.5: ~$3/$15 per million tokens
Typical usage: ~$0.26/hour of conversation
cd /path/to/CappyCoding
source env/bin/activate
python agent.py devcd capycoding-app
bun run tauri buildAlready installed in /env, but to reinstall:
cd /path/to/CappyCoding
python -m venv env
source env/bin/activate
pip install livekit "livekit-agents[anthropic,silero,deepgram,cartesia]"The agent loads configuration in this priority:
- Environment variables (highest)
- UI-saved config (
~/.config/capycoding/agent_config.json) - .env file (lowest)
Required variables:
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=APIxxxxxxxxxx
LIVEKIT_API_SECRET=xxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxx- Verify API keys are correct (no extra spaces)
- Check that
/envvirtual environment exists - Try running manually to see error messages
- Ensure agent is running (check status in UI)
- Verify LiveKit credentials in agent configuration
- Check that participant identity and room name are filled in
- Check LiveKit Inference is enabled (default on new projects)
- Verify microphone permissions in your OS
- Check browser/Tauri audio settings
See QUICKSTART.md for more troubleshooting tips.
[Your License Here]
[Your Contributing Guidelines Here]