tobi/wrapvm
运维与部署把 XFCE 桌面、共享 Chrome 与两个 agent CLI 打包成容器镜像,可用 smolvm 或 Docker 启动。
项目介绍
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 生成,更新于 ,以项目官方文档为准。