# Page Agent Page Agent Banner [![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) The GUI Agent Living in Your Webpage. Control web interfaces with natural language. 🌐 **English** | [δΈ­ζ–‡](./README-zh.md) πŸ‘‰ πŸš€ Demo | πŸ“– Documentation --- ## ✨ Features - **🎯 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.** ## πŸš€ Quick Start ### One-line integration Fastest way to try PageAgent with our free Demo LLM: ```html ``` | Mirrors | URL | | ------- | ---------------------------------------------------------------------------------- | | 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 | > **⚠️ For technical evaluation only.** Demo LLM has rate limits and usage restrictions. Slow. May change without notice. ### 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') ``` For more programmatic usage, see [πŸ“– Documentations](https://alibaba.github.io/page-agent/#/docs/introduction/overview). ## πŸ—οΈ Structure PageAgent adopts a simplified monorepo structure: ``` packages/ β”œβ”€β”€ core/ # ** Core agent logic (npm: @page-agent/core) ** β”œβ”€β”€ llms/ # LLM client (npm: @page-agent/llms) β”œβ”€β”€ 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 ``` ## 🀝 Contributing We welcome contributions from the community! Follow our instructions in [CONTRIBUTING.md](CONTRIBUTING.md) for environment setup and local development. Please read [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!**