Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计异常

playwriterplaywriter 命令行

Agent Skill

playwriter 用于处理浏览器自动化、网页检查和页面信息提取,适合在 Codex、Claude、Cursor、Gemini CLI 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

10,825

周安装

465

GitHub Stars

88

下载量

3,794
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:playwriter(playwriter 命令行)
来源仓库:https://github.com/supercent-io/skills-template
仓库路径:skills/playwriter
安装命令:
npx skills add https://github.com/supercent-io/skills-template --skill playwriter
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/supercent-io/skills-template --skill playwriter

简介

浏览器自动化连接到您正在运行的 Chrome 会话,保留登录信息、cookie 和扩展程序。

  • 通过扩展程序连接到现有的 Chrome 浏览器,而不是生成无头实例,从而无需重新登录即可启用经过身份验证的工作流程
  • 通过 CLI 公开完整的 Playwright API(-e
  • flag)以及 Claude Desktop 和其他 AI 代理平台的 MCP 集成
  • 包括用于辅助功能快照、带有元素标签的屏幕截图、网络拦截和屏幕录制的内置帮助程序
  • 基于会话的状态管理允许跨顺序命令使用持久变量的多步骤工作流程
  • 支持通过具有令牌身份验证的隧道中继服务器进行远程浏览器控制

SKILL.md

playwriter - Playwright Browser Automation for AI Agents

Playwriter connects AI agents to your running Chrome browser instead of spawning a new headless instance. Your existing logins, cookies, extensions, and tab state are all preserved.

When to use this skill

  • Automate sites that require login (Gmail, GitHub, internal tools) without re-authenticating
  • Control your real browser tab with full Playwright API access
  • Run stateful automation that spans multiple steps (shopping carts, multi-step forms)
  • Use MCP integration for Claude Desktop / AI agent browser control
  • Record browser sessions or debug with CDP inspection
  • Remote browser automation via tunnels

vs. agent-browser: agent-browser spawns a fresh headless browser (isolated, CI-friendly). playwriter connects to your existing Chrome session (authenticated, stateful, with your extensions).

Installation

Step 1: Install Chrome Extension

Install the Playwriter Chrome extension from the Web Store (search "Playwriter MCP" or use extension ID jfeammnjpkecdekppnclgkkffahnhfhe).

After installing, click the extension icon on any tab you want to allow automation on. The icon turns green when a tab is enabled for control.

Step 2: Install CLI

npm install -g playwriter
# or run without installing:
npx playwriter@latest --help

The extension auto-starts a WebSocket relay server at localhost:19988.

Core workflow

Always follow the Observe → Act → Observe pattern:

# 1. Create a session
playwriter session new

# 2. Navigate and observe
playwriter -s 1 -e 'await page.goto("https://example.com")'
playwriter -s 1 -e 'await snapshot({ page })'

# 3. Interact based on snapshot output
playwriter -s 1 -e 'await page.locator("aria-ref=e5").click()'

# 4. Re-observe after action
playwriter -s 1 -e 'await snapshot({ page })'

Session management

# Create a new isolated stateful session
playwriter session new

# List all active sessions (shows browser, profile, state info)
playwriter session list

# Delete a session and clear its state
playwriter session delete <sessionId>

# Reset the CDP connection and clear execution environment
playwriter session reset <sessionId>

The -e / --eval flag

Execute arbitrary Playwright code in a session:

# Navigate to a URL
playwriter -s 1 -e 'await page.goto("https://github.com")'

# Fill a form field
playwriter -s 1 -e 'await page.fill("#search", "playwriter"); await page.keyboard.press("Enter")'

# Get accessibility snapshot (preferred over screenshots for text content)
playwriter -s 1 -e 'await snapshot({ page })'

# Take screenshot with visual accessibility labels (color-coded by element type)
playwriter -s 1 -e 'await screenshotWithAccessibilityLabels({ page })'

