WebChat Voice Full Stack
Meta-installer that orchestrates two standalone skills in the correct order:
faster-whisper-local-service— local STT backend (HTTP on 127.0.0.1:18790)webchat-voice-proxy— HTTPS/WSS proxy + mic button for WebChat Control UI
Prerequisites
Both skills must be installed before running this meta-installer:
clawdhub install faster-whisper-local-service
clawdhub install webchat-voice-proxy
Additionally required on the system:
- Python 3.10+
gst-launch-1.0(GStreamer, from OS packages)- Internet access on first run (model download ~1.5 GB for
medium)
Deploy
bash scripts/deploy.sh
Optional overrides (passed through to downstream scripts):
VOICE_HOST=10.0.0.42 VOICE_HTTPS_PORT=8443 TRANSCRIBE_PORT=18790 WHISPER_LANGUAGE=auto bash scripts/deploy.sh
What this does (via downstream scripts)
This skill does not contain deployment logic itself. It calls deploy.sh from each sub-skill. Here is what those scripts do:
faster-whisper-local-service deploys:
- Creates Python venv at
$WORKSPACE/.venv-faster-whisper/ - Installs
faster-whisper==1.1.1via pip - Writes
transcribe-server.pyto$WORKSPACE/voice-input/ - Creates + enables systemd user service
openclaw-transcribe.service - Downloads model weights from Hugging Face on first run (~1.5 GB for medium)
webchat-voice-proxy deploys:
- Copies
voice-input.jsandhttps-server.pyto$WORKSPACE/voice-input/ - Injects
<script>tag into Control UIindex.html - Adds HTTPS origin to
gateway.controlUi.allowedOriginsinopenclaw.json - Creates + enables systemd user service
openclaw-voice-https.service - Installs gateway startup hook at
~/.openclaw/hooks/voice-input-inject/ - Auto-generates self-signed TLS cert on first run
For full details, security notes, and uninstall instructions, see each skill's SKILL.md.
Verify
bash scripts/status.sh
Uninstall
Uninstall each skill separately:
# Proxy (service, hook, UI injection, gateway config)
bash skills/webchat-voice-proxy/scripts/uninstall.sh
# Backend (service, venv)
systemctl --user stop openclaw-transcribe.service
systemctl --user disable openclaw-transcribe.service
rm -f ~/.config/systemd/user/openclaw-transcribe.service
systemctl --user daemon-reload
Notes
- This meta-skill is a convenience wrapper. All actual logic lives in the two sub-skills.
- Review both sub-skills' scripts before running if you haven't already.
- The
WORKSPACEandSKILLS_DIRpaths are configurable via environment variables (default:~/.openclaw/workspaceand~/.openclaw/workspace/skills).