核心用法
WebChat Voice Full Stack 是一个元安装器(meta-installer),通过单一命令协调部署两个独立组件:
1. faster-whisper-local-service — 本地语音转文字后端,基于 faster-whisper 1.1.1,在 127.0.0.1:18790 提供 HTTP 服务
2. webchat-voice-proxy — HTTPS/WSS 代理层,为 OpenClaw WebChat Control UI 注入麦克风按钮
部署后,用户可通过 Push-to-Talk(按住说话,Ctrl+Space) 或 Toggle 模式(Ctrl+Shift+M 连续录音) 进行语音输入,实时 VU 表显示音量,支持英/德/中三语界面。
显著优点
- 零后续成本:首次下载约 1.5GB 模型后完全本地运行,无 API 订阅
- 低延迟实时转录:faster-whisper 本地推理,无需网络往返
- 双模交互:PTT 适合精准控制,Toggle 适合长段输入
- 安全隔离:自签名 TLS + 本地回环绑定,不暴露公网
- 模块化设计:两子技能可独立维护、卸载,不耦合
潜在缺点与局限
- 首次部署较重:需 Python 3.10+、GStreamer、~1.5GB 模型下载
- 硬件依赖:转录质量与速度受本地 GPU/CPU 性能制约
- 自签名证书:浏览器首次访问需手动信任证书
- 元安装器无自有逻辑:故障排查需分别查阅子技能文档
- 仅支持桌面端:快捷键与 WebChat UI 注入针对浏览器环境优化
适合人群
- 追求隐私、不愿上传语音至云端的用户
- 高频使用语音输入、希望降低长期成本的专业用户
- 已有 OpenClaw 生态、熟悉 systemd 与 Python 环境的技术用户
常规风险
- 子技能脚本以 systemd --user 运行,权限边界清晰,但脚本本身未签名,需人工审计
- 模型下载来源为 Hugging Face,需信任其 CDN 完整性
- HTTPS 代理若配置不当(如覆盖 VOICE_HOST)可能暴露至局域网,建议保持 127.0.0.1 默认
- 卸载流程分散在两个子技能,误操作可能残留服务文件
技术栈
- Python 3.10+ / faster-whisper 1.1.1 / GStreamer
- systemd 用户服务 / self-signed TLS / WebSocket