docs(voice): use uv pip install faster-whisper in STT install hints#29800
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates voice-mode user guidance to prefer uv pip when installing the faster-whisper STT dependency.
Changes:
- Swaps
pip install faster-whisper→uv pip install faster-whisperin voice requirement checks and CLI error text. - Expands gateway user-facing message to mention both
uv pipand plainpipas options.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| tools/voice_mode.py | Updates missing-STT provider hint to recommend uv pip. |
| gateway/run.py | Updates user message to recommend uv pip, while noting pip can also work. |
| cli.py | Updates RuntimeError guidance to recommend uv pip for installing faster-whisper. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -10120,7 +10120,7 @@ def _voice_start_recording(self): | |||
| if not reqs.get("stt_available", reqs.get("stt_key_set")): | |||
| raise RuntimeError( | |||
| "Voice mode requires an STT provider for transcription.\n" | |||
| "Option 1: pip install faster-whisper (free, local)\n" | |||
| "Option 1: uv pip install faster-whisper (free, local)\n" | |||
| @@ -966,7 +966,7 @@ def check_voice_requirements() -> Dict[str, Any]: | |||
| details_parts.append("STT provider: OK (OpenAI)") | |||
| else: | |||
| details_parts.append( | |||
| "STT provider: MISSING (pip install faster-whisper, " | |||
| "STT provider: MISSING (uv pip install faster-whisper, " | |||
| "🎤 I received your voice message but can't transcribe it — " | ||
| "no speech-to-text provider is configured.\n\n" | ||
| "To enable voice: install faster-whisper " | ||
| "(`pip install faster-whisper` in the Hermes venv) " | ||
| "(`uv pip install faster-whisper` in the Hermes venv; " | ||
| "`pip install faster-whisper` also works if pip is on PATH) " | ||
| "and set `stt.enabled: true` in config.yaml, " | ||
| "then /restart the gateway." | ||
| ) |
|
@copilot Findings 1 & 2 addressed in ec4e2ef3a — both On finding 3 (centralizing the install hint across the three files): leaving as-is for now. The strings differ by surface (multi-line raised |
ec4e2ef to
1ee1208
Compare
Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched.
Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800.
1ee1208 to
ba33133
Compare
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com> #AI commit#
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
…NousResearch#29800) * docs(voice): use `uv pip install faster-whisper` in STT install hints Three runtime messages told users to `pip install faster-whisper` (reported in NousResearch#29782 for the gateway STT failure message under Telegram-in-Docker, where the user hit `bash: pip: command not found`). The Hermes Docker image is built on `ghcr.io/astral-sh/uv` with a uv-managed venv that doesn't ship `pip` on PATH; users on modern `uv tool install` / `uv venv` installs see the same problem. The canonical install command in this repo is `uv pip install` (see `tools/lazy_deps.py:509` `feature_install_command()`), which works in Docker (uv image), in `uv tool install` venvs, and in pip-based venvs that already have uv on PATH. Changed three locations to match: - `gateway/run.py` — Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Suggests `uv pip install faster-whisper` and notes that `pip install faster-whisper` also works if `pip` is on PATH. - `tools/voice_mode.py` — `/voice` status line for missing STT. - `cli.py` — Voice-mode startup error, "Option 1". No behavior change beyond the user-facing text. No production code path was touched. * docs(voice): add pip fallback to cli + voice_mode STT hints Copilot flagged that cli.py and tools/voice_mode.py recommend `uv pip install faster-whisper` without a fallback for environments where uv isn't on PATH. The gateway/run.py message already lists `pip install faster-whisper` as an alternative; this commit aligns the two remaining call sites to match. Addresses inline Copilot review on NousResearch#29800. --------- Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
What does this PR do?
Three runtime messages tell users to
pip install faster-whisperto enable local STT. Reported in #29782 for the gateway STT failure message under Telegram-in-Docker, where the user hitbash: pip: command not foundbecause the Hermes Docker image is built onghcr.io/astral-sh/uvwith a uv-managed venv that doesn't shippipon PATH. Users on modernuv tool install/uv venvinstalls see the same problem.The canonical install command in this repo is
uv pip install(seetools/lazy_deps.py:509feature_install_command(), which generatesuv pip install ...for every lazy backend includingstt.faster_whisper).uv pip installworks in Docker (uv image), inuv tool installvenvs, and in pip-based venvs that already have uv on PATH.Related Issue
Fixes #29782
Type of Change
Changes Made
gateway/run.py— Telegram/Discord/Slack/WhatsApp/etc. voice reply when no STT provider is configured. Now suggests`uv pip install faster-whisper` in the Hermes venvand notes that`pip install faster-whisper`also works ifpipis on PATH.tools/voice_mode.py—/voicestatus line for missing STT now saysuv pip install faster-whisper.cli.py— Voice-mode startup error "Option 1" now saysuv pip install faster-whisper (free, local).Before/after on the gateway message reported in the issue:
How to Test
origin/main:uv pip installworks in the same env:uv run --with pytest --with pytest-xdist --with pytest-asyncio --with pytest-timeout python3 -m pytest tests/tools/test_voice_mode.py -v # 45 passed, 15 skippedstt.enabled: false(or no STT configured), and confirm the new copy is rendered.Checklist
Code
fix(scope):,feat(scope):, etc.)Documentation & Housekeeping
docs/, docstrings) — or N/A (in-product hints updated; web docs intentionally left alone)cli-config.yaml.exampleif I added/changed config keys — N/A (no config keys)CONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — N/Auvis cross-platform; the new hint is correct on macOS, Linux, Windows.