2025-10-22 16:59:10 +08:00
2025-09-29 16:33:15 +08:00
2025-10-11 15:43:22 +08:00
2025-10-24 16:54:05 +08:00
2025-09-29 16:33:15 +08:00
2025-10-11 22:33:47 +08:00
2025-10-11 15:29:03 +08:00
2025-10-11 15:29:03 +08:00
2025-10-11 15:29:03 +08:00
2025-09-23 17:30:17 +08:00
2025-10-22 23:02:49 +08:00
2025-10-22 23:02:49 +08:00
2025-10-24 17:06:32 +08:00
2025-10-24 17:03:56 +08:00
2025-10-22 22:41:48 +08:00
2025-10-11 22:33:47 +08:00
2025-10-21 17:34:55 +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

CDN Integration

<!-- temporary CDN URL. May change in the future -->
<script
	src="https://hwcxiuzfylggtcktqgij.supabase.co/storage/v1/object/public/demo-public/v0.0.4/page-agent.js"
	crossorigin="true"
	type="text/javascript"
></script>

NPM Installation

npm install page-agent
import { PageAgent } from 'page-agent'

// test server
// @note: rate limit. prompt limit. Origin limit. May change anytime. Use your own llm!
// @note Using official DeepSeek-chat(3.2). Go to DeepSeek website for privacy policy.
const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'
const DEMO_BASE_URL = 'https://hwcxiuzfylggtcktqgij.supabase.co/functions/v1/llm-testing-proxy'
const DEMO_API_KEY = 'PAGE-AGENT-FREE-TESTING-RANDOM'

const agent = new PageAgent({
	modelName: DEMO_MODEL,
	baseURL: DEMO_BASE_URL,
	apiKey: DEMO_API_KEY,
	language: 'en-US',
})

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

🏗️ Structure

PageAgent follows a clean, modular architecture:

src/
├── PageAgent.ts          # Agent main loop
├── dom/                  # DOM processing
├── tools/                # Agent tools
├── ui/                   # UI components & panels
├── llms/                 # LLM integration layer
└── utils/                # Event bus & utilities

🤝 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%