2026年 OpenClaw Playwright skill-browser 在无头 Mac VPS 部署:Chromium 同账户安装、并行上限与报错对照 Runbook(含决策矩阵与 FAQ)
当你的 OpenClaw 已在 Mac VPS 上 7×24 跑着 IM 通道,却还要让 Agent 自动打开网页、填表或抓取竞品快照时,「在笔记本上临时开 Chrome」无法变成可审计的生产能力。OpenClaw 的 skill-browser 基于 Playwright 无头 Chromium,把浏览动作接到 Gateway 工具面。本文面向仅 SSH、无桌面的 Mac 云运维与平台负责人:先拆四条典型痛点,再给无头 Mac VPS vs 本地有屏 Mac vs Docker browser 的决策矩阵,随后给出前置清单、并行参数表、七步 Runbook、三条可引用判据、报错对照表与业务实例;内链网关 install、Docker 7×24、版本钉扎与 ClawHub 审计文,帮助你在 Apple Silicon Mac 云上完成可复现部署。
目录
1. 痛点拆解:Chromium 缺失、OOM 与模态阻塞
skill-browser 把故障面扩展到浏览器子进程:Gateway 在线,首次 navigate 仍可能失败。
- Chromium 未同账户安装:CLI 与 launchd 用户不一致,缓存分裂,日志报找不到可执行文件。
- Exit 137:并行 context 过高,Chromium 被 OOM Kill,Gateway 仅见 tool timeout。
- HOME 分裂:SSH 能冒烟、launchd 不能,配置目录不可写或 profile 锁死。
- 模态阻塞:未配
blockedByDialog时 evaluate 挂起,返回空快照。
2. 决策矩阵:无头 Mac VPS vs 本地 Mac vs Docker browser
开发调试可用本地 Mac;7×24 与 18789 同机选无头 Mac 云。Docker 见7×24 Runbook。
| 维度 | 无头 Mac VPS | 本地有屏 Mac | Docker 内 browser |
|---|---|---|---|
| 延迟 | 与 Gateway 同机,RTT 低,适合生产 | 开发友好,休眠断链 | 网络卷权限多一层 |
| 磁盘 | Chromium 缓存约 300–500 MB | 路径难统一 | 重建重复下载 |
| 权限 | 纯 headless,launchd 对齐 | 可手点模态 | 易 137 与反爬 |
| 运维 | 见网关 Runbook | 无法 7×24 | 排障链更长 |
| 场景 | 填表、快照、IM 联动 | selector 调试 | 短时批处理 |
3. Mac VPS 前置:Node 22、18789 与同账户 HOME
- 运行时:Node.js 22+;执行
openclaw doctor与openclaw --version,确认无半安装告警。 - 网关:
lsof -i :18789或openclaw gateway status显示监听;失败则按网关 install Runbook修复。 - 账户对齐:记录 launchd plist 的
UserName与HOME;Chromium 安装与 skill 配置须同一用户。 - 资源与审计:建议 ≥8 GB 内存、20 GB 磁盘;ClawHub 拉取前完成第三方 Skill 审计。
openclaw gateway status
echo "USER=$USER HOME=$HOME"
4. skill-browser 参数表:headless、并行与超时
skill-browser 基于 Playwright 无头 Chromium。下表为评审骨架(升级后 openclaw doctor 复核)。
| 配置键 | 建议方向 | 常见误配反例 |
|---|---|---|
headless |
无桌面设 true | false 找不到 display |
parallel contexts |
起步 1–2,每 context 约 400–600 MB | 4+ 易 OOM 137 |
timeout-ms |
navigate 3–6 万 ms | 过短失败,过长占队列 |
blockedByDialog |
模态 dismiss 或 fail-fast | 未配 evaluate 挂死 |
npx puppeteer browsers install chromium
5. 七步 Runbook:账户 → 安装 → Chromium → 探针 → 冒烟 → launchd
- 账户与 HOME 对齐:核对 launchd plist 的
UserName;SSH 登录同一用户,echo $HOME与 plist 一致。 - 版本钉扎与 doctor:备份
openclaw.json,openclaw doctor;升级见五月版本线 Runbook。 - 安装 skill-browser:审计后
openclaw skills install skill-browser。 - 安装 Chromium:同账户
npx puppeteer browsers install chromium。 - 写参数:headless、parallel contexts、timeout-ms、blockedByDialog。
- 探针冒烟:18789 监听,固定 URL 快照,记 toolCallId。
- launchd 验收:launchctl 加载 plist,重启后复跑冒烟。
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.openclaw.gateway.plist
openclaw doctor
openclaw gateway status
6. 三条可引用判据:冷启动、RSS、快照成功率
- Chromium 冷启动:Mac 云首次 launch 宜低于 8 秒;超 15 秒先查磁盘 IO。
- 内存占用:单 context 冒烟后 Gateway 与 Chromium 合计宜低于可用内存 60%。
- 快照成功率:固定 URL 连跑 20 次应 ≥95%;低于 90% 先改模态策略。
7. 报错对照表与分层排障
「browser 工具失败」按层排查:Chromium 是否存在 → 同账户 HOME → headless/并行参数 → 模态与 timeout。每层对齐 JSONL toolCallId。
| 症状 | 根因 | 修复 |
|---|---|---|
| 找不到 Chromium | 未装或用户不一致 | 同用户重装 browser + doctor |
| Exit 137 | 并行过高/OOM | 降 parallel contexts |
| blockedByDialog | 模态未处理 | dismiss 或 fail-fast |
| evaluate 超时 | timeout 过短/反爬 | 调 timeout 或换 URL |
8. 业务实例:填表、监控与 IM 联动
客服页自动填表:Agent 经 Telegram 收工单,skill-browser 打开内部表单、填字段并截图回传;SSO 模态设 fail-fast。竞品监控:cron 固定 selector 快照写入 JSONL;parallel 保持 1 防 OOM。浏览后回复:用户 @bot 问文档,先 navigate 再摘要,适合需登录或动态渲染页。
9. FAQ
问:skill-browser 能与 Ollama 或多 Provider 共存吗? 可以;browser 子进程独立,建议在 tools.profile 设并发上限并观察 RSS。
问:升级到 v2026.5.x 后要重验吗? 须 doctor、同账户重装 Chromium、最小快照冒烟;见版本线 Runbook。
问:Mac 云 vs Linux VPS/Docker 怎么选? 7×24 与 Gateway 同机选 Mac 云;短时批处理可 Docker,但 OOM 与权限排障更长。
10. 结论
成功标准:skill-browser → 同账户 Chromium → 18789 快照可复现。笔记本与 WSL2 难 7×24;Linux VPS 上 Docker browser 常遇 /dev/shm 与 headless 检测,排障链更长。要把 browser skill 与 IM 通道并行常驻,租赁 VPSMAC Apple Silicon Mac 云节点把 Gateway、Chromium 缓存与 launchd 收进同一 Runbook 更稳妥;Docker 仍适短时批处理,但不替代生产无头 Mac 栈。见Docker 7×24与Skill 审计。