Stagehand:AI 浏览器自动化框架

用自然语言和代码控制浏览器,实现灵活、可维护、可靠的自动化。

Star 数
★ 26k
最近更新
今天
License
MIT
主语言
TypeScript

30 秒速览

运行形态
代码库 / SDKMCP 服务器
可在哪里用
平台专用
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Node.jspnpmLLM API 密钥Browserbase 凭据Shell / 命令行网络访问本地文件系统
典型场景
前端开发者需要自动化测试复杂 Web 应用,但不想编写繁琐的低级选择器。
不适合
  • 只使用 Python 或 Go 之外语言的开发者,官方 SDK 仅覆盖 TypeScript、Python、Go
  • 希望零成本运行、不愿承担按次 LLM 调用费用的团队

这个 Agent 能做什么,适合哪些场景?

Stagehand 是一个浏览器自动化框架,将 AI 与代码结合,让开发者用自然语言描述操作,同时保留代码的精确控制。它基于 CDP 引擎,提供 act、agent、extract 等核心接口,分别用于执行单步操作、多步任务和结构化数据提取。Stagehand 支持自动缓存和自愈能力,能记住重复操作,减少 AI 调用,并在网站变化时自动恢复。该项目采用 TypeScript 编写,通过 pnpm 管理,可安装到现有 Node.js 项目中。它需要 LLM API 密钥和可选的 Browserbase 凭证。

Stagehand 通过 CDP 引擎与浏览器交互,提供 act() 执行单个自然语言指令(如点击),agent() 执行多步任务(如“获取最新 PR”),extract() 从页面提取结构化数据(如 PR 作者和标题)。它支持自动缓存动作以减少 LLM 推理,并在页面变化时自动修复。开发者可通过 npx create-browser-app 快速开始,或在现有项目中通过 pnpm 安装。

  1. 前端开发者需要自动化测试复杂 Web 应用,但不想编写繁琐的低级选择器。
  2. 数据工程师需要从动态网站提取结构化数据,但页面结构经常变化。
  3. 运维人员需要监控 Web 应用状态,并自动执行例行操作(如点击按钮)。
  4. QA 工程师希望将部分脆弱的选择器替换为自然语言指令,提高测试稳定性。
  5. 产品经理需要快速原型化一个自动化工作流,而不深入了解底层框架。

如何安装或部署这个 Agent?

需要 Node.js 环境,使用 pnpm 作为包管理器。从 GitHub 克隆仓库:git clone https://github.com/browserbase/stagehand.git,进入目录后运行 pnpm install 和 pnpm run build。也可以使用 npx create-browser-app 快速创建项目。此外,需要配置 LLM API 密钥(如 OpenAI)和 Browserbase 凭证,通过复制 .env.example 为 .env 并填写。

如何使用这个 Agent?

安装后,运行 pnpm run example 执行示例脚本。在代码中,使用 stagehand.act("点击 stagehand 仓库") 执行动作,stagehand.agent().execute("获取最新 PR") 执行多步任务,stagehand.extract(...) 提取数据。确保配置好环境变量,包括 LLM API 密钥和 Browserbase 凭证。

这个 Agent 有哪些优点和局限?

优点
  • 自然语言与代码混合编程,灵活度高,可处理非预期页面变化。
  • 自动缓存重复动作,降低 LLM 调用成本和延迟。
  • 提供 act、agent、extract 等丰富接口,覆盖多种自动化场景。
  • 基于 Playwright 和 CDP,底层稳定,易于调试。
局限
  • 需要 LLM API 密钥,运行成本随使用量增加。
  • 依赖 Browserbase 服务,可能涉及额外配置和网络要求。
  • 作为较新框架,生态系统和文档可能不如传统工具成熟。
  • 需要 Node.js 和 pnpm 环境,对非 JavaScript 开发者有学习成本。

这个 Agent 与同类方案有什么区别?

相比 Selenium、Playwright 等传统自动化工具,Stagehand 允许用自然语言代替部分低级代码,降低维护成本。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Stagehand:AI 浏览器自动化框架 当前 47 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 26k 今天 TypeScript —
CamoFox Browser Server 72 · 存在缺口 自托管服务免费 ★ 424 27 天前 JavaScript Claude Code
Uni-CLI 72 · 存在缺口 命令行工具免费 ★ 235 8 天前 TypeScript ChatGPT · Codex · Claude Code
Notte 网页自动化 44 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 2k 今天 Python —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
47/ 100 五分制 2.4 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 3 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 8/29
可靠稳定 9/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全8 / 29 · 1.4/5

