# PageAgent π€πͺ
[](https://opensource.org/licenses/MIT) [](http://www.typescriptlang.org/) [](https://www.npmjs.com/package/page-agent) [](https://bundlephobia.com/package/page-agent) [](https://github.com/alibaba/page-agent)
The GUI Agent Living in Your Webpage. Control web interfaces with natural language.
π **English** | [δΈζ](./README-zh.md)
π π 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**](https://github.com/alibaba/page-agent/issues/96)
## π Quick Start
### Quick Try (With Testing LLM)
Fastest way to try PageAgent:
```html
```
> β οΈ **For technical evaluation only.** Demo model has rate limits and usage restrictions. Use NPM for production.
| Mirrors | URL |
| ------- | ----------------------------------------------------------------------------------------- |
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.4/dist/iife/page-agent.demo.js |
| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.4/files/dist/iife/page-agent.demo.js |
### NPM Installation
```bash
npm install page-agent
```
```javascript
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')
```
## ποΈ Structure
PageAgent adopts a simplified monorepo structure:
```
packages/
βββ core/ # ** Core agent logic without UI(npm: @page-agent/core) **
βββ page-agent/ # Exported agent and demo(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)
βββ website/ # Demo & Documentation site
```
## π€ Contributing
We welcome contributions from the community! Here's how to get started:
1. Fork and clone. `git clone https://github.com/alibaba/page-agent.git && cd page-agent`
2. Install dependencies: `npm install`
3. Start development: `npm start`
More details in [CONTRIBUTING.md](CONTRIBUTING.md).
Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing.
## π Acknowledgments
This project builds upon the excellent work of **[`browser-use`](https://github.com/browser-use/browser-use)**.
`PageAgent` is designed for **client-side web enhancement**, not server-side automation.
```
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:
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.
```
## π License
[MIT License](LICENSE)
---
**β Star this repo if you find PageAgent helpful!**