Uh oh!
There was an error while loading. Please reload this page.
feat: add first-party voice transcription with local Whisper - #11345
feat: add first-party voice transcription with local Whisper#11345cmdNiels wants to merge 21 commits into
Conversation
The following comment was made by an LLM, it may be inaccurate: Potential Related PRs Found1. PR #9264 - feat: voice-typing using external Whisper / ALM API
2. PR #3827 - Add voice-to-text transcription feature
Note: PR #11345 (the current PR) explicitly references PR #9264 in its description and provides a comparison, so the relationship is acknowledged by the authors. |
- Only attempt FFI stderr redirection on Linux (process.platform check) - Move dlopen call inside redirectStderr function with try/catch - Gracefully skip stderr suppression on Windows/macOS - Allows voice feature to work cross-platform without E2E test failures
Replaces @xenova/transformers with @huggingface/transformers 3.8.1 which properly respects ONNX logging configuration. Removes 63 lines of complex FFI stderr redirection code in favor of simple env.backends.onnx.logSeverityLevel configuration.
shenron0101
commented
Feb 11, 2026
Eagerly waiting for this PR to be merged! |
- Resolved conflicts in prompt/index.tsx by keeping both VoiceRecorder and DialogSkill features - Regenerated bun.lock after merge
kungfusaini
commented
Feb 13, 2026
Also can't wait for this!! |
MartinWie
commented
Feb 20, 2026
any update here ? |
JorySeverijnse
commented
Mar 10, 2026
Can we at least have an update as to why this is not being merged after more than a month? |
hajnalmt
commented
Mar 10, 2026
CC @rekram1-node@thdxr The original issues and PRs were assigned to you, this PR seems vastly superior to those. It implements first-party voice transcription and appears to address the original feature requests |
Galtozzy
commented
Apr 11, 2026
CC @thdxr Any updates on this one? |
SimSonic
commented
May 7, 2026
Any news? |
kuroneko83
commented
Jul 14, 2026
Still nothing? |
AidenGeunGeun
commented
Jul 14, 2026
rip |
What does this PR do?
Implements first-party, local voice transcription using Whisper.cpp via
@huggingface/transformers. All processing happens locally with zero configuration required.Features
/status\for recording, configurable in~/.config/opencode/opencode.jsonThis follows the frontend-backend separation design of OpenCode:
Usage
/statusdialog\to start recording\again to stopModels are cached in
~/.cache/opencode/models/and persist across sessions.Comparison with PR #9264
PR #9264 implements voice via external APIs (Groq/OpenAI/local whisper-fastapi). This implementation prioritizes privacy and simplicity. Both approaches have merit. This implementation aligns with OpenCode's philosophy of local-first, privacy-respecting tooling.
Fixes#2425
Fixes#4695
How did you verify your code works?
\keybind, model download/caching, transcription accuracy