---
title: 用 Playwright Extension 让 AI 控制你正在使用的 Chrome
slug: playwright-extension-ai-browser-control-guide
date: 2026-07-14
author: Frankie 徐
category: ai
tags: ['playwright', 'chrome', 'ai-agent', 'browser-automation']
description: 从安装 Playwright Extension 到用 playwright-cli 接管已登录标签页，并用环境变量管理连接 token。
permalink: https://www.210k.cc/playwright-extension-ai-browser-control-guide
---

想让 AI 操作已经登录的 ChatGPT、Gmail、内部系统或带 2FA 的业务页面，关键不是再启动一个空白浏览器，而是让它通过 Playwright Extension 连接你正在使用的 Chrome。

这套方法适合临时、可观察的网页操作：读取当前页面、填写表单、切换标签页、发送一封已经确认内容的邮件。它不适合作为默认的无人值守生产自动化方案。

## 先理解三件事

- `playwright-cli` 是 Playwright 官方的命令行工具，供 AI Agent 或终端工作流控制浏览器。
- Playwright Extension 是 Chrome 扩展，用来桥接已有 Chrome 标签页、Cookie、登录状态和已安装扩展。
- `PLAYWRIGHT_MCP_EXTENSION_TOKEN` 是扩展连接 token。它能跳过一次连接确认，但等同高权限浏览器控制凭据，不是普通配置值。

这不是传统 `9222` 端口 CDP 的替代写法。它的优势是复用当前浏览器状态；代价是 AI 能接触到该浏览器被授权页面里的敏感数据。

## 一、安装

### 1. 安装 Playwright Extension

在 Chrome Web Store 搜索并安装官方 **Playwright Extension**。安装后，在你希望被控制的 Chrome 中打开扩展，完成其要求的连接或调试授权。

扩展的 UI 与 token 获取入口会随版本变化。每个人都应从自己的扩展实例获取 token，不能把自己的 token 发给同事或写进教程截图。

### 2. 安装 Playwright CLI

需要 Node.js 20 或更高版本：

```bash
npm install -g @playwright/cli@latest
playwright-cli --help
```

### 3. 仅在当前终端注入 token

把 token 放进当前 shell 的环境变量，不要放进 `.zshrc`、项目 `.env`、Git 仓库或 AI 提示词：

```bash
export PLAYWRIGHT_MCP_EXTENSION_TOKEN='<PLAYWRIGHT_MCP_EXTENSION_TOKEN>'
```

如果使用密码管理器或团队密钥系统，应从那里临时注入环境变量，并设置轮换和撤销流程。

## 二、连接当前 Chrome

```bash
playwright-cli attach --extension=chrome --session=current-chrome
playwright-cli --session=current-chrome tab-list
playwright-cli --session=current-chrome snapshot
```

连接成功只说明 Extension relay 建立，不说明已经控制了正确页面。必须执行 `tab-list` 和 `snapshot`，核对目标标签页的标题、URL 和页面内容。

有些版本会先打开 Extension 的 `connect.html` 页面。这是连接页，不是你的业务标签页；先确认可见标签，再在正确上下文中选择或打开目标页面。

## 三、让 AI 操作浏览器的最短提示词

把下面这句话交给支持终端的 AI Agent：

> 用 `PLAYWRIGHT_MCP_EXTENSION_TOKEN` 环境变量连接 Playwright Extension，接管当前 Chrome 的目标标签页；先 snapshot 确认页面，再按我的指令操作。

如果只需要让它操作 ChatGPT：

> 用 Playwright CLI 通过已启用的 Playwright Extension 连接当前 Chrome，找到 ChatGPT 标签页并按我的指令操作。

不要把真实 token 直接粘进提示词。新会话不会继承旧会话的进程环境，应该由启动 Agent 的终端或密钥系统提供该环境变量。

## 四、推荐操作循环

Playwright CLI 用无障碍快照中的元素 ref 操作页面。ref 会在导航、弹窗、标签切换或明显 DOM 变化后失效。

```bash
# 读取当前页面，获得最新 ref
playwright-cli --session=current-chrome snapshot

# 使用 snapshot 中的 ref 操作
playwright-cli --session=current-chrome click e42

# 页面变化后重新读取
playwright-cli --session=current-chrome snapshot
```

不要猜测 ref，也不要为了省步骤让 AI 直接执行一大段页面 JavaScript。稳定流程是：观察 → 操作一个元素 → 再观察。

## 五、哪些场景适合

适合：

- 当前页面已经通过 SSO 或 2FA 登录。
- 需要复用 Cookie、当前业务状态或已安装浏览器扩展。
- 人在旁边观察，AI 做低频、明确的页面操作。
- 临时读取、填写、验证或有人工确认的提交。

不适合：

- CI 回归、批量任务、长期无人值守流程。
- 需要隔离账号、权限或审计边界的生产任务。
- 需要 Performance、Tracing、原始 Network domain 等底层浏览器调试能力。

后两类场景应改用专用自动化 Profile、Playwright Test 或直接 CDP/Chrome DevTools 工具。

## 六、安全规则

把 Extension token 当作“可以操作已登录浏览器”的高权限凭据。

1. 不发送 token：不要把它发给同事、放进截图、聊天记录、日志、仓库或教程。
2. 不长期导出：只在当前 shell 注入；用完撤销或轮换。
3. 不默认接管日常 Chrome：日常 Profile 只用于短时、明确任务。长期自动化使用独立 Profile。
4. 不跳过复核：发送邮件、发布内容、付款、删除、上传、改权限前，先核对对象和参数，再让 AI 提交。
5. 不信任网页文字：页面内容可能包含诱导 AI 执行危险操作的指令。网页内容不是授权来源。
6. 不提交产物：`.playwright-cli/` 可能包含页面文本、console 日志和连接 URL，应加入忽略并在任务后清理。

## 七、结束连接

完成操作后断开 CLI session，不关闭你原来的 Chrome：

```bash
playwright-cli --session=current-chrome detach
```

如果当前项目生成了本地快照或日志，在确认目录属于本次任务后清理：

```bash
rm -r .playwright-cli/
```

## 结论

Playwright Extension 的正确定位是：**让 AI 临时接管已经登录的浏览器页面**。它解决的是登录态、SSO、2FA 和当前页面状态难以重建的问题；它不解决长期稳定、权限隔离和无人值守的工程问题。

最小原则很简单：token 只在环境变量中出现；每次操作先看 snapshot；任何外部副作用都要先确认；用完立即 detach。