Repolode
tembo

tembo/voxl

用 Rust 编写的低延迟网页远程桌面串流工具,通过 WebSocket 将 H.264 画面推送到浏览器解码。

Star
1,270
Fork
68
未关闭 Issue
6
最近提交
前天

这是什么?

voxl 可以把 X11 显示器、macOS 屏幕或 Windows 桌面串流到网页浏览器中。服务端采集屏幕画面,用 x264 编码为 H.264,再通过单个 WebSocket 发送给客户端。内置的网页客户端使用 WebCodecs 解码,并把键盘、鼠标、剪贴板、音频、麦克风、文件传输和动态分辨率等操作回传到被控主机。

该项目面向无头虚拟机、沙箱和 CI 环境,通常在没有 GPU 的 Xvfb 上运行,便于智能体或开发者在浏览器标签页中观察和操作桌面。默认启用密码登录,并提供主机名与来源校验。HTTP 接口支持截图、MP4 录屏,以及在屏幕静止或发生变化时返回的 /wait 接口。

可通过 crates.io 安装 voxl-server 包。Linux 下需要 x264、libyuv、Opus 和 PulseAudio,macOS 与 Windows 则可借助 Homebrew 或 vcpkg 安装依赖。

核心功能

  • 01将 X11、macOS 和 Windows 桌面以 H.264 经单个 WebSocket 推送。
  • 02在浏览器中通过 WebCodecs 解码,不使用 WebRTC 的抖动缓冲。
  • 03支持键盘鼠标输入、剪贴板、桌面音频、麦克风以及文件和文件夹传输。
  • 04可根据查看者窗口大小动态调整分辨率。
  • 05提供截图、MP4 录屏和等待屏幕变化的 HTTP 接口。
  • 06默认要求密码登录,并校验 Host 与 Origin 请求头。

适用场景

  • 在浏览器中查看或操作运行于 CI 任务、虚拟机或沙箱中的桌面。
  • 为电脑操作类 AI 智能体提供截图、录屏,以及等待界面变化的能力。
  • 通过 iframe 将远程桌面嵌入其他网页。
  • 无需安装客户端,直接在浏览器中访问 Mac 或 Windows 的屏幕。

快速上手

  1. 1

    从 crates.io 安装 voxl-server(系统需要 x264、libyuv、Opus、PulseAudio 和 esbuild)

    cargo install voxl-server
  2. 2

    针对显示器 :1 运行 voxl,然后打开它输出的链接登录

    DISPLAY=:1 voxl

使用前须知

  • 运行前需要先安装多个本地库(x264、libyuv、Opus、PulseAudio、esbuild),除非使用提供的 nix-shell。
  • README 中的 --stripes 等选项被标注为实验性功能。

收录于专题

标签

常见问题

voxl 是什么?
用 Rust 编写的低延迟网页远程桌面串流工具,通过 WebSocket 将 H.264 画面推送到浏览器解码。 voxl 可以把 X11 显示器、macOS 屏幕或 Windows 桌面串流到网页浏览器中。服务端采集屏幕画面,用 x264 编码为 H.264,再通过单个 WebSocket 发送给客户端。内置的网页客户端使用 WebCodecs 解码,并把键盘、鼠标、剪贴板、音频、麦克风、文件传输和动态分辨率等操作回传到被控主机。
voxl 可以免费使用吗?用的什么许可证?
voxl 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
voxl 还在维护吗?
活跃维护中。voxl 最近一次提交是在 2026年11月6日。
voxl 适合用来做什么?
在浏览器中查看或操作运行于 CI 任务、虚拟机或沙箱中的桌面。 为电脑操作类 AI 智能体提供截图、录屏,以及等待界面变化的能力。 通过 iframe 将远程桌面嵌入其他网页。 无需安装客户端,直接在浏览器中访问 Mac 或 Windows 的屏幕。
voxl 怎么安装和运行?
从 crates.io 安装 voxl-server(系统需要 x264、libyuv、Opus、PulseAudio 和 esbuild): cargo install voxl-server 针对显示器 :1 运行 voxl,然后打开它输出的链接登录: DISPLAY=:1 voxl
在哪里获取 voxl?
源代码和安装说明在 GitHub 上:https://github.com/tembo/voxl

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目