Playwright 适配器
wesgine 的 Playwright 适配器提供用户浏览器自动化能力,是三层浏览器架构的第二层。
定位
Playwright 适配器允许 Agent 操作用户已登录的浏览器——与 Headless Browser(匿名爬取)不同,它能利用用户在 SaaS 平台上的会话状态。
CellSpec 声明
CellSpec{
Playwright: &PlaywrightConfig{
// 模式与连接配置
},
}
运行模式
- User 模式:连接用户浏览器(通过浏览器扩展)
- Agent 在用户已登录的页面上操作
API 端点
GET /cells/{id}/playwright/status Playwright 连接状态
PUT /cells/{id}/playwright/token 更新扩展 auto-connect token
Cell Handle
cell.Playwright() → PlaywrightHandle
安全阀
browser_wait_for_user HITL 安全阀(AlwaysOn,Cell boot 无条件注册):
- 当 Agent 操作浏览器遇到需要人工介入的场景(如 CAPTCHA、支付确认)
- 自动暂停并请求用户确认
- 这是三层浏览器架构中唯一的 AlwaysOn HITL
与产品集成
| 产品 | 集成方式 |
|---|---|
| wesclaw 桌面 | Electron 内嵌,可选启用 |
| wescode | 通过 CellSpec.Playwright 声明 |
| wescraft | 按需启用(Electron 场景) |
| teleclaw | CellSpec 声明,sandbox 或 user+extension |
反模式
| 禁止 | 正确做法 |
|---|---|
| 手写 MCP Upsert 绕过 CellSpec | CellSpec.Playwright 声明式 |
| Headless 模式做用户登录操作 | Playwright user 模式 |
| 忽略 browser_wait_for_user 安全阀 | AlwaysOn,不可关闭 |