Speak prompts directly inside VS Code or Cursor — no browser tab, no mic permission pop-ups, no API key required for the default engine.
|
Uses Windows Speech Recognition via Record local WAV with Windows MCI → send to OpenAI Whisper for maximum accuracy. Say “clean prompt” and let Groq (llama3-8b, ultra-fast, generous free tier) polish your transcription before it hits the clipboard. |
Transcription lands on your clipboard automatically — Auto-stops after configurable silence (default 3 s). No manual stop needed. Watch transcription update in real-time inside VS Code — no switching windows. |
| Feature | Description | |
|---|---|---|
| 🧹 | Prompt Cleanup | Remove filler words (um, uh, like) + normalise punctuation |
| 🗣️ | Voice Commands | "stop recording", "new line", "period", "clear all" |
| 🌍 | Multi-Language | EN · HI · ES · FR · DE · JA · KO · ZH · PT · RU · AR · IT |
| 📜 | Voice History | Browse & reuse previous 50 transcriptions |
| ✏️ | Editor Insert | Drop text at your cursor position instead of clipboard |
Marketplace
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for Cursor Voice Assistant
- Click Install
Quick open:
Press Ctrl+P and run:
ext install Misrilal-Sah.cursor-voice-assistant
From the CLI:
code --install-extension Misrilal-Sah.cursor-voice-assistant1. Press Ctrl+Shift+H → Recording starts (no browser opens)
2. Speak your prompt → Live preview in the Voice Assistant panel
3. Stop speaking → Silence auto-stops after 3 s
4. Hit Ctrl+L → Ctrl+V → Prompt is in Cursor AI chat. Press Enter.
Open Settings (
Ctrl+,) and searchVoice Assistant.
Where to add it:
Ctrl+,→ search Voice Assistant → Groq API Key → paste your key
| Setting | Description | Link |
|---|---|---|
voiceAssistant.groqApiKey |
Groq — AI cleanup (llama3-8b, fast, free) | console.groq.com/keys |
voiceAssistant.whisperApiKey |
OpenAI Whisper — high-accuracy STT | platform.openai.com/api-keys |
| Setting | Default | Description |
|---|---|---|
transcriptionEngine |
webSpeechAPI |
webSpeechAPI (Windows) or whisperAPI (OpenAI) |
groqApiKey |
(empty) | Groq key for AI cleanup — get free key |
whisperApiKey |
(empty) | OpenAI key for Whisper engine |
language |
en-US |
Recognition language |
outputMode |
clipboard |
clipboard · editor · both |
autoOpenChat |
true |
Auto-open Cursor AI chat after transcription |
silenceTimeout |
3 |
Seconds of silence before auto-stop (1–30) |
enablePromptCleanup |
true |
Remove filler words (basic, no key needed) |
enableVoiceCommands |
true |
Inline voice commands |
showRealtimePreview |
true |
Live preview in panel |
| Shortcut | Action |
|---|---|
Ctrl+Shift+H / Cmd+Shift+H |
Toggle recording on / off |
| Say | Result |
|---|---|
"stop recording" |
Stops the session |
"new line" |
Inserts \n |
"period" |
Inserts . |
"comma" |
Inserts , |
"question mark" |
Inserts ? |
"exclamation mark" |
Inserts ! |
"clear all" |
Clears the current transcription |
src/
├── extension.ts ← Activation, command wiring, webview
├── statusBar.ts ← Status bar (idle / recording / processing)
├── outputHandler.ts ← Clipboard, editor insert, chat open
├── voiceHistory.ts ← globalState history with QuickPick
├── promptCleanup.ts ← Filler-word removal (no API key needed)
├── voiceCommands.ts ← Voice command detection & execution
├── audioPage.ts ← HTML for optional browser audio page
├── audioServer.ts ← localhost HTTP + WebSocket server
└── engines/
├── engineTypes.ts ← Interfaces and enums
├── windowsSpeechEngine.ts ← Windows System.Speech via PowerShell
├── nativeAudioRecorder.ts ← Windows MCI recorder for Whisper mode
├── whisperEngine.ts ← OpenAI Whisper API client
└── aiPromptCleaner.ts ← Groq AI cleanup (llama3-8b-8192)
media/
└── icon.png
| Engine | Where data goes |
|---|---|
webSpeechAPI |
Processed locally by Windows Speech Recognition — stays on your machine |
whisperAPI |
Audio sent to OpenAI API — key stored in VS Code local settings only |
| Groq AI cleanup | Text sent to Groq API — key stored locally only |
No audio or transcription data is ever stored or transmitted by this extension itself.
git checkout -b feature/your-feature
# make changes
npm run build
# F5 to test
git commit -m "feat: your feature"
git push origin feature/your-feature
# Open a Pull RequestMade with ❤️ by Misrilal Sah · Report a Bug