frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Workflow Use – Deterministic, self-healing browser automation (RPA 2.0)

https://github.com/browser-use/workflow-use
69•gregpr07•10mo ago
Hey HN – Gregor & Magnus here again.

A few months ago, we launched Browser Use (https://news.ycombinator.com/item?id=43173378), which let LLMs perform tasks in the browser using natural language prompts. It was great for one-off tasks like booking flights or finding products—but we soon realized enterprises have somewhat different needs:

They typically have one workflow with dynamic variables (e.g., filling out a form and downloading a PDF) that they want to reliably run a million times without breaking. Pure LLM agents were slow, expensive, and unpredictable for these high-frequency tasks.

So we just started working on Workflow Use:

- You show the browser what to do (by manually recording steps; show don’t tell).

- An LLM converts these recordings into deterministic scripts with variables (scripts include AI steps as well, where it’s 100% agentic)

- Scripts run reliably, 10x faster, and ~90% cheaper than Browser Use.

- If a step breaks, workflow will fallback to Browser Use and agentically run the step. (This self-healing functionality is still very early.)

This project just kicked off, so lots of things will break, it’s definitely not production-ready yet, and plenty of stuff is still missing (like a solid editor and proper self-healing). But we wanted to share early, get feedback, and figure out what workflows you’d want to automate this way.

Try it out and let us know what you think!

Comments

pzullo•10mo ago
Cool stuff!
cdolan•10mo ago
This is amazing. We've been using BrowserUser to try and create deterministic playwright scripts for months with mixed results.

So, so, so excited to see this

MagMueller•10mo ago
In the main library this feature could help you with that: https://github.com/browser-use/browser-use/pull/1437
deepdarkforest•10mo ago
Very cool. 1) How do you deal with timings? If a step includes clicking on a link or something that needs loading, then if you just fire off the generated playwright code at at once, some steps might fail because the xpath is not there yet. So to be safe, i'm guessing you would have to wait using the difference in the timestamps in the json. 2. For self healing, we worked on something similar, and we found it's very easy to get off the rails if one step fails because if your assertions of if the fix was correct are off, then the next and next steps will also fail etc. The most stable way was to just regenerate all steps if a step fails in 2 attempts (2 runs of the flow) consecutively. If the xpath is broken for a step, very likely the subsequent ones won't be worth healing individually.
gregpr07•10mo ago
1) we made this sick function in browser use library which analyses when there are no more requests going through - so we just reuse that!

2) yeah good question. The end goal is to completely regenerate the flow if it breaks (let browser use explore the “new” website and update the original flow). But let’s see, soo much could be done here!

What did you work on btw?

deepdarkforest•10mo ago
1. Oh yes right. I remember trying it out thinking it was going to be brittle because of analytics etc but it filters for those surprisingly well.

2. We are working on https://www.launchskylight.com/ , agentic QA. For the self onboarding version we are using pure CUA without caching. (We wanted to avoid playwright to make it more flexible for canvas+iframe based apps,where we found HTML based approaches like browser-use limited, and to support desktop apps in the future).

We are betaing caching internally for customers, and releasing it for the self-onboarding soon. We use CUA actions for caching instead of playwright. Caching with pixel native models is def a bit more brittle for clicks and we focus on purely vision based analysis to decide to proceed or not. I think for scaling though you are 100% right, screenshots every step for validating are okay/worth it, but running an agent non-deterministically for actions is def an overkill for enterprise, that was what we found as well.

Geminis video understanding is also an interesting way to analyze what went wrong in more interactive apps. Apart from that i think we share quite a bit of the core thinking, would be interested to chat, will DM!

crazymoka•10mo ago
So I can use this and it will pull new data from a database I can use to have it fill out a form? And I can trigger it when I need it to run with the updated form information?
MagMueller•10mo ago
Yes so you can run the same form over and over again with different input variables, very reliable, fast and cheap
petethomas•10mo ago
It's not mentioned here but Kapwork contributed the beginnings of this work in a PR a couple weeks ago: https://github.com/browser-use/browser-use/pull/1437. Thank you Gregor & Magnus for the great tech and all you're doing for the community.
rammy1234•10mo ago
seems similar to selenium plugin for firefox, minus the scripting it generates.
vasusen•10mo ago
Very cool evolution!

Really great to see the fallback to the agentic run when the automation breaks. For our e2e testing browser automation at Donobu, we independently arrived at the same pattern and have been impressed with how well it works. Automatic self-healed PR example here: https://github.com/donobu-inc/playwright-flows/pull/6/files

edit: typo

ProofHouse•10mo ago
Can utilizing Chrome Extensions be added? It seems no one has and would be a critical bridge to many browser tasks
nico•10mo ago
Yes. Also, would love something that can run directly in my browser with my sessions

There’s a lot of websites that are super hostile to automation and make it really hard to do simple, small, but repetitive stuff with things like playwright, selenium, chromedriver

casslin•10mo ago
we built a chrome extension supporting browser use and can run locally in ur browser: https://github.com/nanobrowser/nanobrowser, feel free to implement workflow use on top of our code base in typescript. Love to learn how it works!
casslin•10mo ago
we built a chrome extension supporting browser use: https://github.com/nanobrowser/nanobrowser, feel free to implement workflow use on top of our code base in typescript. Love to learn how it works!
Stiopa•10mo ago
Haha was just thinking last week there should be a tool called “show don’t tell” that infers a routine from recording, great minds think alike :)) Awesome feature guys, looking forward to playing around!
ListeningPie•10mo ago
We use selenium for RPAs. Saving this as an alternative to explore.
Richardson143•10mo ago
This is a really interesting direction, Gregor & Magnus! You're spot on about enterprises needing more robust and self-healing solutions for their high-frequency automation.

It's true that many are looking into self-healing for existing automation scripts; from what I've seen, tools like Healenium are gaining some traction in this space. However, I agree that a Browser Use-like approach also holds a lot of promise here.

My thinking on how this could be achieved with AI agents like Browser Use is to run the existing automation scripts as usual. If a script breaks due to an "element not found" exception or similar issues, the AI agent could then be triggered to analyze the page, identify the correct new locator for the problematic element, and dynamically update or "heal" the script. I've actually put together a small proof-of-concept demonstrating this idea using Browser Use: https://www.loom.com/share/1af87d78d6814512b17a8f949c28ef13?...

I had explored a similar concept previously with Lavague setup here: https://www.loom.com/share/9b0c7cf0bdd6492f885a2c974ca8a4be?...

Another avenue, particularly relevant for existing test suites, is how many QA teams manage their locators. Often, these are centralized in files like POM.xml (for Java/Maven projects) or external spreadsheets/CSVs. An AI agent could potentially be used to proactively scan the application and update these locator repositories.

For instance,

I've experimented with a workflow where Browser Use updates a CSV file of locators weekly based on changes detected on the website: https://www.loom.com/share/821f80fcb0694be4bd4d979e94900990?...

Excited to see how Workflow Use evolves, especially the self-healing aspects!

casslin•10mo ago
If any one wanna try it in browser can try implement it on our chrome extension code base in typescript: https://github.com/nanobrowser/nanobrowser, we support browser use and re wrote its code in typescript, not yet supporting workflow use and love to hear how it works from community!
dmos62•10mo ago
Care to share your thoughts on muscle-mem, the recent, related "meta-tool" for caching "agent trajectories"? https://github.com/pig-dot-dev/muscle-mem
gregpr07•10mo ago
I think it's awesome (we are close friends with Erik from Pig so slightly biased) - one extreme is Browser Use, which is just an agent that does everything for the first time, the other extreme is Workflow Use, which is almost deterministic. I think the winner product lies somewhere in the middle - Browser Use + Cache is easier to do for browser trajectories than for pure images! We will definitely try this direction!
joshstrange•10mo ago
I love the use of reusable non-LLM code for the "happy path" and only using the LLM to create a workflow or repair it.

One area for improve seems to be the checkboxes/radio buttons (possibility other input types?) given the demo didn't pick up on that (it did make the same selections but it didn't recognize this was a multiple-choice input). It might be useful to have a step before creating the JSON where it asks the user some follow up questions like, "Here are the inputs I found and my understanding of their data type". And then go through each input asking for a default value and maybe even clarification on "Should we even prompt for this?" (Example, always select country X).

I wonder if, for workflow repair purposes, it would be helpful to, at recording time, save more contextual information about the fields you are filling/clicking on. "This a country selector", "This is the birthdate field", etc. So that if the xpath/css/etc fails you can give the LLM doing the repair work a description of what it's looking for.

I'm excited to see more efforts in QA testing with things like this. Brittle e2e tests are the bane of my (limited) automated experience and the ability to auto-heal and/or deal with minor deviations would be wonderful.

mparis•9mo ago
This project resonates with me a lot. Call me old-fashioned, but I still appreciate a nice ole' deterministic program that I can fully understand and operate reliably.

With that said, there is undoubtedly still room to innovate on the long-tail of RPA. In the healthcare domain, for example, there are 1000s of sites that might need to be scraped occasionally, somewhat transactionally as e.g. a new patient comes in. However, there are other sites that need regular attention and even the smallest of errors can be catastrophic.

The combination of browser-use & workflow-use seems like a really natural fit for such use cases. Nice work!

We've also experimented with the self-healing ideas you are playing with here. In our case, we wrote a chrome extension that connects to an LLM of your choice as well as a process running locally on your machine. You write a description of the job to be done, click around the browser, and then click "go". The extension grabs all the context, asks the LLM to write a typescript program, sends that typescript program to the local process where it is compiled & type-checked against our internal workflow harness, and then immediately allows you to execute the program against your existing, open browser context.

We've found that even this basic loop is outrageously productive. If the script doesn't do what you expect, there is a big "FIX IT" button that lets you tweak and try again. For the record, we're not a competitor and have no intention of trying to sell/offer this extension externally.

