Show HN: Libretto – Making AI browser automations deterministic
21–30 of 72 posts
Re: Show HN: Libretto – Making AI browser automations deterministic
#22I built something very similar for my company internally. The idea was that that the maintenance of the code is on the agent and the code is purely an optimization. If it breaks the agent runs it iteratively, fixes the code for next time. Happy to replace my tool with this and see how it does!
Re: Show HN: Libretto – Making AI browser automations deterministic
#23Re: Show HN: Libretto – Making AI browser automations deterministic
#24Re: Show HN: Libretto – Making AI browser automations deterministic
#25[flagged]
Re: Show HN: Libretto – Making AI browser automations deterministic
#26I'm also using Playwright, to automate a platform that has a maze of iframes, referer links, etc. Hopefully I can replace the internals with a script I get from this project.
Re: Show HN: Libretto – Making AI browser automations deterministic
#27Re: Show HN: Libretto – Making AI browser automations deterministic
#28Re: Show HN: Libretto – Making AI browser automations deterministic
#29I literally _just_ put up an announcement on our internal Slack of a tool I had spent a few weeks trying to get right. Strange to post the announcement and, literally the same day, see a better, publicly available toolkit to do enable that very workflow! I'm also using Playwright, to automate a platform that has a maze of iframes, referer links, etc. Hopefully I can replace the internals with a script I get from this…
Re: Show HN: Libretto – Making AI browser automations deterministic
#30I like the pre-gen approach! Curious how it responds to JS that changes how components are rendered at run-time.
- Libretto prefers network requests over DOM interaction when possible, so this will circumvent a lot of complex JS rendering issues
- When you do need the DOM, playwright can handle a lot of the complexity out of the box: playwright will re-query the live DOM at action time and automatically wait for elements to populate. Libretto is also set up to pick selectors like data-testid, aria-label, role, id over class names or positional stuff that's likely to be dynamic.
- At the end of the day the files still live as code so you could always just throw a browser agent at it to handle a part of a workflow if nothing else works