Playwright 的「无头」指不创建可见窗口,但仍需要本机可执行的 Chromium/WebKit/Firefox 二进制与缓存目录;独占远程 Mac 上若多个自动化任务共用同一用户,还可能出现锁文件、临时目录与下载缓存互相踩踏。建议把浏览器自动化与 CI 构建、通用 Shell 任务分到不同 macOS 用户或至少不同 HOME 前缀,并与无头 SSH 运维基线对齐,可参考 远程 Mac mini 无头 CI 实验室的避坑指南。
- 节点与用户:确认运行 Gateway / worker 的账户与 SSH 维护账户是否一致;若不一致,分别在两者下验证
node -v、npm -v,避免「交互会话有 Node、launchd 没有」。
- 安装技能:通过 OpenClaw 官方路径安装
skill-browser(或团队 Registry 中的同名技能),并在安装日志里记录版本与校验和。
- Playwright 浏览器:在同一账户、同一
HOME 下执行浏览器下载(常见为 npx playwright install chromium 或项目文档指定子集);下载完成后用最小脚本打开 about:blank 做烟测。
- 权限与网络:若站点依赖客户端证书、系统钥匙串或企业代理,先在无头前用受控 URL 验证 TLS 与代理变量(
HTTPS_PROXY 等)是否在 launchd 环境中可见。需要隧道化管控流量时,可对照 OpenClaw 与 SSH 隧道的安全部署实践。
使用 Playwright 的
headless: true(或技能暴露的等价项);需要排查渲染问题时再临时改为有头并配合虚拟显示方案。 按需加入
--no-sandbox、
--disable-dev-shm-usage、
--disable-gpu 等;在 Apple Silicon 上仍以实测为准,避免复制 Linux 容器的参数堆砌。
当前用户未安装 Playwright 浏览器,或
PLAYWRIGHT_BROWSERS_PATH 指向不存在路径。 在运行技能的用户下重装浏览器包;打印环境变量与
~/.cache 实际目录是否一致。 用
curl -I 与同机路由对比;临时提高超时并抓取 HAR;检查是否需要固定出口 IP。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/257190.html