Stagehand 浏览器自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/stagehand-browser-automation。
技能介绍
要解决的痛点
浏览器自动化长期处在两难之中:走 Playwright、Puppeteer、Selenium 这条路,你得为每个选择器、每个等待条件写低层代码,页面结构一变,脚本就断;走高层 agent 那条路,模型直接决定下一步点哪里,单次演示看着很惊艳,落到生产环境却难以复现、难以审计、难以回归。Stagehand 想填平这个缝隙——让你用一句自然语言描述「要做什么」,同时保留写确定性代码的能力,两者在同一个工作流里共存。
它如何工作
- 自然语言与代码混写:复杂分支、状态断言、数据变换仍然交给你写的代码,机械的点击、填充、滚动交给自然语言动作,不必逐个元素去查 DOM。
- Playwright 级控制:底层仍是你熟悉的浏览器驱动能力,等待、导航、多标签、拦截请求这些操作不会因为引入了 AI 而丢失。
- 结构化提取:从页面里抽字段(标题、价格、表格)时可以直接指定要什么结构,而不是把整页 HTML 丢给模型再慢慢解析。
- auto-caching 与 self-healing:它会记住之前跑过的动作序列,站点没变时直接复用,不再调用 LLM 推理,因此重复任务的成本和延迟都显著下降;当页面结构变化导致原流程失效,它再把判断权交回 AI,重新生成可执行的动作。这就是「写一次,跑很久」的实际含义。
适用边界与注意点
- 这套技能默认面向 Node/TypeScript 工作流,Python 实现是另一条独立分支,需要另找对应仓库,别指望同一份代码两种语言通用。
- 缓存的稳定性建立在站点结构长期不变的前提下。对设计频繁改版的站点,缓存命中率会下降,届时你会更多依赖模型实时推理,成本与波动性也随之上升。
- AI 负责「决定下一步做什么」,不负责保证结果正确。涉及金额、权限、状态变更的操作,仍然要写确定性断言,别把校验也外包给模型。
使用场景
- 维护登录后的后台巡检脚本,页面改版后不重写选择器,让 AI 重新生成点击流程
- 批量打开商品页,按固定字段抽取标题、价格与库存并汇入表格
- 编写多步骤表单填报流程,遇到弹窗和校验提示时自动调整操作
- 把重复跑的网页任务交给缓存,结构未变时跳过推理直接复用旧动作序列
适合人员
- 负责爬虫与采集的后端工程师,需要在站点改版后仍拿到稳定的结构化数据
- 做端到端测试的 QA,希望自然语言驱动的浏览器流程能保留断言与重试控制
- 搭建内部工具的全栈开发者,想少写选择器但仍用确定性代码处理状态变更
- 运营或增长同学,经常要在后台按固定步骤录入和汇总页面信息