Files
page-agent/README.md
T

125 lines
4.5 KiB
Markdown
Raw Normal View History

2025-09-29 17:47:15 +08:00
# PageAgent 🤖🪄
2026-01-17 15:48:30 +08:00
<picture>
2026-01-17 15:57:22 +08:00
<source media="(prefers-color-scheme: dark)" srcset="https://img.alicdn.com/imgextra/i4/O1CN01qKig1P1FnhpFKNdi6_!!6000000000532-2-tps-1280-256.png">
<img alt="Page Agent Banner" src="https://img.alicdn.com/imgextra/i1/O1CN01NCMKXj1Gn4tkFTsxf_!!6000000000666-2-tps-1280-256.png">
2026-01-17 15:48:30 +08:00
</picture>
2025-09-29 16:33:15 +08:00
2026-01-17 14:59:09 +08:00
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/) [![Downloads](https://img.shields.io/npm/dt/page-agent.svg)](https://www.npmjs.com/package/page-agent) [![Bundle Size](https://img.shields.io/bundlephobia/minzip/page-agent)](https://bundlephobia.com/package/page-agent) [![GitHub stars](https://img.shields.io/github/stars/alibaba/page-agent.svg)](https://github.com/alibaba/page-agent)
2025-09-29 16:33:15 +08:00
2025-10-23 20:41:12 +08:00
The GUI Agent Living in Your Webpage. Control web interfaces with natural language.
2025-09-29 16:33:15 +08:00
🌐 **English** | [中文](./README-zh.md)
2026-01-10 23:53:19 +08:00
👉 <a href="https://alibaba.github.io/page-agent/" target="_blank"><b>🚀 Demo</b></a> | <a href="https://alibaba.github.io/page-agent/#/docs/introduction/overview" target="_blank"><b>📖 Documentation</b></a>
2025-09-29 16:33:15 +08:00
2026-01-17 15:17:14 +08:00
<video id="demo-video" src="https://github.com/user-attachments/assets/34d8444d-cbfb-44a3-a24e-fd5c167bb0bf" controls crossorigin muted></video>
2025-10-24 16:56:26 +08:00
2025-09-29 16:33:15 +08:00
---
## ✨ Features
- **🎯 Easy Integration**
- No python. No headless browser. No browser extension. Just in-page scripts.
2025-09-29 19:29:31 +08:00
- **🔐 Client-Side Processing**
2025-09-29 16:33:15 +08:00
- **🧠 DOM Extraction**
- **💬 Natural Language Interface**
- **🎨 UI with Human in the loop**
And 😉
2025-09-29 16:33:15 +08:00
- **🧪 `cross-page` control with an experimental chrome extension** - `-b feat/ext`
👉 [**🗺️ Roadmap**](https://github.com/alibaba/page-agent/issues/96)
2025-09-29 16:33:15 +08:00
## 🚀 Quick Start
### One-line integration
2026-01-14 17:27:35 +08:00
Fastest way to try PageAgent with our free Demo LLM:
2026-01-14 17:27:35 +08:00
```html
2026-01-17 14:59:09 +08:00
<script
src="https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js"
2026-01-17 16:15:36 +08:00
crossorigin="true"
2026-01-17 14:59:09 +08:00
></script>
2026-01-14 17:27:35 +08:00
```
> - **⚠️ For technical evaluation only.** Demo LLM has rate limits and usage restrictions. May change without notice.
> - **🌷 Bring your own LLM API.**
2026-01-14 17:27:35 +08:00
2026-01-21 01:08:19 +08:00
| Mirrors | URL |
| ------- | ----------------------------------------------------------------------------------------- |
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.5/dist/iife/page-agent.demo.js |
| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.5/files/dist/iife/page-agent.demo.js |
2026-01-14 17:27:35 +08:00
2026-01-17 14:59:09 +08:00
### NPM Installation
2025-09-29 16:33:15 +08:00
```bash
npm install page-agent
```
```javascript
import { PageAgent } from 'page-agent'
const agent = new PageAgent({
2026-01-17 16:15:36 +08:00
model: 'deepseek-chat',
baseURL: 'https://api.deepseek.com',
apiKey: 'YOUR_API_KEY',
language: 'en-US',
2025-09-29 16:33:15 +08:00
})
2025-10-22 16:30:37 +08:00
await agent.execute('Click the login button')
2025-09-29 16:33:15 +08:00
```
## 🏗️ Structure
PageAgent adopts a simplified monorepo structure:
2025-09-29 16:33:15 +08:00
```
packages/
2026-01-19 20:14:40 +08:00
├── 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
2025-09-29 16:33:15 +08:00
```
## 🤝 Contributing
We welcome contributions from the community! Follow our instructions in [CONTRIBUTING.md](CONTRIBUTING.md) for environment setup and local development.
2025-09-29 16:33:15 +08:00
Please read [Code of Conduct](CODE_OF_CONDUCT.md) before contributing.
2025-09-29 16:33:15 +08:00
## 👏 Acknowledgments
2026-01-17 14:59:09 +08:00
This project builds upon the excellent work of **[`browser-use`](https://github.com/browser-use/browser-use)**.
2025-09-29 16:33:15 +08:00
2026-01-17 14:59:09 +08:00
`PageAgent` is designed for **client-side web enhancement**, not server-side automation.
2025-09-29 16:33:15 +08:00
```
2025-10-22 16:30:37 +08:00
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.
```
2025-09-29 16:33:15 +08:00
2026-01-17 14:59:09 +08:00
## 📄 License
[MIT License](LICENSE)
2025-09-29 16:33:15 +08:00
---
**⭐ Star this repo if you find PageAgent helpful!**