[FEATURE]: Speech-to-Text Voice Input for Lazy People in OpenCode #3089

Open
opened 2026-02-16 17:38:33 -05:00 by yindo · 13 comments
Owner

Originally created by @Fuzu on GitHub (Nov 24, 2025).

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Hi! First of all, congratulations on the amazing project.

I've been working on a Speech-to-Text voice input feature that integrates directly into the TUI. It allows users to start audio recording with a keybind, automatically transcribe speech using different providers, and insert the resulting text directly into the prompt.

I've built an initial working version, currently tested only on macOS, and the system includes:

  • Real-time audio recording via FFmpeg;
  • Support for Groq Whisper, OpenAI Whisper, and local whisper.cpp;
  • Automatic microphone/device detection;
  • Interactive menus for choosing provider, model, and audio device;
  • Persistent configuration stored in ~/.opencode/state/speech.json;
  • Customizable keybinds (Ctrl+X v, Ctrl+X P, Ctrl+X D);
  • Smooth flow: record → transcribe → insert into prompt input;
Image Image Image Image Image

Would this be something you'd be interested in integrating into the project?

Originally created by @Fuzu on GitHub (Nov 24, 2025). ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request Hi! First of all, congratulations on the amazing project. I've been working on a Speech-to-Text voice input feature that integrates directly into the TUI. It allows users to start audio recording with a keybind, automatically transcribe speech using different providers, and insert the resulting text directly into the prompt. I've built an initial working version, currently tested only on macOS, and the system includes: - Real-time audio recording via FFmpeg; - Support for Groq Whisper, OpenAI Whisper, and local whisper.cpp; - Automatic microphone/device detection; - Interactive menus for choosing provider, model, and audio device; - Persistent configuration stored in ~/.opencode/state/speech.json; - Customizable keybinds (Ctrl+X v, Ctrl+X P, Ctrl+X D); - Smooth flow: record → transcribe → insert into prompt input; <img width="1577" height="865" alt="Image" src="https://github.com/user-attachments/assets/dbea582a-0b2c-4168-ae07-870dec1886d8" /> <img width="1582" height="868" alt="Image" src="https://github.com/user-attachments/assets/074b00cc-0ac4-4fb3-8523-879511a99aa6" /> <img width="741" height="632" alt="Image" src="https://github.com/user-attachments/assets/c1c2c9c2-fbc7-4c25-8291-82a1c10e1951" /> <img width="506" height="282" alt="Image" src="https://github.com/user-attachments/assets/027a395c-e650-4827-be0a-bcaea6926b1a" /> <img width="610" height="295" alt="Image" src="https://github.com/user-attachments/assets/03ca09b1-7dcc-409f-832c-b997dcddb5de" /> Would this be something you'd be interested in integrating into the project?
yindo added the discussion label 2026-02-16 17:38:33 -05:00
Author
Owner

@rekram1-node commented on GitHub (Nov 24, 2025):

That sounds cool, did you integrate it using the plugin system, and if not why? Maybe we need to expand it to allow for stuff like this

@rekram1-node commented on GitHub (Nov 24, 2025): That sounds cool, did you integrate it using the plugin system, and if not why? Maybe we need to expand it to allow for stuff like this
Author
Owner

@cboecking commented on GitHub (Nov 25, 2025):

This ticket inspired me to create this:
https://github.com/chuckstack/groq-whisper

This is not nearly as good or integrated as what is described above; however I could not wait for the above to be accepted. I thought you would appreciate seeing a generic tools approach to implementing it.

You can use it from:

  • opencode: !groq-whisper # this injects the response directly into the context without the ability to edit prior to injection
  • vim: :r groq-whisper # this allows you to ctrl+p => open editor (vim) and capture the text before submitting
  • terminal: groq-whisper # can be used outside of opencode

I hope this helps!

edit to above details:

  • only tested on debian (see notes for mac)
  • only uses groq whisper
@cboecking commented on GitHub (Nov 25, 2025): This ticket inspired me to create this: https://github.com/chuckstack/groq-whisper This is not nearly as good or integrated as what is described above; however I could not wait for the above to be accepted. I thought you would appreciate seeing a generic tools approach to implementing it. You can use it from: - opencode: !groq-whisper # this injects the response directly into the context without the ability to edit prior to injection - vim: :r groq-whisper # this allows you to ctrl+p => open editor (vim) and capture the text before submitting - terminal: groq-whisper # can be used outside of opencode I hope this helps! edit to above details: - only tested on debian (see notes for mac) - only uses groq whisper
Author
Owner

@sfpmld commented on GitHub (Dec 29, 2025):

would be really awesome !

@sfpmld commented on GitHub (Dec 29, 2025): would be really awesome !
Author
Owner

@nanoandrew4 commented on GitHub (Jan 11, 2026):

I was just looking for something like this today, it'd be awesome to see it implemented!

@nanoandrew4 commented on GitHub (Jan 11, 2026): I was just looking for something like this today, it'd be awesome to see it implemented!
Author
Owner

@0x7C2f commented on GitHub (Jan 15, 2026):

bump for interest!

@0x7C2f commented on GitHub (Jan 15, 2026): bump for interest!
Author
Owner

@KristjanMinn commented on GitHub (Jan 17, 2026):

Hey! Same here! I'd love it!

@KristjanMinn commented on GitHub (Jan 17, 2026): Hey! Same here! I'd love it!
Author
Owner

@heimoshuiyu commented on GitHub (Jan 18, 2026):

hi, checkout another implantation #9264 support both whisper model and audio large language model (gpt-4o, qwen3-omni, etc.)

@heimoshuiyu commented on GitHub (Jan 18, 2026): hi, checkout another implantation #9264 support both whisper model and audio large language model (gpt-4o, qwen3-omni, etc.)
Author
Owner

@WillianQ commented on GitHub (Jan 26, 2026):

This could be really interesting if it were part of the web version. OpenCode isn’t just a dev tool anymore — plugins for meeting notes or a knowledge base would be awesome.

@WillianQ commented on GitHub (Jan 26, 2026): This could be really interesting if it were part of the web version. OpenCode isn’t just a dev tool anymore — plugins for meeting notes or a knowledge base would be awesome.
Author
Owner

@kwakubiney commented on GitHub (Jan 26, 2026):

Need this!

@kwakubiney commented on GitHub (Jan 26, 2026): Need this!
Author
Owner

@kenthinson commented on GitHub (Jan 27, 2026):

@Fuzu I'm interested in this. Do you think you can make you changes available for us people who want to use it in a different repo? At least until this gets sorted out if it will become an official part of opencode.

@kenthinson commented on GitHub (Jan 27, 2026): @Fuzu I'm interested in this. Do you think you can make you changes available for us people who want to use it in a different repo? At least until this gets sorted out if it will become an official part of opencode.
Author
Owner

@berenar commented on GitHub (Jan 28, 2026):

I use an external app for this (Raycast + Whisper Dictation) and works great, except that you can't see or edit the transcribed text. That's why I think this is necessary:

@berenar commented on GitHub (Jan 28, 2026): I use an external app for this (Raycast + [Whisper Dictation](https://www.raycast.com/finjo/whisper-dictation)) and works great, except that you can't see or edit the transcribed text. That's why I think this is necessary: - https://github.com/anomalyco/opencode/issues/8501 - https://github.com/anomalyco/opencode/pull/8496
Author
Owner

@cmdNiels commented on GitHub (Jan 31, 2026):

I just created a implemetation for this in #11345. This works without the need for any api keys. The edited text also appears right away without the [Pasted x lines].

I know some people can't wait for this feature so here is how to use it locally; Clone my opencode fork linked in the PR, bun install and add the following to your .bashrc:

opencode-dev() {
    local cwd="$PWD"
    bun run --cwd /path-to-repo/packages/opencode --conditions=browser ./src/index.ts "$cwd" "$@"
}

Then u can run opencode-dev to start.

@cmdNiels commented on GitHub (Jan 31, 2026): I just created a implemetation for this in #11345. This works without the need for any api keys. The edited text also appears right away without the [Pasted x lines]. I know some people can't wait for this feature so here is how to use it locally; Clone my opencode fork linked in the PR, bun install and add the following to your .bashrc: ```bash opencode-dev() { local cwd="$PWD" bun run --cwd /path-to-repo/packages/opencode --conditions=browser ./src/index.ts "$cwd" "$@" } ``` Then u can run `opencode-dev` to start.
Author
Owner

@gimlichael commented on GitHub (Feb 10, 2026):

Would be awesome - also for the IDE / desktop version.

@gimlichael commented on GitHub (Feb 10, 2026): Would be awesome - also for the IDE / desktop version.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#3089