闲社服务运行正常AI智能体自动化平台
w

网页语音界面

技能标识:webchat-voice-gui

>

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 0.1.1
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

网页语音界面

WebChat 语音界面

用于 OpenClaw WebChat 控制界面的语音输入图形界面:

  • - 麦克风按钮,支持空闲/录音/处理三种状态
  • 实时音量表:按钮阴影/缩放随语音电平动态变化
  • 按住说话:按住麦克风按钮录音,松开发送(默认模式)
  • 切换模式:点击开始录音,再次点击停止(双击麦克风按钮切换)
  • 键盘快捷键:Ctrl+Space 按住说话,Ctrl+Shift+M 开始/停止连续录音,Ctrl+Shift+B 实时转写 [测试版]
  • 本地化界面:自动检测浏览器语言(内置英语、德语、中文),可自定义
  • 网关启动钩子:在 openclaw update 后重新注入脚本

前置条件

  1. 1. webchat-https-proxy — 必须部署并运行 HTTPS/WSS 反向代理。
  2. faster-whisper-local-service — 本地语音转文字后端,运行在 18790 端口。

验证:
bash
systemctl --user is-active openclaw-voice-https.service
systemctl --user is-active openclaw-transcribe.service

部署

bash
bash scripts/deploy.sh

指定语言:
bash
VOICE_LANG=de bash scripts/deploy.sh

当交互式运行且未设置 VOICE_LANG 时,脚本会提示选择界面语言。

此脚本具有幂等性。

快速验证

bash
bash scripts/status.sh

安全说明

客户端 JS(voice-input.js)

  • - 无动态代码执行:不使用 eval()、new Function() 或包含用户数据的 innerHTML。
  • HTTPS 优先:通过 HTTPS 提供服务时,转写请求使用同源 /transcribe。仅在本地开发时回退到 http://127.0.0.1:18790。
  • 无外部服务器:音频数据不会发送到本地机器之外。
  • 无令牌窃取:客户端 JS 不从浏览器存储中读取网关认证信息。/transcribe 通过同源浏览器请求接受;Bearer 认证作为代理的可选回退方案。
  • 所有提示消息使用 textContent(无 XSS 攻击向量)。
  • 内存限制:连续录音模式强制 120 个数据块限制(约 2 分钟),防止无限制内存增长。

部署脚本

  • - 语言输入验证:VOICELANG 必须匹配 ^([a-zA-Z]{2,5}(-[a-zA-Z]{2,5})?|auto)$ — 防止通过 sed 注入。
  • 路径检测稳健:所有脚本在修改文件前验证控制界面目录是否存在。
  • 网关钩子:使用 execFileSync 配合数组参数 — 无 shell 插值。脚本路径来自 _dirname,而非用户输入。
  • 幂等性:所有脚本可安全重复运行。

无数据泄露

  • - JS 或脚本无出站网络调用。
  • 无遥测、分析或跟踪功能。

此技能修改的内容

内容路径操作
控制界面 HTML<npm-global>/openclaw/dist/control-ui/index.html添加 voice-input.js 的 <script> 标签
控制界面资源
/openclaw/dist/control-ui/assets/voice-input.js | 复制麦克风按钮 JS | | 网关钩子 | ~/.openclaw/hooks/voice-input-inject/ | 安装启动钩子,在更新后重新注入 JS | | 工作区文件 | ~/.openclaw/workspace/voice-input/ | 复制 voice-input.js、i18n.json |

麦克风按钮控制

操作效果
按住(按住说话模式)按住时录音,松开后转写
点击(切换模式)
开始录音 / 停止并转写 | | 双击 | 在按住说话和切换模式之间切换 | | 右键点击 | 开启/关闭提示音 | | Ctrl+Space(按住) | 通过键盘按住说话 | | Ctrl+Shift+M | 开始/停止录音 | | Ctrl+Shift+B | 开始/停止实时转写 [测试版] |

语言 / 国际化

自动检测浏览器语言。内置语言:英语(en)、德语(de)、中文(zh)。

在浏览器控制台中覆盖:
js
localStorage.setItem(oc-voice-lang, de); // 强制使用德语
localStorage.removeItem(oc-voice-lang); // 恢复自动检测

所有翻译键值见 assets/i18n.json。

卸载

bash
bash scripts/uninstall.sh

此操作会移除界面注入、钩子和工作区文件。不会影响 HTTPS 代理或 faster-whisper 后端——请单独卸载这些组件。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 webchat-voice-gui-1776203606 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 webchat-voice-gui-1776203606 技能

通过命令行安装

skillhub install webchat-voice-gui-1776203606

下载

⬇ 下载 webchat-voice-gui v0.1.1(免费)

文件大小: 17.95 KB | 发布时间: 2026-4-15 10:52

v0.1.1 最新 2026-4-15 10:52
MIT license added; remove browser token scraping; restore clean control-ui compatibility.
返回顶部