Skip to content

alibaba/page-agent

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

-.-.mp4


✨ 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!