Page-Agent - 深度分析报告

Page-Agent - 深度分析报告

技术背景与动机

行业背景

Web 自动化领域长期以来被服务端方案主导。Selenium、Puppeteer、Playwright 等工具通过控制无头浏览器(Headless Browser)或浏览器驱动实现对 Web 页面的自动化操作。然而,这类方案存在几个核心痛点:

  1. 基础设施重:需要搭建服务器、安装浏览器驱动、管理运行时环境。
  2. 脱离用户上下文:自动化操作在独立进程中运行,无法利用用户已有的登录态、Cookie 和会话信息。
  3. 维护成本高:基于 CSS 选择器或 XPath 的脚本在页面结构变化时频繁失效,据 NxCode 2026 年基准测试,Playwright 脚本在 30 天内有 15-25% 需要修复选择器。
  4. AI Agent 集成困难:Python 生态的 AI Agent 框架(如 LangChain)与浏览器自动化之间存在语言壁垒。

与此同时,browser-use 等项目开创了 LLM 驱动的浏览器自动化范式,但其架构仍基于服务端 Playwright,无法解决"用户已登录场景下的自动化"问题。

创立动机

Page-Agent 的创立动机来源于一个核心洞察:Web 自动化应该从页面内部发起,而非从外部控制。传统方案是从浏览器外部"遥控"页面,而 Page-Agent 让 Web 应用自身具备 AI 能力,实现"由内而外"的自动化。具体解决的问题包括:

  • 让 SaaS 开发者以极低成本(一行代码)为自己的产品添加 AI Copilot
  • 利用用户已有的浏览器会话和登录态直接操作,无需传递凭证
  • 为 Web 用户提供自然语言交互的无障碍访问方式
  • 消除 Python 依赖,让前端开发者可以直接使用 TypeScript/JavaScript 构建自动化

发展历程

  • 2025 年初:项目启动,DOM 处理逻辑从 browser-use 项目移植并适配浏览器环境
  • 2025 年中:发布初始版本,支持基本的页内自动化
  • 2025 年末 - 2026 年初:快速增长,GitHub Stars 从数百飙升至数千
  • 2026 年 2 月 27 日:发布 Show HN 帖子(Hacker News item id: 47264138),引发社区广泛讨论
  • 2026 年 3 月:Chrome 扩展 Page Agent Ext 上线 Chrome Web Store,支持跨标签页操作
  • 2026 年 4 月 3 日:发布 v1.7.1,累计 28 个版本、876 次 commit,GitHub Stars 突破 16,700

核心原理

设计哲学

Page-Agent 的设计哲学可以归纳为五条原则:

  1. 永不崩溃(Never Crash) - normalizeResponse 函数实现了 5 级渐进式容错修复,最终兜底为等待 1 秒。每一步操作都用 try/catch 包裹,确保 Agent 永远不会因为 LLM 返回格式异常而崩溃。
  2. 像人一样操作(Act Like a Human) - 模拟完整的人类交互事件序列(mouseenter -> mouseover -> mousedown -> focus -> mouseup -> click),并加入 0.2 秒的反应时间延迟,确保与各种前端框架的合成事件系统兼容。
  3. 最小化 Token(Minimize Token Usage) - DOM 到文本的压缩率极高,属性自动去重、文本内容智能截断,将庞大的 DOM 树压缩为 LLM 可以高效处理的结构化文本。
  4. 分层独立(Layered Independence) - 每层可以单独替换:PageController 和 Agent 解耦,UI 和逻辑分离。开发者可以只用核心层而不用 UI 层。
  5. 渐进增强(Progressive Enhancement) - Demo 模式开箱即用(CDN 一行引入),高级用户可自定义模型、工具、提示词。

核心算法/机制

HTML 脱水(HTML Dehydration)

这是 Page-Agent 最核心的技术机制,源自 browser-use 项目并进行了浏览器端适配。其工作流程如下:

  1. DOM 遍历:从 document.body 开始递归遍历整棵 DOM 树
  2. 智能过滤
  3. 跳过不可见元素(通过 checkVisibilityoffsetWidth/Height、computed style 多维度判断)
  4. 跳过自身 UI 元素(带 data-page-agent-ignore 属性的元素)
  5. 支持 viewport 裁剪(可配置只扫描视口范围内的元素)
  6. Shadow DOM 穿透(自动递归进入 shadowRoot,但作者在 HN 讨论中表示当前版本已有意排除对 Shadow DOM 的深入支持)
  7. iframe 内容穿透(在同源策略允许范围内,但不支持跨域 iframe)
  8. 交互元素识别:通过多维度判断(语义标签、ARIA 角色、光标样式、contentEditable 属性、CSS 类名启发式、事件监听器检测、data 属性、可滚动容器检测)
  9. 文本序列化flatTreeToString 函数将 DOM 树压缩为带索引的文本格式

序列化输出示例:

[0]<a href="/home" role=link>首页 />
[1]<button aria-expanded=false>菜单 />
    纯文本内容不包含索引
[2]<input type=text placeholder=搜索... />
[3]<div data-scrollable="top=0, bottom=1200">

每个可交互元素被赋予一个 [index],LLM 只需返回"点击 [1]"即可定位操作。属性做了智能裁剪,重复的或与文本内容一致的 aria-label 会被自动去除。

ReAct 范式(Reasoning + Acting)

Page-Agent 采用 MacroTool 模式,将所有工具打包成一个 AgentOutput 宏工具,实现完整的 ReAct 推理范式。每一步 LLM 必须同时输出:

{
  "evaluation_previous_goal": "成功点击了登录按钮",
  "memory": "已完成2/5步,下一步填写用户名",
  "next_goal": "在用户名输入框中输入 admin",
  "action": {
    "input_text": { "index": 3, "text": "admin" }
  }
}

这不是简单的 function calling,而是要求 LLM 在每个步骤中同时进行反思(evaluation)、记忆维护(memory)、目标规划(next_goal)和动作执行(action)。

响应容错机制(normalizeResponse)

针对 LLM 返回格式不一致的问题,实现了 5 级渐进式修复:

  • #1: tool_call 存在但 function.name 不是 AgentOutput,包装成 action
  • #2: 没有 tool_call,但 content 里有 JSON,解析为 AgentOutput
  • #3: 解析出的 JSON 带 type: "function",提取 arguments
  • #4: 解析出的 JSON 没有 action 字段,整体包装为 action
  • #5: 以上全部失败,回退到 wait 1 秒(永不崩溃)

数据流/执行流程

Page-Agent 的主循环遵循 observe -> think -> act 模式:

用户输入自然语言指令
        |
        v
+--[主循环 for(;;)]--+
|                     |
|  1. getBrowserState()
|     -> 获取当前页面 DOM 的文本表示
|                     |
|  2. handleObservations()
|     -> 注入系统提示、历史、剩余步数警告
|                     |
|  3. 组装 Prompt
|     -> system prompt + 历史对话 + 当前页面快照
|                     |
|  4. invoke() -> LLM
|     -> 调用配置的 LLM API 获取结构化响应
|                     |
|  5. normalizeResponse()
|     -> 5 级容错解析 LLM 返回
|                     |
|  6. 执行 Action
|     -> click / input / scroll / select / done / ask_user / wait
|                     |
|  7. 记录历史
|     -> 存入 history 数组
|                     |
|  8. 检查终止条件
|     -> done / maxSteps / error -> 退出循环
|                     |
+-----(0.4s 冷却)-----+
        |
        v
    返回结果

每步之间有 0.4 秒的冷却期,既防止 LLM API 限流,也给页面足够的渲染时间。

架构设计

整体架构

Page-Agent 采用 五层金字塔架构(基于官方文档 v1.7.1 和源码分析):

┌─────────────────────────────────────┐
│  Layer 5: WebGL 动效渲染层           │
│  Motion / SimulatorMask / Shaders   │
├─────────────────────────────────────┤
│  Layer 4: UI 面板层                  │
│  Panel / I18n / Card Components     │
├─────────────────────────────────────┤
│  Layer 3: Agent 核心调度层           │
│  PageAgentCore / LLM / Tool Router  │
├─────────────────────────────────────┤
│  Layer 2: DOM 智能感知层             │
│  domTree / flatTreeToString         │
├─────────────────────────────────────┤
│  Layer 1: 交互操作层                 │
│  clickElement / inputText / scroll  │
└─────────────────────────────────────┘

项目采用 monorepo 架构(packages/ 目录),核心包和 Chrome 扩展分别管理。运行时依赖仅有 zod(用于 schema 解析)。

核心模块

  • 交互操作层(Layer 1: Page Controller) - 负责模拟人类级别的浏览器交互。点击操作模拟完整的事件序列(mouseenter -> mouseover -> mousedown -> focus -> mouseup -> click);输入操作绕过 React 的 Fiber 劫持机制,通过原生 setter 设置值并手动触发 input 事件;支持 <input><textarea>contentEditable 三种输入模式的统一处理。
  • DOM 智能感知层(Layer 2: DOM Perception) - 负责将浏览器 DOM 转化为 LLM 可理解的文本表示。通过递归遍历、智能过滤、交互元素识别和文本序列化,将复杂的 DOM 树压缩为带索引的结构化文本。这是整个框架最核心、最复杂的一层。
  • Agent 核心调度层(Layer 3: Agent Core) - 实现 ReAct 推理循环,包含工具注册表(8 个内置工具)、MacroTool 宏工具模式、LLM 响应容错解析和主循环控制。支持的最大步数(maxSteps)可配置。
  • UI 面板层(Layer 4: UI Panel) - 纯 DOM 操作构建的交互面板(无 React/Vue 依赖),包含状态指示器(idle -> thinking -> executing -> completed/error)、历史面板、任务输入框和国际化支持(en-US / zh-CN)。@page-agent/core 包允许开发者跳过此层,直接使用无头核心。
  • WebGL 渲染层(Layer 5: Visual Effects) - 可选的视觉效果层,使用 WebGL2 着色器程序渲染 Agent 运行时的边框发光效果和滑动光标动画。需要浏览器支持 WebGL2。
  • Chrome 扩展(Extension) - 可选的浏览器扩展,添加跨标签页任务、浏览器级控制和 MCP Server 集成能力。通过 window.PAGE_AGENT_EXT API 与页面脚本桥接,需要用户显式授权 token。

扩展机制

  • 自定义工具(Custom Tools) - 开发者可以注册自定义工具到 Agent 的工具注册表中
  • 生命周期钩子(Lifecycle Hooks) - 在 Agent 执行的不同阶段注入自定义逻辑
  • 提示词定制(Prompt Customization) - 可以自定义系统提示词,调整 Agent 的行为
  • 数据遮罩(Data Masking) - 在 DOM 序列化时对敏感数据进行遮罩处理
  • 白名单/黑名单 API - 控制哪些 DOM 元素可以被 Agent 操作
  • Human-in-the-Loop(开发中) - 允许用户在敏感操作前进行确认

关键概念详解

PageAgent(核心类)

  • 定义: Page-Agent 的主入口类,封装了 Agent 的完整生命周期管理
  • 作用: 初始化 Agent 配置(LLM 连接、语言、最大步数等),接收自然语言指令,执行自动化任务
  • 使用场景: 嵌入到 Web 应用中,为用户提供自然语言交互能力
  • 代码示例(基于官方文档 v1.7.1):
import { PageAgent } from 'page-agent'

// 初始化 Agent,配置 LLM 连接
const agent = new PageAgent({
  model: 'qwen3.5-plus',
  baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
  apiKey: 'YOUR_API_KEY',
  language: 'en-US',    // 支持 en-US 和 zh-CN
})

// 执行自然语言指令
await agent.execute('Click the login button')

HTML 脱水(HTML Dehydration)

  • 定义: 将浏览器中实时的 DOM 树压缩为 LLM 可以理解的精简文本格式的过程
  • 作用: 在保持语义信息的前提下,大幅减少发送给 LLM 的 Token 数量,同时为交互元素建立索引系统
  • 使用场景: 每次 Agent 循环开始时,用于获取当前页面的状态快照
  • 核心流程: DOM 遍历 -> 不可见元素过滤 -> 交互元素识别 -> 属性裁剪 -> 索引分配 -> 文本序列化

MacroTool(宏工具模式)

  • 定义: 将所有可用工具打包为单一 AgentOutput schema 的设计模式
  • 作用: 确保 LLM 每次响应都包含反思、记忆、目标和动作四个维度,实现完整的 ReAct 推理
  • 使用场景: Agent 主循环中每次调用 LLM 时
  • 代码示例(AgentOutput 结构,基于源码分析):
{
  "evaluation_previous_goal": "评估上一步操作的结果",
  "memory": "跨步骤的记忆信息",
  "next_goal": "下一步要完成的具体目标",
  "action": {
    "click_element_by_index": { "index": 0 }
  }
}

Chrome 扩展桥接(Extension Bridge)

  • 定义: 页面脚本通过 window.PAGE_AGENT_EXT API 与 Chrome 扩展通信的机制
  • 作用: 将页内 Agent 的能力扩展到跨标签页、浏览器级控制
  • 使用场景: 需要在多个网页之间协调执行的自动化任务
  • 代码示例(基于官方文档 v1.7.1):
// 从页面脚本调用 Chrome 扩展执行跨页任务
const result = await window.PAGE_AGENT_EXT.execute(
  'Compare the top 3 results for "wireless keyboard" on Amazon',
  {
    baseURL: 'https://api.openai.com/v1',
    apiKey: 'YOUR_API_KEY',
    model: 'gpt-5.1',
    onStatusChange: (status) => updateUI(status),
  }
)

内置工具(Built-in Tools)

  • 定义: Agent 注册表中的 8 个预定义操作工具
  • 作用: 覆盖 Web 页面交互的核心操作类型
  • 工具列表:
工具名 功能 参数
done 标记任务完成 text, success
wait 等待页面加载 seconds (1-10)
ask_user 向用户提问 question
click_element_by_index 按索引点击元素 index
input_text 在元素中输入文本 index, text
select_dropdown_option 选择下拉选项 index, text
scroll 垂直滚动 down, num_pages, pixels, index
scroll_horizontally 水平滚动 right, pixels, index

此外还有一个实验性的 execute_javascript 工具,需要显式启用。

同类技术横向对比

维度 Page-Agent browser-use Stagehand
核心理念 页面内嵌入式 Agent,从内部操控 服务端全自主 Agent 循环 Playwright 之上的 AI 原子操作
运行位置 浏览器页面内(JavaScript) 服务端(Python/Playwright) 服务端(TypeScript/Playwright)
语言 TypeScript/JavaScript Python TypeScript/JavaScript
运行时依赖 仅 zod Python + Playwright Node.js + Playwright
LLM 交互方式 文本 DOM + ReAct MacroTool 截图 + DOM 双模 + Agent Loop DOM 结构 + AI 原子操作(act/extract/observe)
跨页能力 需 Chrome 扩展(可选) 内建多标签页支持 基于 Playwright 的多页面
MCP 支持 支持(Beta) 不支持 通过 Stagehand 2.0 agent()
利用用户登录态 原生支持(运行在用户浏览器内) 需要手动管理 Cookie 需要手动管理会话
GitHub Stars ~16.7K(2026-04-12) ~50K(2026-04 估计) ~10K(2026-02 数据)[置信度:中]
License MIT MIT MIT
执行速度(简单任务) 中等(2-5 秒/步) 较慢(2-5 秒/步) 较快(1-3 秒/操作)
维护负担(30 天) <5% 需要调整 <5% 需要调整 <5% 需要调整
LLM 成本/任务 $0.02-0.10 $0.02-0.30 $0.002-0.02/操作
基础设施需求 零(浏览器内运行) 需要服务器 + 浏览器驱动 需要服务器 + Playwright
安全模型 页面内同源限制 + 扩展 token 授权 服务端全控制 服务端全控制
CSP 兼容性 可能受严格 CSP 阻止 不受 CSP 影响 不受 CSP 影响
适用场景 SaaS AI Copilot、页内自动化 复杂多步自主任务 混合确定性 + AI 工作流

数据来源:GitHub 仓库页面(2026-04-12)、NxCode 竞品分析(2026-02-19)、80aj.com 源码拆解(2026-03-12)。

适用场景分析

最佳场景

  1. SaaS 产品 AI Copilot 集成 - 最适合的场景。一行代码为 SaaS 产品添加自然语言交互能力,无需后端改造。用户已登录状态下直接操作,无需传递凭证。[置信度:高]
  2. 企业管理系统智能填表 - ERP、CRM、后台管理系统中的 20 步工作流压缩为一句话。页内运行意味着可以利用员工已有的系统权限。[置信度:高]
  3. Web 无障碍辅助 - 让任何 Web 应用通过自然语言(甚至语音命令)变得可访问。零部署门槛,CDN 引入即可。[置信度:高]
  4. 已有 Agent 系统的浏览器工具 - 通过 @page-agent/core 无头核心,将 Page-Agent 作为现有 AI Agent 的工具使用。[置信度:中]
  5. 产品演示和引导 - 通过 Bookmarklet 在任意网站即时演示自动化能力,适合售前和培训场景。[置信度:高]

不适用场景

  1. 大规模批量数据抓取 - 每次操作需要 LLM 推理调用,成本和速度不如确定性脚本。替代方案:Playwright + 自定义选择器。
  2. 需要视觉理解的自动化 - 文本 DOM 方案无法处理 Canvas、验证码、图表等视觉元素。替代方案:browser-use(支持截图 + 视觉模型)。
  3. 严格的 CSP(Content Security Policy)环境 - 严格的企业 CSP 策略可能阻止脚本注入。替代方案:服务端方案(browser-use/Playwright)或与运维团队合作白名单。
  4. 跨域多站点复杂工作流 - 页内版本受同源策略限制,Chrome 扩展虽然支持跨标签页但功能仍在完善中。替代方案:browser-use 的全自主 Agent 模式。

优缺点深度分析

优势

  1. 零基础设施需求 - 无需服务器、无头浏览器、Python 环境或浏览器扩展。仅一行 JavaScript 代码即可嵌入。这是与所有竞品相比最显著的差异化优势。
  2. 原生利用用户会话 - 运行在用户浏览器内,直接访问已登录的会话状态,无需 Cookie 管理、凭证传递或服务器端登录流程。这一特性解锁了服务端方案无法触及的场景(如企业内部系统自动化)。
  3. Bring Your Own LLM - 不绑定任何特定 LLM 提供商,支持所有 OpenAI 兼容 API,包括本地 Ollama 部署。库本身不包含后端服务,数据仅流向用户配置的 LLM API。
  4. 工程级容错设计 - 5 级渐进式响应修复、React Fiber 绕过、完整人类事件序列模拟、中文输入法兼容。这些细节体现了对真实 Web 环境复杂性的深刻理解。
  5. 模块化可选架构 - 可以使用完整方案(UI + Agent),也可以只用无头核心(@page-agent/core),甚至只用 DOM 操作层(page-controller)。

劣势

  1. 文本 DOM 方案的局限性 - 不支持 Canvas 元素、跨域 iframe、复杂验证码等视觉交互场景。作者在 HN 讨论中明确表示,当前版本有意排除了对 Shadow DOM、Canvas 和跨域 iframe 的深度支持。虽然 DOM 感知层的代码中存在 Shadow DOM 和同源 iframe 穿透的基础逻辑,但在实际使用中这些特性并不可靠。[置信度:高]
  2. CSP 兼容性问题 - 严格的 Content Security Policy 会阻止脚本注入。企业级 SaaS 应用(尤其是金融、医疗等行业)通常设置了严格 CSP,这在生产环境中是一个实际障碍。[置信度:高]
  3. LLM 成本和延迟 - 每一步操作都需要一次 LLM API 调用,与确定性脚本相比存在显著的延迟和成本差异。简单操作(如点击按钮)也需要 2-5 秒的 LLM 推理时间。[置信度:高]
  4. 相对年轻的项目 - 虽然社区增长迅速,但与 browser-use(50K+ Stars)和 Playwright(70K+ Stars)相比,生态和第三方集成仍然有限。[置信度:高]
  5. Chrome 扩展功能仍在完善 - 作者在 HN 讨论中提到"Chrome 扩展是我的重点,简单任务已经相当可靠和快速,但复杂工作流还有很长的路要走"。[置信度:高]

风险点

  1. 安全风险 - Page-Agent 运行在页面的 JavaScript 上下文中,拥有与页面其他脚本相同的权限,可以访问用户的 Session Token 等敏感信息。虽然这不是 Page-Agent 独有的风险(所有第三方脚本都有),但 Agent 的自主行为特性增加了被恶意利用的可能性。缓解措施:使用白名单/黑名单 API 限制可操作元素、Human-in-the-Loop 功能(开发中)。[置信度:高]
  2. LLM 提示注入(Prompt Injection) - 页面中的恶意内容可能通过 DOM 注入影响 LLM 的推理过程。例如,攻击者在页面中插入隐藏的文本,诱导 Agent 执行非预期操作。[置信度:中]
  3. 项目可持续性 - 虽然由阿里巴巴工程师主导维护,但作者在 HN 讨论中暗示项目的欧洲基础设施部署需要说服公司出资,表明项目可能面临公司内部资源分配的压力。[置信度:低]

