browser-profile-guide

$npx mdskill add aAAaqwq/AGI-Super-Team/browser-profile-guide

Select the right browser profile for automation tasks

  • Handles clean, logged-in, and sandboxed browser environments
  • Integrates with Playwright, Chrome CDP, and Docker
  • Reads ~/.openclaw/openclaw.json for profile configuration
  • Executes actions using specific profile parameters

SKILL.md

.github/skills/browser-profile-guideView on GitHub ↗
---
name: browser-profile-guide
description: OpenClaw Browser 配置文件系统完全指南 — 哪个 profile 何时用、如何选
trigger: browser profile / 浏览器配置 / openclaw browser / browser profile guide
---

# OpenClaw Browser Profile 完整指南

## 三种 Profile 用途速查

| Profile | 驱动 | 登录态 | 何时用 | 是否需要手动开浏览器 |
|---------|------|--------|--------|-------------------|
| `openclaw`(默认) | Playwright + Chrome CDP | ❌ 全新干净浏览器 | 自动化、批量操作、不需要登录 | ❌ 自动启动 |
| `user` | Playwright + Chrome CDP | ✅ 复用你已有的 Chrome 登录态 | 需要 GitHub/邮箱等已登录网站 | ✅ 需先手动开 Chrome |
| `sandbox` | Docker 内 Playwright | ❌ 隔离容器内全新浏览器 | 安全敏感操作 | ❌ 自动启动 |

## 你的当前配置(~/.openclaw/openclaw.json)

```json
"browser": {
  "headless": false,
  "noSandbox": true,
  "profiles": {
    "user": {
      "attachOnly": true,    // 只连接已开的浏览器,不自动启动
      "cdpPort": 9222,       // Chrome 远程调试端口
      "driver": "openclaw",
      "color": "#00AA00"
    }
  }
}
```

**注意**:`openclaw` profile 没有显式定义,但是**默认 profile**,OpenClaw 会自动创建。

## 默认 Profile:`openclaw`(最常用)

```javascript
browser(action="open", profile="openclaw", url="https://github.com")
browser(action="snapshot", profile="openclaw")
browser(action="act", profile="openclaw", ref="e1", kind="click")
```

- OpenClaw 自动管理浏览器生命周期
- 每次启动是干净的浏览器环境
- CDP 端口:18800(`openclaw profile`)

## `user` Profile — 复用已有登录态

**前置条件**:你必须先手动打开 Chrome 并启用远程调试

```bash
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/Library/Application Support/Google/Chrome"

# Linux
google-chrome --remote-debugging-port=9222
```

**你的配置里 `user` profile 已设为 `attachOnly: true`**,意味着:
- 如果 Chrome 没开 → 不会自动启动 → 会报错
- Chrome 开着且端口 9222 在监听 → 自动连接

```javascript
// 需要登录 GitHub?用 user profile
browser(action="open", profile="user", url="https://github.com")
browser(action="snapshot", profile="user")
```

## 统一规则(你们团队所有人遵守)

```
任务需要登录网站(GitHub/邮箱/社交媒体)
  → profile="user" + 先手动开 Chrome --remote-debugging-port=9222

普通自动化、批量操作、无需登录
  → profile="openclaw"(默认,可省略 profile 参数)
```

## CDP 直连模式(更快)

当前配置已有 `chromeCdp` 模式(`browser.chromeCdp: true`),这让 OpenClaw 直接用 Chrome DevTools Protocol,绕过 Playwright 的额外开销。

## 常用操作示例

```javascript
// 1. 普通自动化(用默认 openclaw profile)
browser(action="open", url="https://example.com")
browser(action="snapshot")

// 2. 需要登录的网站
browser(action="open", profile="user", url="https://github.com/settings/applications")
browser(action="snapshot")

// 3. 截图
browser(action="screenshot", fullPage=true)

// 4. 复杂交互(先用 snapshot 获取 refs)
browser(action="snapshot")
// → 拿到 @e1, @e2 等 refs
browser(action="act", ref="e1", kind="click")
browser(action="act", ref="e3", kind="type", text="hello world")

// 5. PDF 导出
browser(action="pdf")
```

## 故障排除

| 问题 | 解决 |
|------|------|
| `profile="user"` 报错 "browser not running" | 先手动开 Chrome:`google-chrome --remote-debugging-port=9222` |
| `profile="openclaw"` 报错 "CDP not reachable" | 重启 Gateway:`openclaw gateway restart` |
| 浏览器开着但连不上 | 检查端口:`lsof -i :9222`,确认是 Chrome 在监听 |
| 截图是空白页 | 加 `loadState="networkidle"` 等待网络空闲 |

More from aAAaqwq/AGI-Super-Team

SkillDescription
a-fund-monitor监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。
add-leadAdd company/person/relationship to CRM
ads-agentAI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов.
afrexai-compliance-auditRun internal compliance audits against major governance and security
afrexai-personal-financeComplete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.
after-salesUse when managing post-purchase experience, building customer loyalty, or increasing repeat purchases
agent-contactsAI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts.
agent-model-switcher批量查看和切换子 agent 的模型配置,用于统一调整多 agent 的 provider/model 设置。
agent-patternsFormat SPAWN REQUEST messages to launch parallel agents, generate structured agent status reports, and define communication protocols within the sprint system. Use when the user needs to coordinate multiple agents, format spawn requests, produce agent reports, or establish inter-agent communication patterns.
agent-task-confirmUse when confirming whether a dispatched agent task was actually received, activated, and progressing after sessions_send or other task handoff actions.