Genius I love it!
HN user
theredsix
Are you guys going to follow up with a paper showing EDEN results match or beat turboquant for needle in a haystack benchmarks?
With AI you actually don't need to choose anymore. Well laid out abstractions actually make AI generate code faster and more accurately. Spending the time in camp 2 to design well and then using AI like camp 1 gives you the best of both worlds.
Extrapolating the benchmarks, this would imply the best RYS 27B is capable of out performing the 397B MoE?
super clever and awesome!
The freeze sometimes does capture in between states. What I've seen the agent does in those cases is that it recognizes it's in between states and calls browser_wait(). Where the agent goes off the rails isn't a snapshot in the middle of a state transition, (it's smart enough to know to retry in that case), it's when the DOM changes after the agent believes the page has settled.
For async, lots of people smarter than me working on the smarter agent problem. Though there's a latency floor with inference due to prompt processing, and output generation. Without tools like ABP, the LLM is always aiming at a moving target.
*bows
It's a long shot but getting ABP to be a first party citizen alongside CDP would be my dream!
Right now, it's evading all anti-botting detectors I've tested it on. I believe it's due to the fact it runs in headful mode and I've removed all detectable CDP signatures. Input events are also simulated at a system level (typing is at 200 WPM) so it's very hard for a page's javascript to detect it's not in a human operated chrome. A lot of detection on headless happens due to the webGPU capabilities being disabled since a modern computer is very unlikely to not support those. You could also wire up one of the Heretic models as a dedicated Captcha solver, I recommend Qwen 3.5 27b Heretic! https://huggingface.co/coder3101/Qwen3.5-27B-heretic
Maintaining the fork isn't so bad, the core chromium changes are only a few hundred lines and I was able to extend already existing concept like debugger pausing and virtualtime emulation while riding off mojo IPC for cross thread communications.
Exactly! This race condition is exactly the category of problems ABP will solve.
Yes agreed, added to the roadmap!
hmm, like adding an optional css selector for targeting?
It runs in headful mode and all control signals are passed in as system events so it bypasses the problems browserbase identified.
I've consolidated most of the changes in chrome/browser/abp and used shim's for the other modifications so rebase is light and handleable by Claude. I'd love to get this upstreamed. An intro to the chromium maintenance team would be greatly appreciated!
/superpowers! that plugin is the GOAT
those are factored into the wait heuristic only if there's a navigation event since clicks on an already loaded page won't trigger those. You can point Claude/codex at https://github.com/theredsix/agent-browser-protocol/tree/dev... and have it walk you through the wait heuristic step by step.
Good question! ABP keeps a list of all same/parent/sibling network request and wait for them to complete within a timeout. If the timeout hits, it'll still freeze and screenshot back to the agent. There's a browser_wait() that the agent can call with increased timeouts to wait for network requests + DOM changes.
Great insight! ABP exposes display resolution controls right now. I've noticed almost zero reCAPTCHAs during testing compared puppeteer stealth or other packages. Regarding the freezing mechanic, virtualtime is paused as well and the entire browser clock is captured so it would be very hard for a page's JavaScript to notice the time drift unless they were querying an external API clock.
Updated the table!
Yeah, I noticed CPU use goes to near zero during the pausing phase. You can also trigger pause via REST/MCP so a script can take advantage of these abilities as well.
agent-browser's biggest selling point is a CLI wrapper around CDP/puppeteer for context management. It'll have mostly the same pros/cons as CDP on the table.
I tweeted at the OSUNLP and they're backed up on eval validation. In the meantime, here's the benchmark repo with the saved runs and also instructions on how to run it locally. https://github.com/theredsix/abp-online-mind2web-results
90% average with 85.51% hard!
Totally, I feel that CDP was designed for a different category of automations.
Op here, happy to answer any question!
Exactly, the harness or protocol can matter just as much!
The difference is that we make browser use turn-based and return a single structured result per action.
With most other tools, the model is interacting with a live browser and effectively has to reason through a stream of low-level events while the page keeps changing. We instead freeze the page, let the model request one action, execute it, allow all resulting browser events to play out, then freeze again and return one bundled response with everything that happened plus the new stable page state.
So the model isn’t chasing a moving UI or event stream. It gets one grounded step at a time. A big part of the performance gain seems to come from that holistic action envelope.
Hi HN, op here! This is an open source browser protocol for LLM agents.
The browser shows the model the current page, the model chooses the next action, and the browser returns the new state. Between steps, JavaScript and time are frozen so the page stays still while the model thinks.
That makes things like ecommerce shopping and popup-heavy web app workflows much more reliable.
Using this setup, the project gets ~90% on Online Mind2Web. My bet is that browser agents need a protocol designed for models, not just wrappers around CDP.
This is one of those hacker news posts that you stumble upon and see 2 genius ideas within the span of as many paragraphs. Thanks again for sharing the diffusion based labeling algorithm. Truly demonstrates a mastery and understanding of what diffusion is capable of.