1 分•作者: philipfweiss•3 个月前
7 分•作者: muchael•3 个月前
Libretto PR Agent 是一个免费的 TypeScript 库,用于维护 Playwright 浏览器自动化脚本。只需在现有 Playwright 脚本中添加一行代码,它就能让一个代理在脚本失败时自动打开 GitHub PR 来修复脚本。 几个月前,我们发布了 Libretto,这是一个用于构建确定性浏览器自动化的 CLI + 编码代理技能。其理念是,对于许多浏览器工作流程,特别是重复性的业务工作流程,您不需要一个在运行时做出决策的 AI 代理。您需要的是可检查、运行速度更快且比反复调用 AI 浏览器代理便宜得多的确定性 Playwright 脚本。 这帮助我们生成了基于 Playwright 和网络请求的脚本,但网站经常会发生变化,这会破坏确定性脚本。因此,大规模维护各种脚本是一件令人头疼的事情。 如果您已经拥有大量功能正常的 Playwright 脚本,您最不想做的就是为了简化维护而围绕着 browser-use 或 stagehand 等新的运行时 AI 框架重写一切。 因此,我们构建了 Libretto PR Agent。 目标很简单:保留您现有的 Playwright 脚本,添加 Libretto,连接 GitHub,并在出现问题时让 PR 代理提出修复建议。 Libretto PR Agent 从 GitHub 拉取您的代码,并通过 CDP 连接到刚刚失败的浏览器会话。它有一个 exec 工具,用于将 Playwright 和 JavaScript 注入页面,一旦它检查了失败的原因,就会向您的存储库打开一个 PR,其中包含建议的代码修复。 使用方法如下: ```typescript try { await automationLogic(page); } catch (error) { await playwrightDebugger.debugFailure(error, page); throw error; } ``` 该代理完全免费且开源,允许您使用自己的 LLM 提供商 API 密钥,并支持任何浏览器提供商(包括自托管)。 源代码在此处:[https://github.com/saffron-health/libretto/tree/main/packages/playwright-debugger](https://github.com/saffron-health/libretto/tree/main/packages/playwright-debugger) 我们认为这使得浏览器集成更容易维护,特别是对于那些已经拥有生产环境中的 Playwright 浏览器自动化脚本,并且不想进行全面迁移以获得 AI 辅助调试和修复的团队。 如果您正在维护生产环境中的浏览器自动化脚本,我们很想了解您当前的调试流程以及您对此方法的任何反馈。