❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- Stagehand 是一个简单且可扩展的 AI 网页浏览框架,支持自然语言驱动的网页操作。
- 提供
act
、extract
和observe
三个简单的 API,支持多种语言模型和模型提供商。 - 基于原子指令执行自动化任务,提高可靠性和灵活性。
正文(附运行示例)
Stagehand 是什么
Stagehand 是一个简单且可扩展的 AI 网页浏览框架,是 Playwright 的继承者。它提供 act
、extract
和 observe
三个简单的 API,支持自然语言驱动的网页操作。Stagehand 提供一个轻量级、可配置、模块化的框架,无需复杂抽象,支持不同模型和提供商。Stagehand 基于原子指令执行自动化任务,提高可靠性,步骤规划由更高层次的代理处理。
Stagehand 的主要功能
- 自然语言驱动的自动化:基于简单的 API(
act
,extract
,observe
),Stagehand 支持开发者用自然语言指令控制网页操作和数据提取。 - 原子化指令执行:每个 Stagehand 函数接受原子指令,生成相应的 Playwright 代码并执行,提高可靠性。
- 模型和提供商支持:支持多种语言模型和模型提供商,如 OpenAI 和 Anthropic,支持开发者根据需求选择最合适的模型。
- 观察和建议行动:用
observe()
函数获取当前页面上执行的操作列表,辅助规划和执行自动化步骤。
Stagehand 的技术原理
- 自然语言处理(NLP):Stagehand 基于自然语言处理技术解析和理解用户提供的自然语言指令。指令被转换成具体的网页操作,如点击、填写表单、提取数据等。
- 指令到代码的转换:将自然语言指令转换成可执行的代码,通常是 Playwright 的 API 调用。涉及解析指令、确定操作的具体步骤,生成相应的代码。
- 原子化操作:每个指令都是原子化的,是不可分割的最小操作单元。原子化操作有助于提高自动化流程的稳定性和可靠性,每个操作都是独立且明确的。
- 上下文感知:Stagehand 基于
observe()
函数理解当前网页的上下文,有助于确定可执行的操作。上下文感知能力让 Stagehand 提供更智能的自动化建议。 - 模块化支持:Stagehand 设计为模块化,支持不同的 AI 模型和模型提供商。使 Stagehand 灵活地集成和切换不同的 AI 能力,适应不同的自动化需求。
如何运行 Stagehand
安装依赖
首先,确保你已经安装了 Node.js。然后,使用 npm 安装 Stagehand:
npm install @browserbase/stagehand
示例代码
以下是一个简单的示例,展示如何使用 Stagehand 进行自然语言驱动的网页操作:
const { act, extract, observe } = require("@browserbase/stagehand");
async function main() {
// 启动浏览器
const browser = await act("start browser");
// 打开网页
const page = await act("go to https://example.com", { browser });
// 提取页面标题
const title = await extract("get page title", { page });
console.log(`Page Title: ${title}`);
// 观察当前页面的操作列表
const actions = await observe({ page });
console.log("Available Actions:", actions);
// 关闭浏览器
await act("close browser", { browser });
}
main().catch((error) => console.error(error));
运行示例
保存上述代码到一个文件(例如 example.js
),然后在终端运行:
node example.js
代码解释
- 启动浏览器:使用
act
函数启动浏览器。 - 打开网页:使用
act
函数导航到指定的网页。 - 提取页面标题:使用
extract
函数提取页面标题并打印。 - 观察当前页面的操作列表:使用
observe
函数获取当前页面上可执行的操作列表并打印。 - 关闭浏览器:使用
act
函数关闭浏览器。
资源
- GitHub 仓库:https://github.com/browserbase/stagehand
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