Skip to content

Runtime Dependencies: On-Demand Playwright Installation #15959

@gsquared94

Description

@gsquared94

Runtime Dependencies: On-Demand Playwright Installation

Summary

Install Playwright and Chromium to ~/.gemini/dependencies/ on first browser
task invocation.

Description

Browser automation requires ~200MB of dependencies. These should not be bundled
with the core package.

The installation flow:

  1. Check ~/.gemini/dependencies/ for existing Playwright
  2. If missing, inform user of disk footprint before installing
  3. Run npm install playwright@<pinned-version> and
    npx playwright install chromium
  4. Show progress during installation

Requires:

  • Add getGlobalDependenciesDir() to
    storage.ts
  • Add getFreePort() utility for CDP connection
  • Installation logic in BrowserManager class

Acceptance Criteria

  • Dependencies installed to managed directory on first use
  • User informed of disk footprint before download
  • Version pinning for reproducibility
  • Graceful error when offline or npm unavailable

Metadata

Metadata

Assignees

Labels

area/platformIssues related to Build infra, Release mgmt, Testing, Eval infra, Capacity, Quota mgmtkind/enhancementpriority/p2Important but can be addressed in a future release.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions