LIFEHUBBER
Choose theme

AI Resources

Page Agent

GitHub stars: 29.3K GitHub forks: 2.6K Declared license: MIT: MIT Last pushed September 29, 2026: Pushed 2d ago
Stats from GitHub

Page Agent is a JavaScript in-page GUI agent published under Alibaba's GitHub organization for controlling web interfaces through natural language.

Its core package reads page structure as text and acts on interface elements. Builders can also connect their own business actions, inspect extracted text before model requests, or add an optional extension for tasks across tabs. Use this as a first read, not a recommendation. Open the original project before trusting details like terms, limits, privacy, cost, setup, or safety.

What it is

An in-page GUI agent

Page Agent is positioned as a JavaScript agent that lives inside the web page itself, letting a user or connected system trigger interface actions through natural-language instructions.

Why it stands out

Text-based interaction inside the page

The core JavaScript package uses the DOM rather than screenshots. The README says this path does not require a browser extension, Python, or a headless browser; the optional extension adds broader browser access.

Availability

Demo or your own model connection

The README labels the demo script's testing model API for technical evaluation only. The npm example instead configures a model name, API endpoint, and key; extension and MCP documentation cover additional entry points.

Why it matters

What makes it useful

A form or admin screen may already contain the controls a task needs. Page Agent lets a builder add natural-language operation within that interface: the project's examples include form filling and SaaS copilots, rather than requiring a separate desktop-control application.

Notable points

What stands out

The data-masking documentation exposes a transformPageContent hook after DOM extraction and simplification, before that page text goes to the model. Its examples edit phone numbers and email addresses in the extracted text. This gives builders a specific place to inspect or change that text; the example patterns do not establish that every sensitive value is removed.

Before using

What to review

The demo script connects to the project's testing model API. The configurable package sends task instructions and simplified page content to the selected model endpoint; running JavaScript in the page does not make that model connection local.

The extension's optional page-exposure interface requires a matching token in the extension and the trusted application. Its documentation gives this interface broader page, navigation, and multi-tab access than the core in-page package.

Open upstream report #644 alleges API-key exposure through the extension's page-message interface. It is a reporter finding, not an exploit reproduced by LifeHubber; the report remains open.

The execute_javascript tool is experimental and disabled unless experimentalScriptExecutionTool is enabled. Open upstream report #643 concerns prompt injection when that option is enabled.

Reader fit

Who may find it relevant

Product builders who can embed JavaScript in their own interface and expose selected business actions through custom tools.

For a task that must move between tabs, the optional extension is a separate integration path; its page-exposure API can include the initial tab or experimentally include all unpinned tabs in the window.

The core package is a browser-interface component, not an offline model or a server-side scraping service.

Editorial note

Why LifeHubber lists it

For asynchronous business tools, the custom-tool docs require honoring ctx.signal; their cart and search examples pass that signal to fetch. This is a separate integration task from defining the tool's inputs; it is not a promise that stopping the agent reverses an action already completed.

Source links

Source materials

Reader note

Before relying on this entry

LifeHubber lists entries to help readers inspect AI projects, not to endorse them or prove they are safe, suitable, accurate, maintained, or right for a specific use. We do not verify every entry in depth. Before relying on anything listed, review the original materials, terms, privacy practices, limits, and risks that matter for your situation.

What to explore next

Decide how much of the browser an agent should control.

An in-page agent is one design choice. Compare broader browser-control patterns and the review boundaries that matter before real accounts or forms are involved.

Advertisements

Advertisements

For project maintainers

Listed here? You can use the badge.

If you maintain a project with a current LifeHubber listing, you may add the optional “Listed on LifeHubber AI Resources” badge to its README, docs, or website. No introduction or permission request is needed.

See what’s moving