核心功能
webchat-voice-proxy 是一套完整的本地化语音输入解决方案,专为 OpenClaw WebChat Control UI 设计。该技能在浏览器端添加麦克风按钮,捕获音频后通过本地 faster-whisper 服务完成语音转文字,全程无需调用云端 API,彻底消除 API 费用和隐私外泄风险。
显著优点
1. 完全本地化:音频录制、转录均在本地完成,敏感对话数据不出设备
2. 零持续成本:依赖开源 faster-whisper 模型,无按量计费
3. 实时反馈:VU 表实时显示语音活动级别,按钮阴影/缩放随音量动态响应
4. 重启安全:systemd 用户服务 + 网关启动钩子确保更新后自动恢复功能
5. 标准协议栈:HTTPS/WSS 反向代理、自签名 TLS 证书管理、CORS 配置完整
潜在局限
- 前置依赖严格:必须先部署
faster-whisper-local-service并确认端口 18790 可用 - 首次配置复杂:涉及证书生成、CORS 原点配置、网关配对授权等多步骤
- 自签名证书限制:浏览器首次访问需手动信任证书,无法用于公网生产环境
- 硬件资源占用:本地 Whisper 推理需要 GPU 或充足 CPU 资源
- 维护负担:需同时监控语音代理服务、转录服务、网关三个组件状态
适合人群
- 注重隐私、拒绝云端 STT 服务的 OpenClaw 用户
- 具备 Linux 系统管理基础,能排查 systemd/网络/证书问题的技术用户
- 已部署本地 LLM 基础设施、追求端到端离线化的自托管爱好者
- 开发测试环境需要快速语音原型,但不想开通云服务商账户的开发者
常规风险
- 证书信任问题:自签名证书可能导致浏览器安全警告或 WebSocket 连接失败
- 原点配置错误:
VOICE_HOST或allowedOrigins不匹配会触发 CORS 阻断 - 服务耦合故障:转录服务崩溃将导致语音按钮无响应,需分层排查
- 更新覆盖风险:Control UI 更新后需依赖钩子重新注入脚本,存在注入失败窗口
- 权限边界:虽无需 root,但修改 npm 全局目录和 systemd 用户单元仍属敏感操作
综合来看,该技能适合技术能力较强、追求隐私与成本控制的进阶用户,不建议新手直接部署生产环境。