Skip to content

feat: add browser automation tool via Playwright#44

Open
NSIETeam wants to merge 1 commit into
OrionStarAI:opensourcefrom
NSIETeam:feat/web-automation-tool
Open

feat: add browser automation tool via Playwright#44
NSIETeam wants to merge 1 commit into
OrionStarAI:opensourcefrom
NSIETeam:feat/web-automation-tool

Conversation

@NSIETeam

Copy link
Copy Markdown

What

Adds a new web_automation tool with 9 browser automation actions via Playwright.

Actions

Action Description
navigate Navigate to URL, wait for network idle
fill Fill a form field with text (CSS selector)
click Click an element, optionally wait for navigation
scrape Extract text/html/href/src from element
extract_table Extract table data as 2D array
screenshot Capture viewport or full-page screenshot
run_script Execute custom JavaScript on page
wait Wait for element to appear
list_tabs List all open browser tabs

Features

  • Session persistence: Saves/restores browser state (cookies, localStorage) between actions via storageState
  • Cross-platform: Works identically on macOS, Windows, Linux via Playwright
  • Dependency check: require.resolve('playwright') before execution, with clear install instructions
  • Safety: All actions require user confirmation (touches external systems); YOLO mode skips

Dependencies

  • playwright npm package
  • npx playwright install chromium (one-time browser download)

Origin

Ported from Otto project. Adapted for EasyCode:

  • Removed ProcessGuard dependency, uses child_process.exec
  • Removed DoctorService dependency, uses inline require.resolve
  • Same API surface and behavior

Testing

  • TypeScript compiles
  • Integration tests (requires Playwright + browser)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant