GitHub Explorer

page-agent 深度分析报告

GitHub: https://github.com/alibaba/page-agent

一句话总结

阿里巴巴推出的纯前端 GUI Agent 框架,通过在网页内注入 JavaScript 代理,以文本化 DOM 解析(而非截图)驱动 LLM 实现自然语言操控网页,填补了「无需后端/无需浏览器扩展/无需 Python」的 Web AI 自动化空白。

值得关注的理由

  1. 架构范式创新:与 browser-use、Playwright、Selenium 等「从外部控制浏览器」的思路截然不同,page-agent 选择了「Agent 住在网页里」的内嵌式路线。这意味着它可以作为 SaaS 产品的 AI Copilot 直接嵌入,无需用户安装任何东西,部署摩擦极低。
  2. 爆发式增长:2025 年 9 月创建,6 个月内达到 13,000+ Star,787 次提交,发布 18 个版本。2026 年 1 月单月 271 次提交,开发节奏极为密集。HN 首页讨论热度可观。
  3. 纯文本 DOM 路线的验证:不依赖多模态模型或截图 OCR,仅靠结构化 DOM 文本就能完成 GUI 操作,大幅降低了对模型能力的要求(普通文本 LLM 即可),同时避免了截图方案的延迟和成本问题。
  4. MCP 协议接入:v1.6.0 加入 MCP Server 支持,使得 Claude、GPT 等上层 Agent 可以通过标准协议直接调用浏览器操作,打通了「AI Agent 操控真实浏览器」的最后一公里。

项目画像(表格)

维度详情
仓库全名alibaba/page-agent
一句话描述JavaScript in-page GUI agent. Control web interfaces with natural language.
主要语言TypeScript (81%)、JavaScript (11%)、CSS (6%)、HTML (1%)
代码规模~37,900 行代码,213 个文件(不含依赖)
Star 数13,018
Fork 数990
开源协议MIT
创建时间2025-09-23
最近推送2026-03-21
提交总数787
版本数18(最新 v1.6.1)
核心贡献者gaomeng1900 (Simon, 714 次提交, ~91%)
组织Alibaba (19,082 followers, 517 public repos)
关键 Topicagent, ai, web, ai-agents, browser-automation, mcp, typescript
npm 包名page-agent(主包)、@page-agent/core(无 UI 核心)
官网https://alibaba.github.io/page-agent/
Chrome 扩展已上架 Chrome Web Store

作者视角:为什么存在这个项目

page-agent 的诞生源于一个核心洞察:现有的 Web 自动化工具都是「从外面操控浏览器」,但 SaaS 产品真正需要的是「在里面嵌入 AI 助手」。

browser-use(page-agent 明确致敬的上游项目)通过 Playwright 在服务端控制无头浏览器,这适合爬虫和测试场景,但不适合给终端用户提供实时 AI 辅助。当你想在自己的 CRM、ERP 或后台管理系统里加一个「AI Copilot」时,你不可能要求每个用户都装 Python 环境或浏览器扩展。

page-agent 的策略是:

  1. 一行 <script> 标签搞定集成 — 和加 Google Analytics 一样简单
  2. 纯前端运行 — 所有 DOM 解析、动作执行都在浏览器端完成,只有 LLM 调用走网络
  3. 文本化 DOM 而非截图 — 从 browser-use 移植并改进的 DOM 提取引擎(1706 行),将页面交互元素序列化为带索引的文本描述,供 LLM 理解和操作

这个定位使得 page-agent 不是 browser-use 的竞争者,而是互补品:browser-use 做服务端自动化,page-agent 做客户端增强。

核心价值提炼

1. Re-Act Agent Loop 架构

核心循环设计精炼:Observe(DOM 提取) -> Think(LLM 推理) -> Act(DOM 操作) -> Loop。每一步包含三个认知阶段:evaluation_previous_goal(反思上一步)、memory(维护记忆)、next_goal(规划下一步)。这是经典的 ReAct 框架在 GUI 操作场景的工程化实现。

2. MacroTool 设计

所有内置工具(click、input、scroll、select、wait、done、ask_user、execute_javascript)被打包为一个 MacroTool,通过 Zod schema 的 union type 表达。这样 LLM 每次只需调用一个工具函数,同时输出反思和动作,减少了多轮 tool call 的延迟。

3. 文本化 DOM 管道

Live DOM -> FlatDomTree -> Simplified HTML (indexed) -> LLM prompt

DOM 提取引擎从 browser-use 移植,做了大量适配:

  • 添加交互元素黑白名单
  • React 根节点自动跳过(防止 React 事件委托导致的误判)
  • 可滚动元素检测与标注
  • aria-hidden 元素排除
  • DOM 缓存机制优化性能

4. Monorepo 分层设计

page-agent (入口+UI)
  └── core (无头Agent核心)
       ├── llms (LLM客户端,OpenAI兼容)
       └── page-controller (DOM操作+视觉遮罩)
  └── ui (面板+i18n)
  └── mcp (MCP Server)
  └── extension (Chrome扩展)

层次分明:page-controller 完全不依赖 LLM,core 不依赖 UI,使得无头模式、自定义 UI、MCP 接入等场景都能独立使用。

5. 实用工程细节

  • SimulatorMask:操作期间覆盖页面的视觉遮罩,防止用户与 Agent 同时操作造成冲突
  • llms.txt 支持(实验性):自动获取目标网站的 llms.txt 作为上下文,让 Agent 了解网站结构
  • 自定义 Tool 扩展:通过 customTools 配置注入、覆盖或删除内置工具
  • 生命周期钩子:onBeforeStep、onAfterStep、onBeforeTask、onAfterTask 完整的任务生命周期

竞品格局与定位

项目运行位置模型要求核心场景集成方式
page-agent浏览器内(前端)纯文本 LLMSaaS AI Copilot、表单自动化<script> 或 npm
browser-use服务端(Python+Playwright)多模态 LLM爬虫、端到端测试Python SDK
Skyvern云端服务多模态 LLM企业级 Web 自动化API + 云平台
OpenAI OperatorOpenAI 服务GPT-4o通用 Web AgentChatGPT 内置
BrowserOS独立浏览器多模态消费级 AI 浏览器独立应用
OpenClaw本地应用本地模型隐私优先自动化MCP

page-agent 的独特定位:它是目前唯一一个面向「网页内嵌 AI 助手」场景的开源方案。竞品要么需要服务端基础设施(browser-use、Skyvern),要么是独立产品(Operator、BrowserOS)。page-agent 是唯一能让 SaaS 开发者在自己的产品里用几行代码加入 AI 操作能力的工具。

套利机会分析

直接可用的机会

  1. SaaS 产品 AI Copilot:任何 B2B SaaS(CRM、ERP、项目管理、BI 工具)都可以用 page-agent 快速上线「AI 助手」功能。相比自研,集成成本从月级降至天级。
  2. 企业内部系统智能化:老旧的内部管理系统(OA、审批、报表),无需改造后端,前端注入 page-agent 即可实现自然语言操作。
  3. 无障碍访问增强:结合语音输入,让视障用户通过自然语言操作任意网页,这是一个有社会价值且有政策推动的方向。

生态衍生机会

  1. 基于 MCP 的 Agent 编排:page-agent 的 MCP Server 使其成为上层 AI Agent(如 Claude)的「浏览器之手」。可以构建「Claude + page-agent MCP」的复合 Agent,让 AI 真正操控用户浏览器。
  2. 页面操作录制与回放:在 page-agent 的 history 系统上构建操作录制功能,将 Agent 的操作序列转为可重放的自动化脚本。
  3. 垂直场景 Agent 市场:围绕特定 SaaS(如 Salesforce、Shopify)预置一批经验证的 page-agent 指令集(instructions + customTools),做成「AI 操作模板市场」。

技术套利

  1. 轻量化替代截图方案:在 LLM 成本敏感的场景(如批量操作),page-agent 的纯文本方案比截图+多模态方案节省 5-10 倍的 token 和推理成本。

风险与不足

技术风险

  1. 单页应用限制:page-agent 明确声明只能处理单页应用(SPA),无法跨页面导航。虽然 Chrome 扩展缓解了这个问题,但扩展本身仍处于 WIP 状态。
  2. DOM 解析的脆弱性:文本化 DOM 方案依赖于页面结构的可预测性。高度动态的页面(如实时协作编辑器、Canvas 绘制的应用)可能无法正确解析。
  3. React 特殊处理的隐患:当前的 React patch 通过硬编码的选择器(#root, #app, [data-reactroot])来规避事件委托问题,这种启发式方法在非标准 React 应用中可能失效。
  4. 安全性考量:execute_javascript 工具(虽然默认关闭)和 LLM 驱动的 DOM 操作,在恶意 prompt injection 场景下可能被利用来执行未授权操作。

项目风险

  1. Bus Factor 极高:714/787 次提交来自同一人 (gaomeng1900),其他贡献者仅有零星提交。如果核心维护者离开阿里或转岗,项目可能迅速停滞。
  2. 企业开源的不确定性:阿里巴巴有大量开源项目进入维护模式的先例。page-agent 目前处于快速迭代期,但其长期维护承诺尚不确定。
  3. 免费测试 API 的可持续性:项目提供免费的 Demo LLM API 用于快速体验,但这种补贴不可能持续,可能影响早期用户的迁移体验。

功能缺口

  1. 缺少关键工具:代码中有明确的 TODO 标记:send_keys、upload_file、go_back、extract_structured_data 尚未实现,这些在实际场景中是高频需求。
  2. 无测试覆盖:仓库中未发现单元测试或集成测试文件,对于一个操控 DOM 的框架来说,这是显著的质量风险。
  3. MCP Server 仍为 Beta:v1.6.0 刚引入 MCP 支持,稳定性和功能完整性有待验证。

行动建议

对 SaaS 开发者:如果你的产品是 B2B Web 应用且用户有复杂操作流程,page-agent 值得立即原型验证。集成成本极低(一行代码),可以快速判断 AI Copilot 是否对你的用户有价值。建议自建 LLM 代理层,不要依赖其免费 API。

对 AI Agent 开发者:关注 page-agent 的 MCP Server 能力。将其作为你的 Agent 框架的「浏览器操作层」,比自己封装 Playwright 更轻量,且支持操作用户已登录的真实浏览器会话。

对企业技术决策者:page-agent 适合作为内部系统智能化的快速试点工具,但不建议在关键业务流程中深度依赖,因为 bus factor 和企业开源维护的不确定性较高。建议 fork 并维护内部版本。

对开源贡献者:这是一个处于快速上升期、架构清晰、代码质量不错的项目。贡献方向建议:补充测试覆盖、实现 TODO 工具(send_keys、upload_file)、增强 Chrome 扩展的多页面能力。

知识入口(表格)

资源链接说明
GitHub 仓库https://github.com/alibaba/page-agent源代码与 Issue 讨论
官方文档https://alibaba.github.io/page-agent/docs/introduction/overview快速开始与 API 参考
在线 Demohttps://alibaba.github.io/page-agent/交互式体验(需科学上网)
npm 包https://www.npmjs.com/package/page-agent安装与版本历史
Chrome 扩展https://chromewebstore.google.com/detail/page-agent-ext/akldabonmimlicnjlflnapfeklbfemhj多页面 Agent 支持
HN 讨论https://news.ycombinator.com/item?id=47264138Show HN 社区反馈
DeepWikihttps://deepwiki.com/alibaba/page-agentAI 生成的代码解读
上游项目 browser-usehttps://github.com/browser-use/browser-useDOM 处理引擎的来源
AGENTS.md仓库根目录 AGENTS.md架构文档与贡献指南
作者 Xhttps://x.com/simonluvramen核心维护者动态

相关报告