# Store state between calls (state object persists within session)
playwriter -s 1 -e 'state.url = page.url(); state.title = await page.title()'
playwriter -s 1 -e 'console.log(state.url, state.title)'

Quoting rules: Wrap code in single quotes. For multiline code, use heredoc:

playwriter -s 1 -e "$(cat <<'EOF'
const text = await page.textContent('h1');
state.heading = text;
await snapshot({ page });
EOF
)"

MCP Integration

Claude Desktop config (~/.claude/settings.json or Claude Desktop MCP settings)

{
  "mcpServers": {
    "playwriter": {
      "command": "npx",
      "args": ["-y", "playwriter@latest"]
    }
  }
}

Remote relay server

{
  "mcpServers": {
    "playwriter": {
      "command": "npx",
      "args": ["-y", "playwriter@latest"],
      "env": {
        "PLAYWRITER_HOST": "your-relay-host",
        "PLAYWRITER_TOKEN": "your-secret-token",
        "PLAYWRITER_SESSION": "1"
      }
    }
  }
}

MCP tools exposed

ToolDescription
executeRun arbitrary JavaScript Playwright code (code, timeout params)
resetRecreate CDP connection, clear state — use after connection failures

Built-in globals (in execute sandbox)

GlobalDescription
pageCurrent Playwright page
contextBrowser context
statePersistent object — survives multiple -e calls in same session
snapshot({page})Accessibility tree as text (token-efficient)
screenshotWithAccessibilityLabels({page})Screenshot with color-coded element markers
getPageMarkdown()Article text via Mozilla Readability
waitForPageLoad()Smart load detection
getLatestLogs()Browser console errors/logs
getCleanHTML()Cleaned DOM HTML
getLocatorStringForElement()Get selector for a DOM element
getReactSource()React component source tree

Accessibility labeling

screenshotWithAccessibilityLabels({page}) overlays color-coded markers on interactive elements:

ColorElement type
YellowLinks
OrangeButtons
CoralInputs
PinkCheckboxes
PeachSliders

Click a labeled element using aria-ref:

playwriter -s 1 -e 'await page.locator("aria-ref=e5").click()'

Network interception and state persistence

# Intercept network requests
playwriter -s 1 -e 'state.requests = []; page.on("request", r => state.requests.push(r.url()))'

# Check collected requests later
playwriter -s 1 -e 'console.log(state.requests.slice(-5).join("\n"))'

# Screen recording
playwriter -s 1 -e 'await recording.start()'
# ... do actions ...
playwriter -s 1 -e 'const video = await recording.stop(); state.video = video'

Remote access

Control Chrome on a remote machine via tunnel:

# On the machine with Chrome:
playwriter serve --token my-secret --replace

# From agent machine:
playwriter --host <ip-or-hostname> --token my-secret -s 1 -e 'await page.goto("https://example.com")'

Best practices

  • Observe → Act → Observe: always call snapshot({page}) before and after each action
  • Prefer snapshot() over screenshots for text inspection (fewer tokens, faster)
  • Never chain actions blindly — verify state between steps
  • Use stable selectors: prefer aria-ref, data-testid, or accessible roles
  • Store context in state: avoid repeated navigation by persisting page references
  • Use reset on failures: CDP disconnects recover cleanly with playwriter session reset

Troubleshooting

IssueSolution
Extension not connectingClick extension icon on the tab; icon must be green
connection refused:19988Extension auto-starts server; check Chrome is running with extension installed
Code execution timeoutIncrease with --timeout 30000 flag
Click fails silentlyUse snapshot({page}) — a modal likely intercepts the click
Stale sessionRun playwriter session reset <id> to restore CDP connection
Remote access failingConfirm playwriter serve is running and token matches

References

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.03%
按下载量换算1,291

Claude

27.22%
按下载量换算1,033

Cursor

19.7%
按下载量换算747

Gemini CLI

9.19%
按下载量换算349

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

未通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills