Simon 4f6249a252 feat!: require user to provide LLM api. do not fallback to demo LLM
BREAKING CHANGE: LLM API will be required for agent constructor
2026-01-14 18:49:23 +08:00
2025-10-11 15:29:03 +08:00
2025-10-11 15:29:03 +08:00
2026-01-11 01:04:43 +08:00
2025-09-23 17:30:17 +08:00

PageAgent 🤖🪄

banner

npm version License: MIT TypeScript Downloads Bundle Size GitHub stars

The GUI Agent Living in Your Webpage. Control web interfaces with natural language.

🌐 English | 中文

👉 🚀 Demo | 📖 Documentation


Features

  • 🎯 Easy Integration - Transform your webpage into an agent with a single script tag.
  • 🔐 Client-Side Processing
  • 🧠 DOM Extraction
  • 💬 Natural Language Interface
  • 🎨 UI with Human in the loop

🗺️ Roadmap

👉 Roadmap

🚀 Quick Start

Quick Try (Demo CDN)

Fastest way to try PageAgent:

<script src="https://cdn.jsdelivr.net/npm/@page-agent/cdn/dist/page-agent.demo.js" crossorigin="true"></script>

⚠️ For technical evaluation only. Demo model has rate limits and usage restrictions. Use NPM for production.

Location URL
Global https://cdn.jsdelivr.net/npm/@page-agent/cdn/dist/page-agent.demo.js
China https://registry.npmmirror.com/@page-agent/cdn/latest/files/dist/page-agent.demo.js
npm install page-agent
import { PageAgent } from 'page-agent'

const agent = new PageAgent({
	model: 'deepseek-chat',
	baseURL: 'https://api.deepseek.com',
	apiKey: 'YOUR_API_KEY',
	language: 'en-US',
})

await agent.execute('Click the login button')

CDN Build

For environments where NPM is not available. Usage is identical to NPM:

<script src="https://cdn.jsdelivr.net/npm/@page-agent/cdn/dist/page-agent.js" crossorigin="true"></script>
<script>
const agent = new PageAgent({
	model: 'deepseek-chat',
	baseURL: 'https://api.deepseek.com',
	apiKey: 'YOUR_API_KEY',
})
await agent.execute('Click the login button')
</script>
Location URL
Global https://cdn.jsdelivr.net/npm/@page-agent/cdn/dist/page-agent.js
China https://registry.npmmirror.com/@page-agent/cdn/latest/files/dist/page-agent.js

🏗️ Structure

PageAgent adopts a simplified monorepo structure:

packages/
├── page-agent/          # AI agent (npm: page-agent)
├── llms/                # LLM client (npm: @page-agent/llms)
├── page-controller/     # DOM operations & Visual Mask (npm: @page-agent/page-controller)
├── ui/                  # Panel & i18n (npm: @page-agent/ui)
├── cdn/                 # CDN IIFE builds (npm: @page-agent/cdn)
└── website/             # Demo & Documentation site

🤝 Contributing

We welcome contributions from the community! Here's how to get started:

Setup

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/alibaba/page-agent.git && cd page-agent
  3. Install dependencies: npm install
  4. Start development: npm start

Contributing Guidelines

Please read our Code of Conduct and Contributing Guide before contributing.

👏 Acknowledgments

This project builds upon the excellent work of:

PageAgent is designed for client-side web enhancement, not server-side automation.

📄 License

MIT License - see the LICENSE file for details.

DOM processing components and prompt are derived from browser-use:

Browser Use
Copyright (c) 2024 Gregor Zunic
Licensed under the MIT License

Original browser-use project: <https://github.com/browser-use/browser-use>

We gratefully acknowledge the browser-use project and its contributors for their
excellent work on web automation and DOM interaction patterns that helped make
this project possible.

Third-party dependencies and their licenses can be found in the package.json
file and in the node_modules directory after installation.

Star this repo if you find PageAgent helpful!

Description
No description provided
Readme MIT 3.4 MiB
Languages
TypeScript 81.5%
JavaScript 11.7%
CSS 5.3%
HTML 1.2%
Python 0.3%