
PageAgent
阿里巴巴开源纯前端 GUI Agent——一行 script 标签让 AI 自然语言控制你的 Web 页面
想为你的 Web 应用添加 AI 操作能力、又不想搭后端和无头浏览器的开发者首选——一行代码嵌入,纯文本 DOM 分析,接入任意 LLM 即可。需要跨网站爬取/大规模测试场景建议 Playwright 或 browser-use。
发布 2026-07-28更新 2026-07-28核实 2026-08-02TL;DR
PageAgent 是阿里巴巴开源的一款纯前端 JavaScript GUI Agent 框架,核心理念是 "The GUI Agent Living in Your Webpage"——让 AI 直接「住进」你的网页。与传统浏览器自动化工具不同,它不依赖截图、多模态模型、无头浏览器或 Python 后端,仅需一行 <script> 标签即可嵌入任意页面,让用户通过自然语言指令操控 Web 界面。
核心差异点:MIT 协议 + 纯 TypeScript + DOM 脱水(文本化 DOM 分析) + 任意 LLM 接入(BYOK) + 零后端部署 + Human-in-the-Loop 协同面板 + 可选 Chrome 扩展跨标签页 + MCP Server Beta。
适合:想为自己的 Web 应用添加 AI Copilot 的 SaaS 团队;需要自然语言操作后台管理系统的场景;希望用 AI 增强无障碍体验的开发者;需要将客服机器人从「指导操作」升级为「直接操作」的产品团队。不适合:需要大规模跨网站爬取/数据采集;需要 CI/CD 自动化测试;需要无代码方案的非技术人员。
核心能力
- DOM 脱水(DOM Dehydration):将页面 DOM 树压缩为精简文本,仅保留交互元素及其索引,发送给 LLM 处理。无需截图、无需多模态模型
- 零后端部署:CDN 或 NPM 导入,一行
<script>标签即可运行 - 任意 LLM 接入:支持 OpenAI / Claude / Qwen / DeepSeek / Gemini 等任意兼容
/chat/completions接口的模型 - Human-in-the-Loop:侧边面板实时展示 AI 思考过程,遇到歧义时主动向用户确认
- 操作白名单 & 数据脱敏:可定义允许的操作范围,保护敏感字段不被 AI 看到
- 自定义知识注入:注入业务规则,让 AI 遵守特定的操作约束与流程
- Chrome 扩展(可选):跨标签页/多页面任务支持
- MCP Server(Beta):外部 Agent 客户端可通过 MCP 协议控制浏览器
- ReAct 循环架构:Observe → Think(反思 + 行动)→ Act 的完整实现
- Reflection-Before-Action:每步先评估上步效果再决策,减少错误累积
- TypeScript 编写:完整类型定义,适合前端工程集成
价格
- Free / OSS:$0;MIT 协议
- 真实成本 = LLM API(GPT-4o ~$5/M input + $15/M output / Qwen3.5-plus 更便宜)
- 支持通过 Ollama 运行本地模型,API 成本为 $0
实测(开发者 / 前端集成 / SaaS 场景)
亮点:
- 28,000+ GitHub stars,社区活跃度极高
- 阿里巴巴团队维护,代码质量有保障
- DOM 脱水技术让 Token 成本比截图方案低一个数量级
- 推理速度快(0.5-1s vs 截图方案的 2-5s)
- 天然继承用户登录态,无需处理 Cookie/Session 同步
- 零后端部署,适合前端团队独立完成
- 中文支持完美(阿里巴巴出品)
- 操作白名单 + 数据脱敏 + Human-in-the-Loop 三重安全机制
- MCP Server 打通 Claude Desktop / Cursor 生态
踩坑:
- 项目 v1.12.x 仍在快速迭代(30+ 个版本/5 个月),API 可能变化
- 复杂动态页面 DOM 分析精度取决于 LLM 能力
- 不支持跨网站操作(除非安装 Chrome 扩展)
- 不适合大规模爬虫和性能测试场景
- 生产环境需要自行处理 LLM 调用错误和重试
- 文档有中英文版本,部分内容可能滞后
- 非前端开发者需要一定的 JavaScript 能力
上手
快速体验(一行 CDN 脚本)
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.10.0/dist/iife/page-agent.demo.js" crossorigin="true"></script>
加载后页面右下角出现 Agent 面板,可以直接输入自然语言命令。
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: 'YOUR_API_KEY',
language: 'zh-CN',
})
// 执行自然语言任务
const result = await agent.execute('点击登录按钮,然后填写用户名为 test@example.com')
console.log(result.success, result.message)
使用 Core 包(无 UI 面板,嵌入式场景)
npm install @page-agent/core
import { PageAgentCore } from '@page-agent/core'
import { PageController } from '@page-agent/page-controller'
const pageController = new PageController()
const agent = new PageAgentCore({
pageController,
llmConfig: {
model: 'gpt-4o',
baseURL: 'https://api.openai.com/v1',
apiKey: 'YOUR_API_KEY',
},
})
await agent.execute('帮我创建一个新项目,名称为「AI Demo」')
对比
| 维度 | PageAgent | Playwright | browser-use | OpenManus |
|---|---|---|---|---|
| 部署方式 | 纯前端 JS 脚本 | Python + 无头浏览器 | Python + 无头浏览器 | Python + Playwright |
| 页面分析 | 文本 DOM 脱水 | DOM 选择器 | 截图 + DOM | 截图 + DOM |
| 模型需求 | 纯文本 LLM | 无需 LLM | 多模态 LLM | 多模态 LLM |
| 登录态 | 天然继承 | 需手动管理 Cookie | 需手动管理 | 需手动管理 |
| 跨页面 | 需 Chrome 扩展 | 原生支持 | 原生支持 | Playwright |
| 目标用户 | 前端开发者 / SaaS | 测试工程师 | Agent 开发者 | 自托管 Agent 用户 |
| 协议 | MIT | Apache 2.0 | MIT | MIT |
| Stars | 28k+ | 70k+ | 101k+ | 52k+ |
快速查询
PageAgent 算哪一类「前端自动化 / 浏览器操作」工具? 它是阿里巴巴开源的纯前端 GUI Agent——不依赖截图和多模态模型,靠 DOM 脱水把页面压缩成文本让 LLM 看懂,一行 <script> 嵌入浏览器即可用自然语言点击、输入、导航。和 Playwright / browser-use 这类"外部驱动"方案定位不同:它更适合给自家 Web 应用加 AI 操作能力,而不是大规模爬虫。
浏览器操作能力如何? 天然继承用户登录态,无需处理 Cookie,纯前端脚本在主流的 Chromium / Chrome 系浏览器中即可运行;也可装 Chrome 扩展做跨标签页 / 多页面任务,另有 MCP Server 让 Claude / Cursor 等外部 Agent 控制浏览器。
适合 / 不适合
- 想为 Web 应用添加 AI Copilot 的 SaaS 团队
- 需要自然语言操作后台管理系统的场景
- 用 AI 增强无障碍体验(语音控制、屏幕阅读器)
- 将客服机器人从「指导操作」升级为「直接操作」
- 前端开发者想用最低成本集成 AI 能力
- 中国大陆开发者(阿里巴巴出品,中文支持完美)
- 大规模跨网站爬取 / 数据采集
- CI/CD 自动化测试(用 Playwright)
- 无代码方案的非技术人员
- 需要高并发稳定性的生产级自动化
相关阅读
Long-tail quick picks
长尾检索速查:下面三项对应「PageAgent 开源版 / 免费版 / 国内可用」等搜索意图,方便直接跳转。
Open-source alternatives
Free tier
- 是否有免费档:是
- 价格概要:MIT 完全免费开源 / 用户自付 LLM API(支持 OpenAI / Claude / Qwen / DeepSeek 等任意兼容模型)
- 预算敏感用户可先用免费档;进阶需求参考 通义灵码 / CodeGeex(国内免费额度更友好)。
China availability
- 是否国内可用:是
- 中文友好度评分:5 / 5
- 国内直连可用,无需代理;访问稳定。
相关替代品:
来源
- PageAgent 官方文档 https://alibaba.github.io/page-agent/
- PageAgent GitHub 主仓库 https://github.com/alibaba/page-agent
- PageAgent 官网 https://pageagent.net/
| 计划 | 价格 | 限制 | 国内支付 | 备注 |
|---|---|---|---|---|
| Free / OSS | $0 | — | — |
- · 想为自己的 Web 应用添加 AI Copilot 的 SaaS 团队
- · 需要自然语言操作后台管理系统的场景
- · 希望用 AI 增强无障碍体验的开发者
- · 需要将客服机器人从「指导操作」升级为「直接操作」的产品团队
- · 需要大规模跨网站爬取/数据采集
- · 需要 CI/CD 自动化测试
- · 需要无代码方案的非技术人员
PageAgent 和传统浏览器自动化(Playwright / Selenium)有什么区别?
PageAgent 是『页面内嵌』方案,直接在浏览器中作为 JavaScript 运行,天然继承用户登录态,无需无头浏览器和 Python 后端。Playwright 等是『外部驱动』方案,通过 CDP 协议远程控制浏览器,适合大规模测试和跨网站爬取。PageAgent 更适合为你的 Web 应用添加 AI 操作能力。
PageAgent 需要 Chrome 扩展吗?
不需要。PageAgent.js 作为独立脚本在单页面内即可工作。Chrome 扩展是可选的『增强包』,仅在需要跨标签页或多页面任务时才需要安装。
支持哪些 LLM?
支持任何兼容 OpenAI `/chat/completions` 接口的模型,包括 OpenAI GPT-4o、Claude 3.5、Qwen3.5、DeepSeek、Gemini、Grok、Kimi、GLM,以及通过 Ollama 运行的本地开源模型。用户提供自己的 API Key。
PageAgent 是国产的吗?
是的,由阿里巴巴开源,MIT 协议,TypeScript 编写。对中文场景有天然优化,支持中文指令和中文界面操作。
PageAgent 的 DOM 脱水(DOM Dehydration)是什么?
DOM 脱水是将页面 DOM 树压缩为精简文本的技术。它会移除样式信息、冗余容器和隐藏元素,只保留交互元素(按钮、输入框、链接等)及其索引,发送给 LLM 处理。相比截图方案,成本低一个数量级,速度更快(0.5-1s vs 2-5s)。
PageAgent 如何处理富文本编辑器(如 CodeMirror、Monaco)?
对于 CodeMirror 等自定义编辑器,PageAgent 默认无法直接识别 DOM 中的『输入框』。解决方案包括:先通过 DOM 判断编辑器类型,然后使用 `editor.setValue()` 或 `execCommand` 注入内容;或者预置编辑器适配器,让 LLM 知道当前编辑器类型并采用相应策略。
PageAgent 支持 Shadow DOM 吗?
默认 DOM 遍历不进 Shadow DOM 的 `#shadow-root`。如果页面使用 Web Components(如 Lit、Stencil),需要在初始化时配置 `enableShadowDOM: true`,PageAgent 会递归遍历所有 `shadowRoot` 子树的交互元素。
PageAgent 的 MCP Server 怎么用?
安装 `@page-agent/mcp` 包后,可以通过 MCP 协议让外部 Agent 客户端(如 Claude Desktop、Cursor)控制浏览器。MCP Server 在 PageAgent 的 Chrome 扩展之上运行,实现跨标签页和多页面任务。
PageAgent 最新版本是什么?
截至 2026 年 7 月,最新版本为 v1.12.2(2026-07-16 发布),自 2025 年 9 月开源以来已发布 30+ 个版本,迭代速度极快。生产环境建议 pin 版本号。
动态页面(如实时仪表盘)会导致 Agent 不稳定吗?
是的。页面有持续动画或轮询请求时,DOM 不断变化可能导致竞态条件。建议设置 `domStableTimeout: 3000`(最多等 3 秒),操作前使用 `MutationObserver` 确认目标元素已稳定。
PageAgent 和 browser-use 有什么区别?
PageAgent 是纯前端方案(一行 script 标签),不需要截图和多模态模型,部署在浏览器内。browser-use 是 Python 后端方案,需要截图 + 多模态 LLM + 无头浏览器,适合跨网站爬虫场景。PageAgent 成本更低、速度更快,但不适合大规模爬虫和数据采集。
可接入 / 兼容以下大模型 API(在设置中配置 key 即可切换底座):