TopRank Skills

Home / Claw Skills / 浏览器自动化 / browser-setup
Official OpenClaw rules 36%

browser-setup

Install and configure headless Chrome for OpenClaw browser tool in environments without root/sudo access (cloud containers, VPS, sandboxed hosts). Use when: (1) browser tool fails with No supported browser found, (2) Chrome crashes with Page crashed or missing library errors, (3) setting up browser automation on a fresh server or container, (4) user asks to install or fix the browser for OpenClaw. NOT for macOS/Windows desktops with Chrome already installed, or Chrome extension relay setup.

Stars

0

Installs

0

Status

ACTIVE

Visibility

PUBLIC

安装方式

直接复制以下提示词,发送给你的 AI 助手即可完成安装。

请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 browser-setup 技能。 若已安装,则直接安装 browser-setup 技能。

Overview

Skill Key
huangdawei/browser-setup
Author
huangdawei
Source Repo
openclaw/skills
Version
-
Source Path
skills/huangdawei/browser-setup
Latest Commit SHA
84ae1d45c9ee90cb23c03a9860ee9d70728c1a40

Extracted Content

SKILL.md excerpt

# Browser Setup (No-Root Linux)

Install headless Google Chrome for OpenClaw's `browser` tool on Linux without root access.

## When to Use

- `browser start` fails with "No supported browser found"
- Chrome starts but pages crash ("Page crashed", "Target page closed")
- Running on a cloud container, VPS, or sandboxed environment without `sudo`

## Quick Start

```bash
bash scripts/install-browser.sh
```

The script downloads Chrome, extracts ~40 shared library packages, installs Liberation fonts, creates a wrapper script, and verifies the installation. Takes ~2 minutes.

Then configure OpenClaw:

```bash
openclaw config set browser.executablePath "$HOME/local-libs/chrome-wrapper.sh"
openclaw config set browser.headless true
openclaw config set browser.noSandbox true
openclaw config set browser.attachOnly true
```

Set the CDP port for the openclaw profile (edit `~/data/openclaw.json` or equivalent config):

```json
{
  "browser": {
    "executablePath": "~/local-libs/chrome-wrapper.sh",
    "headless": true,
    "noSandbox": true,
    "attachOnly": true,
    "profiles": {
      "openclaw": { "cdpPort": 18800, "color": "#FF4500" }
    }
  }
}
```

## Critical: attachOnly Must Be true

OpenClaw has two internal paths for browser operations:

- **CDP path** (start/stop/tabs): communicates directly with Chrome's CDP port
- **Playwright path** (navigate/snapshot/act): uses `playwright-core` bundled with OpenClaw

When `attachOnly: false`, Playwright calls `launchOpenClawChrome()` which checks `ensurePortAvailable(cdpPort)`. Since Chrome is already listening on that port, it throws `PortInUseError` on every navigate/snapshot/act call.

When `attachOnly: true`, Playwright uses `connectOverCDP()` to attach to the running Chrome instance. No port conflict.

**Always set `attachOnly: true` when using a wrapper script or manually-started Chrome.**

## Usage Flow

### Starting Chrome

Chrome must be started before OpenClaw can use it. Start it manually:

```bash
~/local-libs/c...

Related Claw Skills