搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

tobi/wrapvm

运维与部署

把 XFCE 桌面、共享 Chrome 与两个 agent CLI 打包成容器镜像,可用 smolvm 或 Docker 启动。

339
14
Dockerfile
创建于 8 天前

项目介绍

wrapvm 把一个完整的桌面环境封装进单个容器镜像,供 AI agent 操作。它基于 wrap 的桌面镜像,新增了显示 :1 上的 Xvfb + XFCE、通过 9222 端口暴露 CDP 的持久 Chrome,以及两个 agent 命令行工具:用于浏览器自动化的 agent-browser 和通过 AT-SPI 做计算机操作的 agent-desktop。共享 Chrome 同时被设为系统默认浏览器,沙箱保持开启;声音经 PulseAudio 送入 null sink,可由查看器串流并用 ffmpeg 录制。

镜像由 CI 发布为 ghcr.io/tobi/wrapvm:desktop,配套 Smolfile 可用 smolvm 启动成一台机器。它面向希望给 agent 一个可点击、可输入、可浏览的一次性桌面环境的人,而不是普通远程桌面用户。

快速使用

仓库提供两种启动方式。用 smolvm 为当前目录创建机器并进入 shell:

./wrapvm

该命令会创建机器、在里面打开 zsh,并打印浏览器查看器的登录链接。另一种方式是把已发布镜像作为容器运行:

docker run -d -p 127.0.0.1:6080:6080 ghcr.io/tobi/wrapvm:desktop
docker exec <id> wrap-desktop url

随后在浏览器中通过 voxl 访问 6080 端口的桌面,打印出的链接里带有密码。用 wrapvm 创建机器时,还可通过 WRAPVM_DESKTOP_PORT 换一个宿主机端口。

Agent 配置

所有环境都设置了 AGENT_BROWSER_CONFIG=/home/user/workspace/agent-browser.json。该文件不存在时,wrap-desktop start 和每个登录 shell 会写入 {"headed": true, "autoConnect": true},已存在的文件不会被覆盖。这个文件替代常规的 ~/.agent-browser/config.json。~/.agents/skills 下的 desktop 和 browser 技能会把 agent 引向两个 CLI 各自的指南。

开发与限制

本地构建和测试用 make test,它会执行 podman 构建和桌面测试套件;设置 CONTAINER_ENGINE=docker 可改用 Docker。要启动本地构建,执行 make image.tar && WRAPVM_IMAGE=$PWD/wrapvm.tar ./wrapvm。Containerfile 以 wrap 在提交 c562a7d 处的桌面配置为基础,wrapvm 新增的块以 wrapvm: 标记;Dockerfile 是指向它的符号链接,方便 docker build .。仓库未声明许可证,复用和再分发的条款不明确。

HotRepo 点评

wrapvm 于 2026-11-10 进入 HotRepo 新项目榜,约 1.5 小时的统计窗口内净增 33 星,尚未出现在全部语言日榜上。项目很新(创建于 2026-11-04),仓库主语言为 Dockerfile。它的价值在于把桌面镜像、持久 Chrome 的 CDP 接口和两个面向 agent 的 CLI 组合成一个可启动单元;但 README 没有说明发布者身份,也没有说明 CI 如何把镜像与已提交的源码对应起来,运行前值得先核实镜像来源。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

相关推荐

  1. kunchenguid/runner-up在自有机器上自托管 GitHub Actions runner,每个任务使用全新的容器、虚拟机或账户。Go133