I suspect one of the harder parts about this whole ordeal will be how to integrate with the rest of the workflow stack. For us, we've really appreciated the fact that our extension outputs typescript that seamlessly fits into our stack and that is more easily verifiable than JSON. The TS target also allows us to do nice things like tell the self-healing bot which libraries will be available so that e.g. it can use `date-fns` instead of `Date`. We've also thought about adopting more traditional workflow tools like Temporal to manage the core workflow logic, vending out the browser connectivity remotely. Curious how you guys are thinking about this?

Rooting for you guys, we will be sure to keep an eye on your progress and consider adopting the technology as it matures!

PS. If you like things like this, want to work at a growing health-tech startup, and live in Boston, we're hiring! Reach out here: https://wgwx7h7be0p.typeform.com/to/LV0t8OjI

Show HN: Channel Surfer – Watch YouTube like it’s cable TV

https://channelsurfer.tv
549•kilroy123•3d ago•161 comments

Show HN: GitAgent – An open standard that turns any Git repo into an AI agent

https://www.gitagent.sh/
2•sivasurend•53m ago•0 comments

Show HN: AgentArmor – open-source 8-layer security framework for AI agents

https://github.com/Agastya910/agentarmor
8•AgastyaTodi•4h ago•3 comments

Show HN: Got tired of AI copilots just autocompleting, and built Glass Arc

4•Conquer01•1h ago•1 comments

Show HN: I built Wool, a lightweight distributed Python runtime

https://github.com/wool-labs/wool
4•bzurak•1h ago•2 comments

Show HN: Context Gateway – Compress agent context before it hits the LLM

https://github.com/Compresr-ai/Context-Gateway
85•ivzak•20h ago•50 comments

Show HN: What was the world listening to? Music charts, 20 countries (1940–2025)

https://88mph.fm/
106•matteocantiello•3d ago•46 comments

Show HN: SupplementDEX – The Evidence-Based Supplement Database

https://supplementdex.com/
11•richarlidad•13h ago•0 comments

Show HN: Decision Guardian now comes with CLI

3•iamalizaidi•2h ago•0 comments

Show HN: Axe – A 12MB binary that replaces your AI framework

https://github.com/jrswab/axe
217•jrswab•2d ago•122 comments

Show HN: Svglib a SVG parser and renderer for Windows

https://github.com/bibhas2/svglib
13•leopoldj•3d ago•1 comments

Show HN: I wrote my first neural network

https://github.com/stupid-genius/Perceptron
6•allenng•14h ago•0 comments

Show HN: OneCLI – Vault for AI Agents in Rust

https://github.com/onecli/onecli
157•guyb3•1d ago•50 comments

Show HN: Rudel – Claude Code Session Analytics

https://github.com/obsessiondb/rudel
141•keks0r•2d ago•83 comments

Show HN: Understudy – Teach a desktop agent by demonstrating a task once

https://github.com/understudy-ai/understudy
114•bayes-song•1d ago•41 comments

Show HN: Chat Daddy – all your LLM chats in a super light terminal

https://lucianlabs.ca/blog/chat-daddy.html
2•elijahlucian•9h ago•0 comments

Show HN: Hardened OpenClaw on AWS with Terraform

https://github.com/infrahouse/terraform-aws-openclaw
7•aleks2•16h ago•2 comments

Show HN: s@: decentralized social networking over static sites

http://satproto.org/
410•remywang•2d ago•219 comments

Show HN: Vibe-budget – CLI to estimate LLM costs before you start vibe coding

https://www.npmjs.com/package/vibe-budget
3•gabriel_quec016•11h ago•0 comments

Show HN: AgentLog – a lightweight event bus for AI agents using JSONL logs

https://github.com/sumant1122/agentlog
7•paperplaneflyr•19h ago•0 comments

Show HN: Open-source browser for AI agents

https://github.com/theredsix/agent-browser-protocol
154•theredsix•2d ago•53 comments

Show HN: Kube-pilot – AI engineer that lives in your Kubernetes cluster

https://github.com/fbongiovanni29/kube-pilot
2•noobernetes•11h ago•0 comments

Show HN: Anthrology – Time-Traveling Radio

https://anthrology.site/
7•airstrike•18h ago•5 comments

Show HN: Mutate – free inline text replacement for Mac

https://github.com/robert-v/Mutate-public
3•rob3rth•18h ago•1 comments

Show HN: DJX – Convention over Configuration for Django (Rails-Inspired CLI)

5•RedsonNgwira•18h ago•2 comments

Show HN: Vanilla JavaScript refinery simulator built to explain job to my kids

https://fuelingcuriosity.com/game.html
125•fuelingcurious•2d ago•48 comments

Show HN: I built a tool that watches webpages and exposes changes as RSS

https://sitespy.app
318•vkuprin•2d ago•77 comments

Show HN: Simple plugin to get Claude Code to listen to you

https://www.gopeek.ai
14•itsankur•15h ago•4 comments

Show HN: Fatal Core Dump – a debugging murder mystery played with GDB

https://www.robopenguins.com/fatal_core_dump/
3•axlan•14h ago•0 comments

Show HN: Web-based ANSI art viewer

https://sure.is/ansi/
28•lubujackson•4d ago•7 comments