技能概述
本技能提供完整的 Browserbase Functions 开发工作流,通过 stagehand CLI 实现从本地探索到云端部署的浏览器自动化全流程。
核心用法
技能采用七步工作流:1) 使用 stagehand session create --local 交互式探索目标网站;2) stagehand fn init 初始化项目;3) 关键修复步骤——必须手动补全生成的 package.json(添加 description/main/packageManager、固定版本号、补充 devDependencies);4) 编写 TypeScript 自动化脚本,通过 defineFn 定义函数,利用 Playwright CDP 连接浏览器会话;5) pnpm bb dev 本地测试;6) pnpm bb publish 部署至云端;7) stagehand fn invoke 调用生产环境函数。
显著优点
- 云端托管:函数运行在 Browserbase 基础设施,无需维护浏览器集群
- 灵活触发:支持 API 调用、Webhook 或定时任务
- 开发体验:本地热重载开发服务器,快速迭代
- 强大能力:完整的 Playwright API 支持,可处理登录、多页流程、复杂数据提取
- 会话隔离:每次调用获得干净浏览器环境
潜在缺点与局限性
- 严重初始化 Bug:
stagehand fn init生成的package.json结构不完整,直接导致部署失败("No functions were built"),新手极易踩坑 - 强制 pnpm:依赖特定包管理器版本
- 学习曲线:需同时掌握 Playwright、TypeScript、CLI 工具链
- 执行限制:15 分钟最大超时,不适合超长任务
- 调试成本:云端执行日志有限,本地/生产环境差异可能引发问题
适合人群
适合需将浏览器自动化任务云端化、定时化的开发者;已有 Playwright/爬虫经验者上手更快;不适合仅需单次抓取或不愿处理配置问题的轻量用户。
常规风险
1. 配置风险:未修复 package.json 即部署必失败
2. 凭证管理:BROWSERBASE_API_KEY 需安全存储
3. 网站反爬:自动化操作可能触发目标站防护机制
4. 依赖漂移:技能文档建议固定版本,但未来 SDK 更新可能带来兼容性挑战
5. 数据合规:自动化抓取需遵守目标网站 ToS 及数据保护法规