证据显示:CLI 测试中明确验证了不发送原始 argv 值(如 URL 和 token)到遥测,体现了对敏感数据的保护;依赖覆盖(pnpm overrides)显示了对已知漏洞的主动缓解;但缺少用户确认机制(如 act 前确认)和回滚功能。扣分原因:用户确认和回滚缺失,数据流透明度仅部分体现(如遥测事件),外部影响(如浏览器操作)未明确限制。

可靠稳定9 / 14 · 3.2/5

证据显示:CI 工作流包含 lint、build、单元测试、e2e 测试,且测试覆盖了错误处理(如 CLI 错误消息);依赖版本固定(pnpm-lock.yaml)和覆盖确保可用性。扣分原因:自一致性部分体现(如 CLI 命令命名),失败消息在测试中验证但未全面覆盖。

适用触发10 / 18 · 2.8/5

证据显示:README 描述了多种使用场景(act、agent、extract),支持本地和 Browserbase 环境;CLI 提供多种命令(cloud fetch、search 等)。扣分原因:触发精度(如 act 的指令解析)未详细说明,环境适配(如浏览器版本)依赖外部配置。

规范维护10 / 18 · 2.8/5

证据显示:README 提供安装和构建说明,LICENSE 为 MIT,CI 工作流体现维护责任;但缺少明确的版本变更日志和已知限制说明。扣分原因:命名稳定性(如 CLI 命令)未明确保证,版本变更日志缺失。

有效结果7 / 13 · 2.7/5

证据显示:输出格式(JSON、表格)和文件输出支持,CLI 提供多种功能(fetch、search、projects 等),边际价值高;但成本效益(如 token 消耗)未量化。扣分原因:成本效益缺乏数据支持。

证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如可靠性)有测试支持,但未提供具体证据链接;测试文件(如 cli-cloud-contract.test.ts)验证了 API 契约。扣分原因:声明可追溯性不足,跨来源佐证有限,事实与推断分离不明确。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 用户确认机制缺失:act 等操作可能直接执行,需谨慎使用。
  • 回滚功能未提供:自动化操作失败后无法自动恢复。
  • 数据流透明度有限:遥测数据的具体用途和存储未详细说明。
  • 依赖安全依赖覆盖,但未提供漏洞扫描报告。
证据充分度:低 评估于 2026年8月9日 审查版本 7566804ed4b9 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. 发布说明摘录
    Patch Changes - [#2842](https://github.com/browserbase/stagehand/pull/2842) [f86e609](https://github.com/browserbase/stagehand/commit/f86e609b934d3f8ae625f5399104df2df9ade7a5) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - update the MCP SDK to v1.30 and refresh supporting dependency versions …
    在 GitHub 查看 ↗
  2. stagehand-server-v3/v3.7.6 stagehand/server-v3 v3.7.6
    发布说明摘录
    What's Changed * Version Packages by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/2778 * [V3]: rm docs pkg by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2830 * [V3]: fix xpath building logic for coordinates inside of iframes by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2836 * [V3]: bump various transitive deps by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2842 * [V3]: bump non core transitive deps by @seanmcguire12 in https://github.com/browserbase/stagehand/pull/2845 …
    在 GitHub 查看 ↗
  3. stagehand-server-v3/v3.7.5 stagehand/server-v3 v3.7.5
    发布说明摘录
    What's Changed * Contrib/2384 by @miguelg719 in https://github.com/browserbase/stagehand/pull/2385 * chore(release): retarget release automation from main to v3 by @miguelg719 in https://github.com/browserbase/stagehand/pull/2660 * fix(v3): normalize CUA coordinates to actual viewport by @miguelg719 in https://github.com/browserbase/stagehand/pull/2767 * fix(v3): preserve provider for structured output by @miguelg719 in https://github.com/browserbase/stagehand/pull/2775 * Version Packages by @github-actions[bot] in https://github.com/browserbase/stagehand/pull/2662 …
    在 GitHub 查看 ↗

常见问题

Stagehand 是否支持 Python?
官方提供了单独的 Python 实现,链接在 README 中,但本仓库是 TypeScript 版本。
使用 Stagehand 需要哪些凭据?
需要 LLM 提供商的 API 密钥(如 OpenAI)以及 Browserbase 的凭证,用于远程浏览器管理。
Stagehand 如何处理网站结构变化?
通过自动缓存和自愈机制,当网站发生变化导致自动化失败时,会自动重新启用 AI 推理来调整动作。
可以将 Stagehand 安装到现有项目中吗?
可以,通过 pnpm 安装指定分支的包,例如 pnpm add "github:browserbase/stagehand#<branch>&path:/packages/core"。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents