托管浏览器由现有 Runner 按需启动专用 Chromium 进程,通过原来的节点鉴权、任务租约和结果通道工作。网页任务可以直接使用浏览器;需要 Linux 程序、终端或完整桌面时,继续使用现有 VM。Hermes 仍负责模型、会话和技能。
这是独立浏览器进程,不是新增 Linux 虚拟机或 Docker 浏览器服务。Web 与 macOS 电脑面板提供查看和人工接管,窄屏 Web 可用;本次没有新增 iOS/Android 原生浏览器界面,也没有替换现有 UI 技术栈。
默认关闭。升级代码不会自动启动 Chromium,也不会改变已有 Bot 的虚拟机、云电脑或本机电脑设置。
在运行 Runner 的同一系统账号下安装配套 Chromium。源码运行执行:
npm ci
npx playwright install chromium
独立 Runner 分发包需复制整个 .runner-build/ 目录,再在目标主机执行:
node .runner-build/node_modules/playwright/cli.js install chromium
Linux 还需安装 Chromium 的系统依赖,可用对应 CLI 的 install-deps chromium。Chromium 启用自身沙箱;用非 root 账号运行 Runner,不添加 --no-sandbox。浏览器二进制、登录资料和缓存不随程序包分发。没有安装配套二进制的节点不会声明浏览器可用。
在执行节点配置中启用“托管浏览器”,或给现有 runner.json 添加:
{
"browser": {
"enabled": true,
"maxSessions": 3,
"idleTimeoutMs": 300000
}
}
保留现有配置其他字段,再让 Runner 加载更新后的配置。computers 与 browser 可分别配置,单独启用浏览器不要求 VM Worker。maxSessions 范围 1–8,默认 3;空闲回收范围 60 秒–2 小时,默认 5 分钟。
managed-browser/profiles/,关闭页面后保留登录资料。临时助手使用临时资料,关闭后删除。工具使用独立的 managed_browser_* 前缀:打开、状态、DOM 快照、页面操作、附件上传、下载导出。页面操作支持导航、标签页、点击、填写、键盘、滚动和截图。普通网页先使用 DOM 快照与元素引用,确有视觉需求时再截图。
下载先取得 downloadId,通过 managed_browser_export 作为现有对话附件交付。上传使用当前账号有权访问的附件 fileId,模型不传宿主文件路径。单文件上限 25 MiB。
同一轮已授权 VM 时,额外提供 managed_browser_to_vm 与 managed_browser_upload_vm。复制使用现有 VM 分块文件协议、摘要校验和路径边界;默认不覆盖文件,也不挂载宿主目录。跨环境文件还受全局文件传输大小设置约束。
网页网络请求走经鉴权的公网代理,拒绝回环、私网与重新解析到私网的目的地址;既有连接也定期检查授权。当前禁用 Service Worker 和 WebSocket,因此依赖这些功能的网站可能不完整。DOM 元素快照目前针对主页面;拖拽等高级输入尚未接入。浏览器不支持通过任意 JavaScript、CDP 或宿主命令接口绕过这些边界。
computer_*、desktop_*、cloud_computer_* 工具继续走自己的执行路径。浏览器不可用时不会隐式切换环境重做。deploy/computer/compose_bridge.py(含 cancel 协议)。升级 Compose 时先结束运行任务,再按原部署流程更新桌面镜像;不要只更新 Runner 而保留旧 bridge。browser.enabled,保留资料目录即可。已有 VM、文件库和 Hermes 配置无需迁移。常规检查:
npm run typecheck
npm run build
NODE_OPTIONS=--no-experimental-webstorage npm test -- --maxWorkers=4
本地 Node 26 的实验性 Web Storage 会覆盖测试环境的 localStorage,因此全量测试使用上述选项。
macOS 桌面回归需先生成本地桌面运行包与原生 helper:
npm run desktop:build
npm run desktop:test
真实 Chromium 验收(先安装配套浏览器):
YAOYAO_BROWSER_SMOKE=1 npx vitest run tests/runner/browserSmoke.test.ts tests/server/managedBrowserSmoke.test.ts
这两项覆盖真实页面操作、上传下载、登录资料恢复,以及 HTTP Runner 领取/准入/结果/授权检查、无 VM 浏览器握手、人工接管与交还。HTTP 测试使用 Hermes fixture,不代表真实模型自主选择工具的评测。macOS Chromium 和临时 Docker 命令取消已实测;Linux Chromium 沙箱与 Windows 安装仍需目标平台验证,尚无与完整 VM 的性能基准数字。