@jonghyun/pi-playwright-browser

Playwright browser automation extension for pi - runs Chromium in Microsoft Docker container in headless mode

Packages

Package details

extension

Install @jonghyun/pi-playwright-browser from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@jonghyun/pi-playwright-browser
Package
@jonghyun/pi-playwright-browser
Version
1.0.1
Published
May 14, 2026
Downloads
30/mo · 6/wk
Author
jonghyun
License
MIT
Types
extension
Size
27.3 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Playwright Browser Extension

Microsoft Docker 이미지를 사용한 headless Playwright 브라우저 자동화 Extension.

Features

  • Microsoft Docker 이미지 (mcr.microsoft.com/playwright:v1.50.0-jammy) 사용
  • Headless mode - 모든 브라우저 동작은 headless 모드로 실행
  • Docker isolation - 브라우저가 컨테이너 안에서 격리되어 실행됨

Tools

Tool Description
browser_navigate URL로 네비게이션
browser_screenshot 페이지 또는 요소 스크린샷
browser_click CSS 셀렉터로 요소 클릭
browser_type CSS 셀렉터로 입력 요소에 텍스트 입력
browser_select 드롭다운 옵션 선택
browser_evaluate 페이지 컨텍스트에서 JavaScript 실행
browser_content HTML 소스 또는 가시 텍스트 가져오기
browser_wait 셀렉터 또는 시간대기
browser_script 임의 Playwright 스크립트 실행
browser_close 브라우저 세션 리셋

Commands

/playwright status    - 컨테이너 상태 확인
/playwright start     - 컨테이너 시작
/playwright stop      - 컨테이너 중지
/playwright restart   - 컨테이너 재시작
/playwright logs      - 컨테이너 로그 확인

Requirements

  • Docker Desktop 또는 Docker Engine 설치 필요
  • docker CLI 가 PATH 에 등록되어 있어야 함

Usage Example

User: https://example.com 에 접속하고 스크린샷을 찍어줘

Assistant:
1. browser_navigate(url="https://example.com") 호출
2. browser_screenshot() 호출

Architecture

┌─────────────┐         ┌──────────────────────────────┐
│   pi (host) │         │  Docker Container             │
│             │  exec   │  mcr.microsoft.com/playwright  │
│  Extension  ├────────►│                                │
│             │         │  ┌────────────────────────┐   │
│             │         │  │  Chromium (headless)    │   │
│             │         │  └────────────────────────┘   │
│             │         │                                │
└─────────────┘         │  Shared Volume (results)      │
                        └──────────────────────────────┘

각 브라우저 명령은 독립적인 Playwright 세션을 실행하며, 페이지 상태(URL)는 shared volume 을 통해 세션 간 유지됩니다.