🔗 Official Documentation: Windsurf Documentation
📦 Download/Install: Get Windsurf
🏷️ Version Requirements: Windsurf v1.0.0+
Windsurf is an AI-powered IDE by Codeium that provides intelligent code completion and AI assistance. Voice Mode enhances Windsurf with natural voice conversations, enabling hands-free coding and verbal interactions with Codeium's AI models.
- Windsurf installed and configured
- Python 3.10 or higher
- uv package manager (
curl -LsSf https://astral.sh/uv/install.sh | sh) - OpenAI API key (or compatible service)
- System audio dependencies installed (see main README)
# Configure Voice Mode in Windsurf settings
# Use Cascade with voice commands for AI-powered codingDownload and install from: https://codeium.com/windsurf
- macOS: Download the .dmg file and drag to Applications
- Linux: Download the AppImage or .deb package
- Windows: Download the installer and run
Configuration File Location:
- macOS:
~/Library/Application Support/Windsurf/User/mcp.json - Linux:
~/.config/Windsurf/User/mcp.json - Windows:
%APPDATA%\Windsurf\User\mcp.json
Add Voice Mode to MCP servers:
{
"mcpServers": {
"voice-mode": {
"command": "uvx",
"args": ["voice-mode"],
"env": {
"OPENAI_API_KEY": "your-openai-key"
}
}
}
}Note: Using uvx means Voice Mode will be downloaded and run on-demand. No separate installation required!
After saving the configuration, restart Windsurf for changes to take effect.
For advanced configuration, you can set these environment variables:
# Required
export OPENAI_API_KEY="your-key"
# Optional - Custom STT/TTS endpoints (comma-separated lists)
export VOICEMODE_TTS_BASE_URLS="http://127.0.0.1:8880/v1,https://api.openai.com/v1"
export VOICEMODE_STT_BASE_URLS="http://127.0.0.1:2022/v1,https://api.openai.com/v1"
# Optional - Voice preferences (comma-separated lists)
export VOICEMODE_TTS_VOICES="af_sky,nova,alloy"
export VOICEMODE_TTS_MODELS="gpt-4o-mini-tts,tts-1-hd,tts-1"-
Check MCP Server Status:
- Open Windsurf Settings
- Navigate to Extensions or MCP configuration
- Look for "voice-mode" in active servers
-
Test Voice Mode:
- Open Windsurf
- Open Cascade or AI Chat panel
- Type: "Let's talk with voice"
- Try saying: "Hello, can you hear me?"
In Cascade:
"Enable voice mode"
You: "What's the best way to implement this feature?"
Cascade: [Responds verbally with suggestions]
"Generate code using voice"
You: "Create a Python class for user authentication"
Cascade: [Explains approach verbally while generating code]
"Debug with voice"
You: "Why is this function returning null?"
Cascade: [Analyzes and explains verbally]
- Ensure Voice Mode is configured in
mcp.json - Check that MCP servers are enabled in Windsurf
- Verify your OPENAI_API_KEY is set correctly
- Check system audio permissions for Windsurf
- Run audio diagnostics:
python scripts/diagnose-audio.py - Ensure microphone is not muted
- Check Windsurf logs for MCP errors
- Ensure
uvxis installed and accessible - Try running
uvx voice-modemanually
- Grant microphone permissions to Windsurf
- May need to allow permissions for Windsurf Helper processes
- Install PulseAudio or PipeWire for audio support
- May need:
sudo apt-get install portaudio19-dev(Debian/Ubuntu)
- Native Windows support may require additional configuration
- Consider using WSL2 for better compatibility
To use local services for privacy:
-
Start Kokoro TTS:
# In Windsurf terminal uvx voice-mode kokoro-start -
Configure endpoints:
{ "mcpServers": { "voice-mode": { "command": "uvx", "args": ["voice-mode"], "env": { "OPENAI_API_KEY": "your-key", "VOICEMODE_TTS_BASE_URLS": "http://127.0.0.1:8880/v1,https://api.openai.com/v1", "VOICEMODE_STT_BASE_URLS": "http://127.0.0.1:2022/v1,https://api.openai.com/v1" } } } }
For room-based voice conversations:
- Configure LiveKit server details
- Enable collaborative voice coding sessions
Combine Windsurf's AI capabilities with voice:
- Voice-directed code completion
- Verbal code reviews with Codeium
- Natural language refactoring requests
- 📚 Voice Mode Documentation
- 🔧 Configuration Reference
- 🎤 Local STT/TTS Setup
- 🏠 LiveKit Integration
- 💬 Windsurf Documentation
- 🐛 Troubleshooting Guide
- 💻 Codeium Official Site
Need Help? Join our Discord community or check the FAQ