Stagehand:让 AI Agent 可靠操控浏览器的开发套件
Stagehand 是 Browserbase 出品的 AI 浏览器 Agent SDK,它的核心理念是「Playwright 为测试而生,Stagehand 为 Agent 而生」。在 AI Agent 需要自主操作浏览器的场景里,传统自动化工具面临三个核心挑战:网页结构变化导致定位失效、Token 消耗过大影响成本、以及跨复杂 DOM(iframe、Shadow DOM)时的支持缺陷。Stagehand 通过自愈式操作(self-healing actions)、混合无障碍树裁剪(hybrid accessibility tree trimming)和深度定位器(deep locators)同时解决这三件事,让 AI Agent 能够以自然语言指令可靠地完成浏览器任务,同时保持极低的 Token 消耗和快速恢复能力。
Stagehand 在 GitHub 拥有 24,038 颗 Stars(截至 2026-08-24),Fork 1,654 次,是 AI 浏览器自动化领域毫无争议的头部项目。该项目在 GitHub Trending 多次上榜,被 CSDN AI 提效周刊列为「近期关注」首位,并在 Hacker News、Reddit r/ClaudeAI 上引发大量讨论。作为 Browserbase 的核心产品,它同时提供 TypeScript、Python、Go 三种 SDK,覆盖了当前最主流的 AI 编程语言生态。
GitHub 链接:https://github.com/browserbase/stagehand
作者为 Browserbase(GitHub Organization: browserbase),一家专注 AI 原生浏览器基础设施的初创公司,旗下产品包括 Stagehand(浏览器 Agent SDK)、Browserbase Cloud(云端浏览器集群)等,是 AI Agent 浏览器自动化赛道的核心玩家。
Stagehand 的架构设计围绕三个关键词展开:熟悉感、自愈、低开销。
熟悉感来自于它的 API 设计直接借鉴了开发者已熟知的 Playwright 方法(goto、click、locator、screenshot),AI Agent 无需重新学习新 API,Claude Code、Cursor、Codex 等主流编码工具可以无缝接入。同时支持 act(执行动作)、observe(观察页面可操作元素)、extract(提取结构化数据)三个核心原语,用自然语言驱动,降低了 Prompt 工程的复杂度。
自愈能力是 Stagehand 区别于传统浏览自动化的关键。当网站结构发生变化(按钮移位、表单重组),Stagehand 会自动检测并刷新操作策略,无需人工干预重新写脚本。它通过监听 DOM 变化并结合 LLM 的推理能力判断「这个动作的等价替代方案」,大幅提升了长期运行 Agent 的可靠性。
低 Token 消耗通过混合无障碍树裁剪实现。传统方法让 Agent 读取完整 DOM,Stagehand 则只传递「理解页面所需的最少信息」,结合 OTel(OpenTelemetry)支持,让 Token 用量显著下降。扩展程序直接在浏览器旁边运行(runs as an extension next to the browser),省去了传统 CDP 远程调用的往返延迟。
安装 Stagehand 非常简洁,首先 git clone 仓库,然后安装依赖并构建:
git clone https://github.com/browserbase/stagehand.git
cd stagehand
just install
just generate
just build
运行需要配置 OPENAI_API_KEY 和 BROWSERBASE_API_KEY 环境变量,然后执行示例脚本:
export OPENAI_API_KEY="your-openai-api-key"
export BROWSERBASE_API_KEY="your-browserbase-api-key"
just example act
在代码中引入并初始化:
import { browserbase, Stagehand } from "@browserbasehq/stagehand";
const browser = await browserbase.launch({ apiKey: process.env.BROWSERBASE_API_KEY });
const stagehand = await Stagehand.create({
browser,
model: { modelName: "openai/gpt-5.4-mini", apiKey: process.env.OPENAI_API_KEY },
});
const [page] = await browser.context.pages();
await page.goto("https://github.com/browserbase");
// 用自然语言执行动作
await stagehand.act("click on the stagehand repo");
// 观察页面可操作元素
const { data: actions } = await stagehand.observe("find the latest PR");
// 提取结构化数据
const { data: { author, title } } = await stagehand.extract(
"extract the author and title of the PR",
z.object({ author: z.string(), title: z.string() })
);
Stagehand 的目标用户是所有需要让 AI Agent 操作浏览器的开发者,具体场景包括:网页数据采集(竞品监控、价格追踪、内容聚合)、自动化测试(AI 驱动的端到端测试)、RPA 场景(表单填写、账号注册、内容发布)、以及研究自动化(大规模网页信息抓取与处理)。无论是 AI 应用开发者构建产品功能,还是安全研究员进行自动化侦察,Stagehand 都能提供可靠的基础设施层。
输入输出示例一(基础导航):
- Input:
await stagehand.act("click on the sign up button") - Output:
{ success: true, action: "click", selector: "#signup-btn" }(页面实际执行了点击,Stagehand 自动选择了最匹配的按钮)
输入输出示例二(结构化数据提取):
- Input:
await stagehand.extract("extract all job listings with title, company, and location", z.object({ title: z.string(), company: z.string(), location: z.string() })) - Output:
{ data: [{ title: "Senior Engineer", company: "Acme Corp", location: "Remote" }, { title: "Product Manager", company: "Beta Inc", location: "New York" }] }(自然语言描述意图,Stagehand 理解页面结构并以 JSON 格式返回)
评论区
登录后可评论。