核心功能
WebChat HTTPS Proxy是OpenClaw生态中的纯基础设施组件,为WebChat Control UI提供安全的HTTPS/WSS反向代理能力。其主要职责包括:
三层代理架构
- 静态文件服务:通过HTTPS(默认8443端口)托管Control UI单页应用(SPA),支持路由回退
- WebSocket透传:将WSS连接代理至本地网关WebSocket端点(ws://127.0.0.1:18789)
- 转录API转发:/transcribe端点代理至本地faster-whisper服务,集成Bearer Token认证
自动化TLS管理
首次运行自动生成自签名证书(OpenSSL),私钥权限严格设为600,强制TLS 1.2+协议,拒绝遗留SSL版本。
用户级持久化
以systemd用户服务形式运行(openclaw-voice-https.service),无需root权限,支持开机自启。
显著优点
1. 零配置开箱即用:单条命令部署,自动生成证书与systemd服务
2. 纵深防御设计:路径遍历保护(realpath校验)、SSRF防护(仅限localhost上游)、上传大小限制(50MB)、响应上限(10MB)
3. 隐私优先架构:无遥测、无外网调用、无数据外泄风险
4. 灵活网络隔离:默认127.0.0.1绑定,显式配置VOICE_HOST方可开放LAN访问
潜在局限
- 自签名证书体验:首次访问触发浏览器安全警告,需手动信任(企业环境建议替换为内部CA签发证书)
- 单origin CORS限制:仅支持单一允许来源,多设备场景需统一入口
- Python依赖:需aiohttp≥3.9.0,旧系统可能存在版本冲突
- 无高可用设计:单进程模式,未集成负载均衡或故障转移
适用人群
- 本地开发者在同一机器调试OpenClaw语音功能
- 家庭/小团队LAN环境:通过VOICE_HOST暴露至内网设备(平板、手机)
- 隐私敏感用户:拒绝云服务转录,坚持本地whisper推理
常规风险
| 场景 | 风险等级 | 说明 |
|---|---|---|
| VOICE_HOST暴露至公网 | ⚠️ 高危 | 虽有多层防护,但自签名证书+单一Token认证不宜直面互联网 |
| 证书过期 | 中 | 自签名证书长期有效,但浏览器缓存可能引发意外警告 |
| 依赖漏洞 | 中 | aiohttp历史版本存在HTTP解析漏洞,需保持更新 |
| Token泄露 | 中 | 转录端点Bearer Token若被截获,可导致本地服务滥用 |
最佳实践建议
- 生产环境替换自签名证书为Let's Encrypt或内部PKI证书
- 配合防火墙规则限制8443端口访问源
- 定期审查
~/.openclaw/workspace/voice-input/certs/目录权限