2026年 OpenClaw 瀏覽器自動化(Playwright)在獨佔遠端 Mac 無頭上:skill-browser 安裝、無頭參數與常見報錯的可復現清單 + FAQ
在獨佔遠端 Mac上跑 OpenClaw 的瀏覽器類技能(常見為 skill-browser,底層以 Playwright 驅動 Chromium/WebKit),最容易踩坑的不是腳本本身,而是無頭環境沒有互動式圖形工作階段、瀏覽器二進位與快取目錄的真源,以及與 Gateway/launchd 不同的 PATH。本文整理安裝順序、建議無頭參數與「現象→懷疑→動作」表,並銜接企業 SSH 治理與 CI 類長任務的延伸閱讀。
1. 先把邊界畫清:獨佔遠端 Mac × 無頭 × 瀏覽器自動化
獨佔代表沒有同機多租戶爭用,但仍可能是純 SSH、無人登入 GUI的機器——Playwright 需要的瀏覽器與字型快取,必須在實際執行 OpenClaw 的使用者家目錄下完成,而不是你筆電上的本機路徑。若同時在該節點跑 CI 或長任務 Runner,連線與資源模型可對照 2026年 iOS/macOS CI:`act` 工作流程預演與獨享遠端 Mac 自託管 GitHub Actions Runner 對比——簽名、Apple Silicon 與排錯 FAQ 決策矩陣,避免把「瀏覽器技能」與「xcodebuild 長任務」混在同一套環境假設裡。
企業若已導入 SSH-CA 或按機金鑰邊界,請一併確認自動化帳戶能否在無互動下讀取必要憑證目錄(與人類操作員登入後不同),可延伸閱讀 2026年企業獨享遠端 Mac 資源池:SSH 憑證(SSH-CA)與按機金鑰的權限邊界、金鑰輪換與稽核對比決策矩陣 + FAQ 中的權限敘述,避免瀏覽器技能在「本機測試 OK、排程/Gateway 下失敗」。
2. skill-browser:安裝順序與版本對齊
實務上建議固定順序,並把版本寫進 Runbook:
- Node/套件管理器:確認 Gateway 或 Agent 實際使用的
node與npm/pnpm路徑(launchd plist 內建議寫絕對路徑)。 - OpenClaw CLI 與技能市集:依官方文件啟用
skill-browser(或對應瀏覽器技能套件名稱),避免「手動 clone 技能但沒註冊到 OpenClaw 技能索引」。 - Playwright 瀏覽器下載:在同一使用者、同一
HOME下執行npx playwright install(或文件指定的 channel)。無頭伺服器常見錯誤是管理員用 sudo 裝了瀏覽器二進位,執行技能時卻是另一個使用者。 - 驗證:以最小腳本啟動
chromium.launch({ headless: true })並開啟about:blank,確認在與 OpenClaw 相同的環境可重現。
3. 無頭參數與 macOS 建議基線
下列為常見「可復現」組合(實際鍵名請以你使用的技能包/包裝層為準,重點是概念對齊):
| 項目 | 建議 | 備註 |
|---|---|---|
| Headless | headless: true 或新版 headless: "shell"(依 Playwright 版本) |
若站點偵測 headless,可再評估 UA/viewport,但先確保能啟動 |
| Args | --no-sandbox 僅在隔離可信時;優先縮小權限而非一律關閉沙箱 |
容器或特殊硬化環境才常見需要;macOS 裸機通常先檢查是否找錯 executable |
| 目錄 | 固定 PLAYWRIGHT_BROWSERS_PATH 或預設使用者快取 |
多帳戶/多節點時避免 silent fallback 到下載頁 |
| 逾時 | 瀏覽器啟動、導覽、選擇器等待分開設定 | 無頭機器網路與 DNS 問題常以 timeout 表現,需與「真的找不到元素」區分 |
4. 常見報錯:可復現清單(現象 → 懷疑 → 動作)
| 現象/日誌片段 | 優先懷疑 | 建議動作 |
|---|---|---|
| Executable doesn't exist/browserType.launch 失敗 | 未在執行身分下執行 playwright install |
切換為 OpenClaw 相同使用者重跑安裝;確認 HOME 與 PATH |
| Browser closed/Target closed | 程序被 OOM 殺掉、或沙箱/權限導致崩潰 | 查同一時間系統記憶體與日誌;縮短單次任務;必要時分拆頁籤/流程 |
| Navigation timeout/net::ERR_* | 無頭環境 DNS、代理、TLS 攔截與本機不同 | 在節點上用 curl -v 對照;檢查是否需要系統代理或私有 CA |
| SSH 手動 OK、Gateway/排程失敗 | 環境變數與 PATH 不一致 | 在 plist 或技能啟動腳本中明列變數;避免只寫在 .zshrc |
| 權限/鑰匙圈相關(較少見於純網頁抓取) | 技能若需客戶端憑證或本機檔案上傳 | 改為非互動憑證路徑或 Secrets 注入;避免依賴 GUI 解鎖 |
5. 與 OpenClaw Gateway/排程的銜接提醒
瀏覽器技能往往啟動成本高、記憶體峰值明顯。若與定時任務、模型推論或閘道長連線同機,請預留 CPU/RAM 余量,並避免同一時間啟動過多 Chromium。Gateway 生命週期與 OPENCLAW_* 真源議題可與其他無頭 Runbook 文章交叉索引(例如定時任務與 launchd 對照篇),保持「誰拉起瀏覽器、誰繼承環境」一致。
6. FAQ
問:一定要用 Chromium 嗎?
答:視技能實作而定;Playwright 亦支援 WebKit/Firefox。請以技能文件為準,並在 Runbook 寫死 channel,避免升級後默默換引擎。
問:無頭會被目標站擋嗎?
答:有可能。技術上可調整 UA、viewport、等待策略,但需符合站方 ToS 與內部合規;生產環境建議優先使用官方 API 或授權資料源。
問:可以在 Docker 裡跑嗎?
答:macOS 上容器化瀏覽器與 Linux 路徑不同;獨佔遠端 Mac 多數情境直接裸機跑 Playwright 較少坑。若強制容器化,請單獨驗證映像與權限模型。
問:升級 OpenClaw 後技能突然壞了?
答:先跑 openclaw doctor,再比對技能版本與 Playwright 相容矩陣;大版本升級建議在維護窗內重裝瀏覽器二進位。
在 Mac mini 上跑瀏覽器自動化,為什麼更省心?
Playwright 無頭 workload 同時吃 CPU 突發與記憶體頻寬,Apple Silicon 的統一記憶體架構在相同預算下通常比傳統小主機從容;Mac mini 待機功耗極低,適合當 24×7 的「自動化邊緣節點」。macOS 原生 Unix 工具鏈讓 SSH、腳本與權限稽核路徑單一,Gatekeeper、SIP、FileVault 也讓長開主機的基線強化比多數消費級平台單純。
若你希望把本文的 skill-browser 與 Playwright 流程跑在安靜、穩定、長期線上的硬體上,Mac mini M4 仍是極具性價比的切入點——現在即可從首頁了解方案,讓瀏覽器自動化在獨佔遠端環境真正可復現。
若你希望從首頁直接對照租賃或方案,可 前往 SSHMac 首頁查看 Mac mini 相關方案。