生态成熟度评估

  • 插件/扩展数量: 较少。官方提供 Chrome 扩展(Page Agent Ext),社区项目仍处于起步阶段。GitHub 上的 Awesome Page Agent 列表中的社区项目栏位仍为空。
  • 第三方库支持: 支持所有 OpenAI 兼容 API 的 LLM 服务,包括 AWS Bedrock、LiteLLM、Ollama 等。运行时依赖仅 zod 一个库。
  • 企业采用案例: 尚未公开大规模企业采用案例。Chrome 扩展有 1000+ 用户(2026-03-12 数据,来源:80aj.com 源码分析)。项目定位更适合中小型 SaaS 集成。[置信度:中]
  • 文档质量: 官方文档(alibaba.github.io/page-agent)结构清晰,提供 CDN 集成、npm 安装、Chrome 扩展配置和 API 参考。AGENTS.md 文件为 AI 编程助手提供了上下文信息。中文社区有大量教程和介绍文章。

生产环境就绪度评估

  • 稳定性: 中等偏上。项目发布频率高(28 个 Release,平均约每周一个),容错设计到位(5 级渐进修复)。25 个 Open Issues 和 24 个 Open PR 表明社区活跃但仍有待解决问题。核心库的稳定性优于 Chrome 扩展。[置信度:中]
  • 性能表现: 每步操作需要 2-5 秒的 LLM 推理时间 + 0.4 秒冷却期。DOM 脱水的效率较高,Token 使用量经过优化。对于需要快速响应的场景,性能是一个瓶颈。[置信度:高]
  • 监控/可观测性: 有限。Agent 提供状态回调(onStatusChange),但缺乏系统化的日志输出、指标采集和分布式追踪集成。生产环境使用需要自行构建监控层。[置信度:中]
  • 故障恢复: Agent 主循环有 maxSteps 限制和错误捕获机制。LLM 调用失败时会重试或降级为 wait。但缺乏持久化状态管理,长时间任务中断后无法恢复。[置信度:中]
  • 安全合规: 运行时安全模型基于浏览器同源策略,Chrome 扩展使用 token 授权。已知的安全考量包括:第三方脚本权限共享、LLM 提示注入风险、严格 CSP 兼容性。作者承诺代码完全开源可审计。[置信度:高]

学习曲线评估

  • 前置知识要求:
  • 必需:JavaScript/TypeScript 基础、Web 开发基础(HTML/DOM)
  • 推荐:了解 LLM API 使用(OpenAI 兼容接口)、前端框架事件系统
  • 可选:Chrome 扩展开发(如需跨页功能)、MCP 协议(如需集成)
  • 入门时间估计: 30 分钟 - 1 小时。CDN 一行引入 + 免费 Demo LLM 即可体验核心功能。npm 安装 + 自定义 LLM 配置需要额外 30 分钟。
  • 精通时间估计: 1-2 周。深入理解 HTML 脱水机制、自定义工具注册、提示词优化、白名单/黑名单配置需要阅读源码和实际测试。Chrome 扩展集成和 MCP 服务器配置需要额外学习。

总结与建议

Page-Agent 在 Web AI Agent 领域开辟了一个独特的定位:嵌入式、页内运行的 GUI Agent。与 browser-use(服务端全自主)和 Stagehand(Playwright 增强层)形成差异化互补。

推荐使用的场景: - SaaS 产品需要快速添加 AI Copilot 功能 - 企业内部系统需要智能化填表和操作辅助 - Web 应用的无障碍访问增强 - 前端团队希望在 TypeScript/JavaScript 生态内构建自动化

需要谨慎评估的场景: - 对 CSP 有严格要求的企业环境 - 需要处理视觉元素(Canvas、验证码)的自动化 - 大规模批量操作(LLM 成本和延迟) - 需要高可靠性保证的关键业务流程

与竞品的组合策略: Page-Agent 擅长"页内操作",browser-use 擅长"跨站点自主任务",Stagehand 擅长"确定性 + AI 混合工作流"。在生产环境中,可以根据不同场景选择不同工具,甚至组合使用。

信息来源与版本说明