语音屏幕共享
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b22a52ba/voice-screen-share
技能介绍
要解决的问题
在 AI 对话场景中,纯文本交互有两个明显的短板:一是打字等待会打断交流节奏,不适合需要即时响应的连续对话;二是无法展示操作过程,用户难以理解 AI 正在做什么。Voice Screen Share 把语音通话和屏幕共享组合成一个浏览器端技能:用户用说话代替打字,同时把屏幕内容实时分享给对话方。
核心能力与关键步骤
技能的核心是 voice_call_driver 模块,它基于 FastAPI + WebSocket 搭建一个本地语音服务,完整流程为:
- 语音输入:浏览器获取麦克风权限后,将语音转写为文本(STT)
- 对话处理:Claw 执行 Python 代码驱动对话,
wait_for_user()阻塞等待用户语音 - 语音回复:AI 文本通过
reply_to_user()自动触发 edge-tts 合成并播放 - 状态通知:
set_thinking()与set_idle()让前端实时显示思考状态 - 屏幕共享:浏览器授权后,实时画面直接展示
典型调用序列:start_service() 启动服务 → get_url() 拿到页面地址 → 用户点击「开始通话」并授权 → wait_for_user() 等待语音 → reply_to_user() 回复 → stop_service() 收尾。对话历史可用 get_history() 随时读取,配置项(端口、TTS 音色、语速、音量)集中在 claw_bridge.py 中修改。
适用边界与注意点
- 浏览器依赖强:语音识别仅在 Chrome 33+ 和 Edge 79+ 上可靠,Firefox 部分支持,Safari 不支持,优先使用 Chrome/Edge
- TTS 需要联网:edge-tts 依赖微软免费在线服务,断网时无声音,音色仅限文档列出的几种中文 neural 语音
- 本地运行:服务只绑定本地端口(默认 8765),对话数据仅存于内存,不持久化
- 授权机制:麦克风和屏幕共享都必须由用户主动授权,无法静默获取
使用场景
- 开发者在调试网页应用时,需要边操作浏览器边口头询问 AI 关于代码逻辑的问题
- 技术顾问需要向客户展示软件操作流程,同时通过语音实时获得 AI 的操作指导
- 培训师需要演示某个工具的使用方法,并语音讲解每个步骤,同时展示屏幕画面
- 用户需要与 AI 进行连续的语音对话,同时共享屏幕让 AI 看到当前的操作状态
适合人员
- 需要边操作浏览器边与 AI 进行语音对话的前端开发者
- 希望展示屏幕内容并实时获得语音指导的技术顾问
- 需要语音演示操作流程并讲解步骤的产品培训师
- 希望通过语音交互提升操作效率的远程协作人员