阿里巴巴 Page-Agent:网页端 AI Agent 开发指南
阿里巴巴 Page-Agent:网页端 AI Agent 开发指南
阿里开源的网页端 AI Agent 工具,让任何网页都能用自然语言控制
项目简介
Page-Agent 是阿里巴巴开源的 JavaScript AI Agent 库,专注于客户端网页增强。它的核心特点是:无需浏览器扩展、无需 Python 后端、无需无头浏览器,只需在前端页面引入一段 JavaScript,就能让 AI 控制网页界面。
<!-- 一行代码接入 -->
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.5.1/dist/iife/page-agent.demo.js"></script>
核心特性
| 特性 | 说明 |
|---|---|
| 🧠 自然语言控制 | 用文字描述操作,AI 自动执行 |
| 📝 基于 DOM 操作 | 不需要截图/OCR,直接操作 DOM 元素 |
| 🔌 自带 LLM | 支持接入各种 LLM(阿里云 qwen、OpenAI 等) |
| 🎨 人机协作 | 支持确认步骤,避免误操作 |
| 🐙 Chrome 扩展 | 可选扩展支持多页面任务 |
技术架构
基于 browser-use
Page-Agent 的 DOM 处理组件和 prompt 源自 browser-use 项目,但将其改造为纯前端版本。
browser-use (服务端自动化) → Page-Agent (客户端网页增强)
核心技术栈
- 语言: TypeScript
- 运行环境: 浏览器端 JavaScript
- 依赖: browser-use 的 DOM 解析逻辑
快速开始
方式一:CDN 快速体验(仅限技术评估)
<!DOCTYPE html>
<html>
<head>
<title>Page Agent Demo</title>
</head>
<body>
<!-- 引入 Page Agent -->
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.5.1/dist/iife/page-agent.demo.js"></script>
<!-- 你的网页内容 -->
<button id="login-btn">登录</button>
<input id="username" placeholder="用户名">
<input id="password" type="password" placeholder="密码">
<script>
// 初始化 Agent
const agent = new PageAgent({
language: 'zh-CN',
});
// 执行自然语言指令
await agent.execute('点击登录按钮');
</script>
</body>
</html>
方式二:NPM 集成(生产环境)
npm install page-agent
import { PageAgent } from 'page-agent';
const agent = new PageAgent({
model: 'qwen3.5-plus', // 模型名称
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: process.env.DASHSCOPE_API_KEY,
language: 'zh-CN',
});
// 执行操作
await agent.execute('在搜索框输入 "人工智能",然后点击搜索按钮');
核心 API
PageAgent 构造函数
interface PageAgentOptions {
model: string; // LLM 模型名称
baseURL: string; // LLM API 地址
apiKey: string; // API 密钥
language?: string; // 语言设置 (默认 'en-US')
theme?: 'light' | 'dark' | 'auto'; // UI 主题
humanInTheLoop?: boolean; // 是否需要人工确认
}
execute() 方法
// 执行自然语言指令
await agent.execute('点击登录按钮');
await agent.execute('填写表单:姓名张三,手机13800138000');
await agent.execute('滚动页面到底部');
更多 API
| 方法 | 说明 |
|---|---|
execute(action) |
执行自然语言操作 |
pause() |
暂停执行 |
resume() |
恢复执行 |
stop() |
停止执行 |
getState() |
获取当前页面状态 |
实际应用场景
场景一:智能填表
// 用户说一句话,AI 自动填完复杂表单
await agent.execute(`
在会员注册表单中填写:
- 姓名:张三
- 性别:男
- 手机:13800138000
- 邮箱:zhangsan@example.com
- 地址:北京市朝阳区xx街道
`);
工作原理:
1. AI 解析自然语言中的关键信息
2. 识别网页中的表单字段
3. 自动填充到对应位置
场景二:语音填表(结合灵听)
// 1. 语音输入转文字(灵听)
const voiceText = await listen(); // "帮我填写联系人表单,张三,男,手机13800138000"
// 2. Page-Agent 执行填表
await agent.execute(`填写联系人表单:${voiceText}`);
场景三:AI Copilot
// 为 SaaS 产品添加 AI 助手
const agent = new PageAgent({
model: 'qwen3.5-plus',
// ...
});
// 用户交互
const userInput = prompt('请告诉 AI 您要做什么:');
await agent.execute(userInput);
场景四:无障碍访问
// 语音控制网页
await agent.execute('点击第一个商品');
await agent.execute('关闭弹窗');
await agent.execute('滚动到评论区');
与灵听项目的对比
| 特性 | Page-Agent | 灵听(语音输入法) |
|---|---|---|
| 输入方式 | 自然语言指令 | 语音 → 文字 |
| 执行方式 | AI 自动操作 DOM | 用户手动确认后输入 |
| 适用场景 | 自动化操作 | 文本辅助输入 |
| 互补性 | 可结合灵听语音输入 | 可结合 Page-Agent 执行 |
集成示例:语音填表完整流程
// 完整流程:语音输入 → AI 理解 → 自动填表
// 步骤1:语音识别(灵听)
const voiceText = await listen();
// 例如:"填写客户表单,李四,女,手机13900001111,邮箱li@si.com"
// 步骤2:让 Page-Agent 执行
const agent = new PageAgent({
model: 'qwen3.5-plus',
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: 'YOUR_API_KEY',
});
await agent.execute(`在客户表单中填写:${voiceText}`);
部署方式
客户端嵌入
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.5.1/dist/iife/page-agent.min.js"></script>
自建部署
# 克隆项目
git clone https://github.com/alibaba/page-agent.git
cd page-agent
# 安装依赖
npm install
# 构建
npm run build
注意事项
- 安全性:生产环境建议使用自己的 LLM API
- 隐私:Demo CDN 仅供技术评估使用
- 权限:操作需要页面有相应权限
相关资源
- GitHub: https://github.com/alibaba/page-agent
- 官网 Demo: https://alibaba.github.io/page-agent/
- 文档: https://alibaba.github.io/page-agent/docs/introduction/overview
整理自阿里巴巴 page-agent 项目官方文档