Vox 是一个面向 GitHub Copilot 的免手动语音面板扩展,让你可以通过说话与 Copilot 代理交互,并听到它的回复。它同时适用于 GitHub Copilot CLI 和 GitHub Copilot 应用。
用途
Vox 的核心用途是让开发者以语音方式驱动 GitHub Copilot 会话。你无需在编辑器中手动输入,只需说话,Vox 就会将语音转成文本发送给活跃的 Copilot 会话,并将代理的回复合成语音朗读出来。它适合希望解放双手、减少键盘操作或在多会话间快速切换的场景。
主要能力
- 语音输入/语音输出:麦克风音频直接流式传输到活跃的 Copilot 会话,代理回复被合成并朗读。
- 反应式圆球:一个动态圆球通过颜色反馈状态——休息时为浅紫色,听到你说话时为绿色,思考时为琥珀色,说话时为蓝色;同时圆球会随麦克风音量脉冲,让你知道声音被接收。
- 免手动流程:如果已授予麦克风权限,Vox 会直接进入聆听状态。说完后短暂停顿会自动发送,也可以点击圆球或按空格键立即发送。
- 打断说话:在代理说话时,点击圆球、按 Esc 或点击 Interrupt 可以打断,并直接回到聆听状态,无需重新点击麦克风。
- 实时字幕:你的语音会以临时文本流式显示,并随着说话逐步确认。
- 朗读打字回复:即使你直接在 Copilot CLI 中打字,Vox 也会在面板中朗读助手的回复。
- 转录面板:打开 📜 面板可查看完整的来回对话记录,可随时关闭或清空。
- 会话路由与自动切换:居中的下拉菜单显示每个活跃会话;可同时有多个会话活跃,从另一个会话运行 /vox 会自动将已打开的窗口切换到该会话。
- 独立应用窗口:通过 Chrome/Edge 的应用模式打开为无边框桌面式窗口,而不是浏览器标签页,从而保证 Web Speech API 正常工作。
- 跨平台:纯 JavaScript,无需构建。在 Windows、macOS 和 Linux 上均可一行安装。
使用方式
- 前置要求:需要 GitHub Copilot CLI(命令
copilot,可通过npm install -g @github/copilot安装),以及 PATH 中的 Node.js 和 git。 - 安装:在任意 shell 中运行一行安装命令(Windows 使用 PowerShell,macOS/Linux 使用 bash)。该命令会将仓库克隆到
~/vox(如果已存在则更新),然后将扩展复制到~/.copilot/extensions/vox,Copilot CLI 会自动发现它。 - 启动:启动一个 Copilot 会话并运行
/vox。点击圆球或按空格键,说出你的指令,停顿后发送,回复会被朗读回来。 - 在 Copilot 应用中使用:从应用的面板打开 Vox(或让 Copilot 打开它)。注意斜杠命令仅在 CLI 中可用,但面板功能相同。
- 手动安装/开发:可从本地克隆进行安装。
技术细节
/vox命令会在端口 4321 上启动一个小型本地服务器,并在registry.json中注册会话。浏览器画布流式传输麦克风音频并播放合成回复,将语音轮次路由到活跃会话。一个持久的/listen通道还会将来自 CLI 打字轮次的回复流式传输到面板,以便它们也被朗读。- 可同时有多个会话活跃;
/vox-who显示哪个是活跃会话。从另一个会话运行/vox会设置一个单调焦点令牌,因此已打开的窗口会切换到最近请求的会话,不会产生重复窗口。 /vox使用已安装的 Chromium 浏览器(优先 Chrome,其次 Edge)以应用模式打开面板为独立无边框窗口。这保证了浏览器的 Web Speech API 正常工作,而 Electron 和原生 webview 不支持。窗口使用专用配置文件(~/.copilot/vox-app-profile),因此具有独立身份并记住麦克风权限。可通过VOX_BROWSER=chrome|edge|brave|chromium或可执行文件的完整路径覆盖浏览器。
适用场景
- 使用 GitHub Copilot CLI 或 Copilot 应用进行开发的程序员,希望通过语音快速下达指令和接收反馈。
- 需要同时管理多个 Copilot 会话并快速切换的用户。
- 希望减少键盘操作、保持双手自由或提升交互效率的场景。
限制
- 必须安装 GitHub Copilot CLI 和 Node.js、git。
- Copilot 应用中的斜杠命令不可用,但面板功能相同。
- 依赖 Chromium 浏览器的 Web Speech API,需安装 Chrome、Edge、Brave 或 Chromium 之一。
- 需要麦克风权限。
- 其他功能细节或平台支持情况以实际使用为准。