别担心,今天介绍一个超厉害的开源项目来解决这个问题。它包含的功能比较齐全,而且社区还很活跃。绝对会惊掉你的下巴。
Stagehand 是一个AI驱动的浏览器自动化框架,基于Playwright开发,包含的功能比较多(包含了:自然语言操作、计算机使用模型、数据提取、动作预览、缓存机制等),用它能很快的实现复杂的网页自动化任务。
如果你也好折腾各种自动化脚本或者正好要搭建一个智能的网页操作系统,那么这个项目我劝你一定要收藏起来。
应用特性
-
AI驱动操作,话说现在好的自动化工具都集成了人工智能技术
-
基于自然语言指令,提供了丰富的操作支持(点击、输入、提取、导航等)
-
基于Playwright的可靠架构
-
支持多种AI模型(OpenAI、Anthropic等计算机使用模型)
-
基于代码与自然语言结合的灵活性
-
统一的页面操作接口,快速能够切换各种操作模式
-
动作预览功能
-
缓存重复操作
-
数据提取工具
-
一行代码集成能力
它还支持二次开发,能够很轻松地根据不同的自动化需求进行扩展,避免了从零开始造轮子的麻烦,能帮你节省不少时间。
应用技术
-
自动化框架:使用 Playwright + TypeScript 框架,性能高也稳定。
-
AI模型:支持 OpenAI、Anthropic 等主流计算机使用模型,也可以很方便的进行切换。
-
前端技术:基于 Node.js + TypeScript,UI 美观大方,交互体验流畅。
-
接口规范:采用模块化设计,标准的API接口,可以很方便的对接各种应用。
部署教程
想要快速跑起来其实非常简单,照着官网的介绍,几分钟就能搞定: 1、准备环境:需要安装 Node.js(16+)。 2、创建项目:
# 一键创建项目
npx create-browser-app
# 手动安装
git clone https://github.com/browserbase/stagehand.git
cd stagehand
pnpm install
pnpm playwright install
3、编写自动化脚本:创建你的第一个AI驱动的浏览器自动化。
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({
apiKey: process.env.OPENAI_API_KEY,
});
await stagehand.init();
// 使用Playwright函数
const page = stagehand.page;
await page.goto("https://github.com/browserbase");
// 使用AI执行操作
await page.act("click on the stagehand repo");
// 使用计算机使用代理
const agent = stagehand.agent({
provider: "openai",
model: "computer-use-preview",
});
await agent.execute("Get to the latest PR");
// 提取页面数据
const { author, title } = await page.extract({
instruction: "extract the author and title of the PR",
schema: z.object({
author: z.string().describe("The username of the PR author"),
title: z.string().describe("The title of the PR"),
}),
});
以上命令执行完毕就能看到AI开始自动操作浏览器,完成各种复杂任务了,整个过程 10 分钟左右。
推荐原因
为什么我要强烈推荐这个项目呢?好东西当然要推荐,当然也是因为它太牛B了:
-
学习价值高:项目用 AI + Playwright 做了一个完整的智能自动化实践,非常适合学习。尤其是毕业生,研究一遍几乎可以做项目了
-
开箱即用:常用自动化功能都自带,可以省去大量重复开发的工作。节省的时间打打王者不香吗
-
社区活跃:GitHub 上 star 数量不仅高,社区还挺活跃,更新也比较频繁。如果有兴趣也可以参与一下。
-
扩展性强:模块化设计,很方便后续接入自己的自动化逻辑。
无论你是想拿它来做网页爬虫,还是用来学习AI驱动的自动化开发,Stagehand 都是一个不错的选择
项目地址: