2026-02-12 17:19:14 +08:00
# Page Agent
2025-09-29 17:47:15 +08:00
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
[](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)
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
2026-02-12 17:19:14 +08:00
- **🎯 Easy integration**
- No need for `browser extension` / `python` / `headless browser` .
- Just in-page javascript. Everything happens in your web page.
- The best tool for your agent to control web pages.
- **📖 Text-based DOM manipulation**
- No screenshots. No OCR or multi-modal LLMs needed.
- No special permissions required.
- **🧠 Bring your own LLMs**
- **🎨 Pretty UI with human-in-the-loop**
- **🐙 Optional [chrome extension ](https://alibaba.github.io/page-agent/#/docs/features/chrome-extension ) for multi-page tasks.**
2025-09-29 16:33:15 +08:00
## 🚀 Quick Start
2026-01-21 20:15:33 +08:00
### One-line integration
2026-01-14 17:27:35 +08:00
2026-01-21 20:15:33 +08:00
Fastest way to try PageAgent with our free Demo LLM:
2026-01-14 17:27:35 +08:00
```html
2026-02-12 17:19:14 +08:00
< script src = "{URL}" crossorigin = "true" ></ script >
2026-01-14 17:27:35 +08:00
```
2026-01-23 00:55:58 +08:00
| Mirrors | URL |
| ------- | ---------------------------------------------------------------------------------- |
2026-02-13 18:50:32 +08:00
| Global | https://cdn.jsdelivr.net/npm/page-agent@1 .3.0/dist/iife/page-agent.demo.js |
| China | https://registry.npmmirror.com/page-agent/1.3.0/files/dist/iife/page-agent.demo.js |
2026-01-14 17:27:35 +08:00
2026-02-12 17:19:14 +08:00
> **⚠️ For technical evaluation only.** Demo LLM has rate limits and usage restrictions. Slow. May change without notice.
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
```
2026-02-12 17:19:14 +08:00
For more programmatic usage, see [📖 Documentations ](https://alibaba.github.io/page-agent/#/docs/introduction/overview ).
2025-09-29 16:33:15 +08:00
## 🏗️ Structure
2025-12-05 16:18:01 +08:00
PageAgent adopts a simplified monorepo structure:
2025-09-29 16:33:15 +08:00
```
2025-12-05 16:18:01 +08:00
packages/
2026-02-12 17:19:14 +08:00
├── core/ # ** Core agent logic (npm: @page-agent/core) **
2025-12-22 16:35:58 +08:00
├── llms/ # LLM client (npm: @page-agent/llms)
2026-02-12 17:19:14 +08:00
├── page-controller/ # DOM operations (npm: @page-agent/page-controller)
├── ui/ # Panel UI (npm: @page-agent/ui)
├── page-agent/ # Entry class and iife builds(npm: page-agent)
├── extension/ # Chrome extension for multi-page tasks
└── website/ # Website & Documentation site
2025-09-29 16:33:15 +08:00
```
## 🤝 Contributing
2026-01-21 20:15:33 +08:00
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
2026-01-21 20:15:33 +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-10 17:20:14 +08:00
```
2025-10-22 16:30:37 +08:00
DOM processing components and prompt are derived from browser-use:
2025-10-10 17:20:14 +08:00
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!**