用途:agent-browser(vercel-labs)是 agent-swarm 的浏览器自动化 CLI,通过 CDP 驱动无头 Chromium,返回带紧凑 @eN 引用的可访问性树快照。适用于各类浏览器任务:验证 UI 改动、截图、走查页面、填表、提取页面文本、复现前端缺陷,或为 PR、issue、Linear 评论、Slack 线程附上 UI 证据。资料注明不要使用 qa-use,它已不再安装在 worker 镜像中。
可用性检查:完整 worker 镜像(agent-swarm-worker:latest)自带 agent-browser 与无头 Chromium,slim 镜像(:slim)两者都没有。任何浏览器工作的第一条命令是:command -v agent-browser。若没有输出,说明在 slim 镜像上,应在进度报告中说明“agent-browser is not available on this worker image”,回退为手动 QA:写出人工应执行的准确步骤,并把浏览器测试用例标记为 Blocked 而非 failed。不要自行安装浏览器或 CLI。
用法:CLI 自带使用指南,每个任务首次执行浏览器命令前加载一次,不要凭记忆猜参数:agent-browser skills get core(概览与常见模式)、agent-browser skills get core --full(完整命令参考)、agent-browser skills list(专门指南)。核心循环为:agent-browser open <url>、agent-browser snapshot -i(仅交互元素的可访问性树,含 @eN 引用)、agent-browser click @e12、agent-browser fill @e7 "text"、agent-browser screenshot /tmp/<name>.png、agent-browser close。每次导航或状态变化后需重新 snapshot,引用仅对生成它的那次快照有效。同一时间只运行一个浏览器会话,分批调用 store-progress 以便心跳看门狗感知。浏览器为无头模式,worker 容器内本地服务可通过 http://localhost:<port> 访问。镜像通过 AGENT_BROWSER_ARGS 以 --no-sandbox --disable-dev-shm-usage 启动 Chromium;若自行传入 --args,需再次包含 --no-sandbox,否则 Chrome 无法启动。
录制:record start 需传绝对路径(如 /tmp/<topic>/raw.webm),相对路径会相对 agent-browser 守护进程的 cwd 解析,导致 ffmpeg write failed: Broken pipe。默认用 --cursor 录制,用 --human 驱动每个支持的指针操作(点击、鼠标移动、拖拽),并交付 1.5 倍速视频;1 倍原片仅在审阅者要求时保留。人类指针移动沿缓动曲线,鼠标移动加 --seed <n> 可使录制可复现。先打开页面再录制交互:agent-browser record start ./in.mp4 --cursor;snapshot;mouse move 600 400 --human --seed 42 --duration 1400;click @e3 --human;record stop;再用 ffmpeg -y -i in.mp4 -filter:v "setpts=PTS/1.5,fps=30" -an -c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p out-1.5x.mp4 加速。加速是后处理,record start 没有 speed 或 human 标志;保持 fps=30 以获得稳定帧率;-an 关闭音轨(录制无音轨)。worker 只装 ffmpeg,不装 ffprobe,可用 ffmpeg -i out-1.5x.mp4 2>&1 | grep Duration 查看时长。start 命令加 --contact-sheet 可生成带时间戳的视觉变化 PNG 摘要。录制需 ffmpeg 在 PATH 中,开始前检查 agent-browser doctor。关闭浏览器前先停止录制以保存视频。1.5 倍文件应与截图放在同一 agent-fs QA 路径。在 PR 中作为 GitHub 用户附件上传,并把 URL 单独一行,以便内联播放。
截图分享:worker 磁盘上的截图会随任务消失,需按 qa 路径约定上传到 agent-fs,该副本为持久原件。需要人工打开文件时用 share-create。--file 二进制安全;--content 仅限文本,会损坏 PNG。示例:agent-fs write thoughts/<agent-id>/qa/<topic>-screenshots/<name>.png --file /tmp/<name>.png -m "<what it shows>";用 agent-fs stat 确认大小大于 0;用 share-create 生成链接。GitHub PR 正文或评论:用 github-attach 技能上传 PNG、GIF 或 mp4 为 GitHub 用户附件,并以 嵌入;附件不过期,mp4 可内联播放;UI PR 应在 Before / after 表中放 main 与改动后对照。仅图片的替代方案(GitHub token 为 App token,ghu_/ghs_ 时):agent-fs signed-url <path> --inline --json(7 天过期);绝不要对 mp4 或文档使用 presigned URL,它会下载。Linear 评论或 Slack 消息:粘贴 share-create 链接。store-progress 中在 attachments 字段列出上传,kind: "agent-fs" 并附路径,同时粘贴 share-create 链接。若 agent-fs auth whoami 失败,报告本地路径,说明跳过上传并继续。artifacts 技能包含完整 agent-fs 配方与命名约定。
限制与注意事项:wait <selector> 等待可见匹配,首个匹配隐藏时会超时(约 25 秒),即使元素存在;应改为等待渲染文本:wait --text "<rendered text>"。绝不要在 Bash 调用中运行 pkill -f <pattern>,该模式也会匹配调用方 shell 的命令行并把它杀掉;启动后台服务时记录 PID(echo $!)并用 kill <pid>。资料未提供价格、安装命令或平台支持范围等信息。