开源框架整合 AI 能力实现智能浏览器自动化,相比传统 Selenium 等更灵活。适用于测试、爬虫、Web RPA 等实际场景。
AI 浏览器自动化框架 阅读文档
如果你在寻找 Python 实现,可以在这里找到。
Stagehand 是一个浏览器自动化框架,可通过自然语言和代码控制 Web 浏览器。Stagehand 将 AI 的强大能力与代码的精确性结合起来,让 Web 自动化变得灵活、易于维护,而且真正可靠。
现有的大多数浏览器自动化工具,要么要求你使用 Selenium、Playwright 或 Puppeteer 等框架编写底层代码,要么依赖在生产环境中表现难以预测的高层 Agent。Stagehand 让开发者能够自行选择哪些部分用代码编写、哪些部分用自然语言描述,并弥合两者之间的鸿沟,因此自然成为生产环境中浏览器自动化的理想选择。
选择何时使用代码、何时使用自然语言:需要浏览不熟悉的页面时使用 AI;明确知道自己要做什么时使用代码。
选择何时使用代码、何时使用自然语言:需要浏览不熟悉的页面时使用 AI;明确知道自己要做什么时使用代码。
将 AI 驱动的操作转化为可重复执行的工作流:Stagehand 允许你在运行前预览 AI 操作,还能帮助你轻松缓存可重复执行的操作,从而节省时间和 token。
将 AI 驱动的操作转化为可重复执行的工作流:Stagehand 允许你在运行前预览 AI 操作,还能帮助你轻松缓存可重复执行的操作,从而节省时间和 token。
一次编写,永久运行:Stagehand 的自动缓存与自愈能力相结合,可以记住之前的操作,在无需 LLM inference 的情况下运行;当网站发生变化、自动化流程失效时,它也知道何时需要引入 AI。
一次编写,永久运行:Stagehand 的自动缓存与自愈能力相结合,可以记住之前的操作,在无需 LLM inference 的情况下运行;当网站发生变化、自动化流程失效时,它也知道何时需要引入 AI。
只需一行代码即可开始使用 Stagehand,也可以查看我们的快速入门指南以了解更多信息:
npx create-browser-app
下面展示了如何使用 Stagehand 构建一个浏览器自动化示例:
// Stagehand's CDP engine provides an optimized, low level interface to the browser built for automation
const page = stagehand.context.pages()[0];
await page.goto("https://github.com/browserbase");
// Use act() to execute individual actions
await stagehand.act("click on the stagehand repo");
// Use agent() for multi-step tasks
const agent = stagehand.agent();
await agent.execute("Get to the latest PR");
// Use extract() to get structured data from the page
const { author, title } = await stagehand.extract(
"extract the author and title of the PR",
z.object({
author: z.string().describe("The username of the PR author"),
title: z.string().describe("The title of the PR"),
}),
);
访问 docs.stagehand.dev 查看完整文档。
git clone https://github.com/browserbase/stagehand.git
cd stagehand
pnpm install
pnpm run build
pnpm run example # run the blank script at ./examples/example.ts
如果你拥有 LLM provider 的 API key 和 Browserbase 凭据,就能更充分地发挥 Stagehand 的能力。要将这些信息添加到项目中,请运行:
cp .env.example .env
nano .env # Edit the .env file to add API keys
要直接从 GitHub 分支安装 Stagehand,请安装 core package 子目录:
pnpm add "github:browserbase/stagehand#<branchName>&path:/packages/core"
或者在项目的 package.json 中进行设置:
"@browserbasehq/stagehand": "github:browserbase/stagehand#<branchName>&path:/packages/core"
我们非常重视大家对 Stagehand 的贡献!如有问题或需要支持,请加入我们的 Discord 社区。
整体而言,我们关注的改进方向依优先级排序为:可靠性、可扩展性、速度和成本。如果你有兴趣参与贡献,修复 bug 和进行小幅改进是最好的起点。对于更复杂的功能,我们强烈建议你在开始之前,先通过 Discord 社区联系 Miguel Gonzalez 或 Paul Klein,以确保你的贡献与我们的目标一致。
我们要感谢以下人员对 Stagehand 做出的重大贡献:
采用 MIT License 授权。
版权所有 © 2025 Browserbase, Inc.