Skip to content

feat: add Windows STT support with cross-platform process management and configurable whisper path#11

Open
crixue wants to merge 4 commits into
renjfk:mainfrom
crixue:feature/support-windows
Open

feat: add Windows STT support with cross-platform process management and configurable whisper path#11
crixue wants to merge 4 commits into
renjfk:mainfrom
crixue:feature/support-windows

Conversation

@crixue

@crixue crixue commented Jul 26, 2026

Copy link
Copy Markdown

feat: add Windows STT support with cross-platform process management and configurable whisper path

It Require merge feat: enhance audio backend detection for Linux/WLS2 and input devi…
first!

Why
The plugin was Linux/macOS-only for STT. Windows users had no supported path
to use speech-to-text despite sox and whisper.cpp both being available on
the platform. The existing code also used Unix-only signals (SIGKILL/SIGINT)
and utilities (pkill) that crash on Windows.

What Changes

  • Guard Unix-specific process.kill(pid, "SIGKILL"/"SIGINT") and
    pkill calls behind process.platform !== "win32"; use .kill() on
    Windows where signal names are unsupported
  • Add whisperPath plugin option so users can point to the binary directly,
    bypassing PATH resolution — essential on Windows where OpenCode's process
    environment may predate PATH modifications
  • Improve ENOENT error message to suggest whisperPath as a fix
  • Document full Windows setup in README: winget for sox, Visual Studio Build
    Tools, CPU-only and CUDA whisper.cpp builds, PATH configuration, and smoke
    test
  • Generalize README CUDA docs (CUDA_ARCH env var, Blackwell min CUDA 12.8,
    -real suffix for Windows CUDA arch flags)

Capabilities

  • STT recording and transcription works on Windows with the same tiny
    large-v3 model range as Linux/macOS
  • NVIDIA GPU acceleration on Windows (CUDA build)
  • Users can avoid PATH issues entirely by setting whisperPath in plugin
    options

Impact

  • Zero behavioral change on Linux/macOS — all conditional branches are
    no-ops on those platforms
  • Windows users get a complete, documented setup flow from winget install to
    working voice commands
  • whisperPath option is additive and optional; existing configurations
    continue to resolve via PATH as before
  • CUDA arch table fix (Blackwell min 12.8) corrects an error for all platforms

RawJayXx and others added 4 commits July 21, 2026 16:36
…and configurable whisper path

**Why**
The plugin was Linux/macOS-only for STT. Windows users had no supported path
to use speech-to-text despite `sox` and `whisper.cpp` both being available on
the platform. The existing code also used Unix-only signals (SIGKILL/SIGINT)
and utilities (`pkill`) that crash on Windows.

**What Changes**
- Guard Unix-specific `process.kill(pid, "SIGKILL"/"SIGINT")` and
  `pkill` calls behind `process.platform !== "win32"`; use `.kill()` on
  Windows where signal names are unsupported
- Add `whisperPath` plugin option so users can point to the binary directly,
  bypassing `PATH` resolution — essential on Windows where OpenCode's process
  environment may predate `PATH` modifications
- Improve `ENOENT` error message to suggest `whisperPath` as a fix
- Document full Windows setup in README: winget for sox, Visual Studio Build
  Tools, CPU-only and CUDA whisper.cpp builds, PATH configuration, and smoke
  test
- Generalize README CUDA docs (CUDA_ARCH env var, Blackwell min CUDA 12.8,
  `-real` suffix for Windows CUDA arch flags)

**Capabilities**
- STT recording and transcription works on Windows with the same `tiny` →
  `large-v3` model range as Linux/macOS
- NVIDIA GPU acceleration on Windows (CUDA build) with Blackwell (RTX 50)
  support at CUDA 12.8+
- Users can avoid PATH issues entirely by setting `whisperPath` in plugin
  options

**Impact**
- Zero behavioral change on Linux/macOS — all conditional branches are
  no-ops on those platforms
- Windows users get a complete, documented setup flow from `winget install` to
  working voice commands
- `whisperPath` option is additive and optional; existing configurations
  continue to resolve via `PATH` as before
- CUDA arch table fix (Blackwell min 12.8) corrects an error for all platforms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant