WebChat Voice Full Stack
by @neldar
One-step full-stack installer for OpenClaw WebChat voice input with local speech-to-text. Orchestrates three focused skills in order: local STT backend (fast...
clawhub install webchat-voice-full-stackπ About This Skill
name: webchat-voice-full-stack description: > One-step full-stack installer for OpenClaw WebChat voice input with local speech-to-text. Orchestrates three focused skills in order: local STT backend (faster-whisper-local-service), HTTPS/WSS reverse proxy (webchat-https-proxy), and voice UI mic controls (webchat-voice-gui). Includes Push-to-Talk, continuous recording shortcuts, VU meter, and localized UI (EN/DE/ZH). Designed for transparent, user-level deployment with explicit, reversible changes only (systemd user services, Control UI asset injection, gateway allowed-origin update). SHA256 integrity verification of all sub-skill scripts before execution β deployment aborts on any checksum mismatch. No external telemetry and no recurring API costs after initial model download. Keywords: voice input, microphone, WebChat, speech to text, STT, local transcription, whisper, full stack, one-click, voice button, push-to-talk, PTT, keyboard shortcut, i18n, HTTPS, WSS, integrity verification, checksum.
WebChat Voice Full Stack
Meta-installer that orchestrates three standalone skills in the correct order:
1. faster-whisper-local-service β local STT backend (HTTP on 127.0.0.1:18790)
2. webchat-https-proxy β HTTPS/WSS reverse proxy for Control UI + WebSocket + transcription
3. webchat-voice-gui β mic button, VU meter, keyboard shortcuts, i18n for WebChat
Prerequisites
All three skills must be installed before running this meta-installer:
npx clawhub install faster-whisper-local-service
npx clawhub install webchat-https-proxy
npx clawhub install webchat-voice-gui
Additionally required on the system:
gst-launch-1.0 (GStreamer, from OS packages)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:
Step 1: faster-whisper-local-service
faster-whisper==1.1.1transcribe-server.py with input validation (magic-byte check, size limit)openclaw-transcribe.serviceStep 2: webchat-https-proxy
https-server.py to workspacegateway.controlUi.allowedOriginsopenclaw-voice-https.serviceStep 3: webchat-voice-gui
voice-input.js and injects tag into Control UIFor full details, security notes, and uninstall instructions, see each skill's SKILL.md.
Security posture (why these changes are expected)
This is a meta-installer, so it coordinates downstream skills and applies only the minimum required local changes:
openclaw-transcribe, openclaw-voice-https) tag for voice-input.js in Control UIgateway.controlUi.allowedOriginsSafety characteristics:
Integrity verification
Before executing any sub-skill script, deploy.sh verifies SHA256 checksums of all sub-skill scripts against scripts/checksums.sha256. If any script was modified after installation (e.g. by a registry update or tampering), deployment aborts with a clear error.
Workflow:
1. npx clawhub install β fetch from registry
2. Audit the scripts manually or via code review
3. bash scripts/rehash.sh β record trusted checksums
4. bash scripts/deploy.sh β verify checksums, then deploy
Dry-run verification (no deployment):
VERIFY_ONLY=true bash scripts/deploy.sh
After a sub-skill update:
1. Review the changed scripts
2. bash scripts/rehash.sh to update the trusted baseline
3. Commit the updated checksums.sha256
Verify
bash scripts/status.sh
Uninstall
Uninstall each skill separately (in reverse order):
# 1. Voice GUI (hook, UI injection, workspace files)
bash skills/webchat-voice-gui/scripts/uninstall.sh2. HTTPS Proxy (service, gateway config, certs)
bash skills/webchat-https-proxy/scripts/uninstall.sh3. STT 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
WORKSPACE and SKILLS_DIR paths are configurable via environment variables.βοΈ Configuration
All three skills must be installed before running this meta-installer:
npx clawhub install faster-whisper-local-service
npx clawhub install webchat-https-proxy
npx clawhub install webchat-voice-gui
Additionally required on the system:
gst-launch-1.0 (GStreamer, from OS packages)medium)π Tips & Best Practices
WORKSPACE and SKILLS_DIR paths are configurable via environment variables.