gptme/gptme-contrib/hold-to-talk
- community
Checking that the SKILL.md file is still in the repository.
Experimental single-turn voice input for gptme: capture or read audio, transcribe locally with faster-whisper, and optionally speak the response.
Install
npx vskill@latest install gptme/gptme-contrib/hold-to-talkSKILL.md
Hold-to-talk
Run one voice turn through the gptme CLI. Invoke again for another turn; this is not a persistent conversation or a Tauri integration.
Start with the reproducible demo: setup, architecture, an observed file-input transcript, and the desktop verification checklist are there. The file-input path works without a microphone or keyboard hook. Live device capture and playback remain experimental and need testing on the target desktop.
Usage
From this skill directory, with dependencies installed:
Configuration
| Setting | Default | Effect | |
|---|---|---|---|
HTT_MODEL / --model | tiny.en | Local Whisper model; English-only by default | |
HTT_HOLD_KEY | space | pynput key name or one character | |
HTT_GPTME_ARGS | empty | Shell-quoted options passed before the positional prompt | |
HTT_TTS_CMD | auto-detect | Shell-quoted executable/options; response is appended as one argument |
Default gptme arguments are -n --output-format json --tools none. Text is passed after -- so a transcript beginning with a dash stays prompt text. Non-interactive gptme skips confirmations. If you deliberately enable tools through HTT_GPTME_ARGS, those tools run with that behavior.
STT runs locally after the model's first download. The transcript goes to the configured gptme provider; use a local provider if it must remain on-device. The offline demo uses gptme's canned mock/static response and makes no model API call. gptme retains its normal conversation logs. Temporary recordings are deleted after transcription, including transcription failures; supplied files are retained. Status messages and the transcript appear on stdout.
TTS uses say on macOS or espeak/espeak-ng on Linux, if installed. Without one, the response is printed. Use --no-tts to skip playback explicitly. CLI errors and missing assistant output fail visibly rather than speaking raw JSON or returning an empty answer. The gptme subprocess has a 60-second timeout. No latency target has been established by desktop measurement.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hold-to-talk/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gptme/gptme-contrib/hold-to-talk)